// Copyright 2025 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 cloud. */
    namespace cloud {

        /** Namespace dialogflow. */
        namespace dialogflow {

            /** Namespace cx. */
            namespace cx {

                /** Namespace v3. */
                namespace v3 {

                    /** Properties of an AdvancedSettings. */
                    interface IAdvancedSettings {

                        /** AdvancedSettings audioExportGcsDestination */
                        audioExportGcsDestination?: (google.cloud.dialogflow.cx.v3.IGcsDestination|null);

                        /** AdvancedSettings speechSettings */
                        speechSettings?: (google.cloud.dialogflow.cx.v3.AdvancedSettings.ISpeechSettings|null);

                        /** AdvancedSettings dtmfSettings */
                        dtmfSettings?: (google.cloud.dialogflow.cx.v3.AdvancedSettings.IDtmfSettings|null);

                        /** AdvancedSettings loggingSettings */
                        loggingSettings?: (google.cloud.dialogflow.cx.v3.AdvancedSettings.ILoggingSettings|null);
                    }

                    /** Represents an AdvancedSettings. */
                    class AdvancedSettings implements IAdvancedSettings {

                        /**
                         * Constructs a new AdvancedSettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IAdvancedSettings);

                        /** AdvancedSettings audioExportGcsDestination. */
                        public audioExportGcsDestination?: (google.cloud.dialogflow.cx.v3.IGcsDestination|null);

                        /** AdvancedSettings speechSettings. */
                        public speechSettings?: (google.cloud.dialogflow.cx.v3.AdvancedSettings.ISpeechSettings|null);

                        /** AdvancedSettings dtmfSettings. */
                        public dtmfSettings?: (google.cloud.dialogflow.cx.v3.AdvancedSettings.IDtmfSettings|null);

                        /** AdvancedSettings loggingSettings. */
                        public loggingSettings?: (google.cloud.dialogflow.cx.v3.AdvancedSettings.ILoggingSettings|null);

                        /**
                         * Creates a new AdvancedSettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns AdvancedSettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IAdvancedSettings): google.cloud.dialogflow.cx.v3.AdvancedSettings;

                        /**
                         * Encodes the specified AdvancedSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AdvancedSettings.verify|verify} messages.
                         * @param message AdvancedSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IAdvancedSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified AdvancedSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AdvancedSettings.verify|verify} messages.
                         * @param message AdvancedSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IAdvancedSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an AdvancedSettings message.
                         * @param message Plain 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 AdvancedSettings message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns AdvancedSettings
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.AdvancedSettings;

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

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

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

                    namespace AdvancedSettings {

                        /** Properties of a SpeechSettings. */
                        interface ISpeechSettings {

                            /** SpeechSettings endpointerSensitivity */
                            endpointerSensitivity?: (number|null);

                            /** SpeechSettings noSpeechTimeout */
                            noSpeechTimeout?: (google.protobuf.IDuration|null);

                            /** SpeechSettings useTimeoutBasedEndpointing */
                            useTimeoutBasedEndpointing?: (boolean|null);

                            /** SpeechSettings models */
                            models?: ({ [k: string]: string }|null);
                        }

                        /** Represents a SpeechSettings. */
                        class SpeechSettings implements ISpeechSettings {

                            /**
                             * Constructs a new SpeechSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.AdvancedSettings.ISpeechSettings);

                            /** SpeechSettings endpointerSensitivity. */
                            public endpointerSensitivity: number;

                            /** SpeechSettings noSpeechTimeout. */
                            public noSpeechTimeout?: (google.protobuf.IDuration|null);

                            /** SpeechSettings useTimeoutBasedEndpointing. */
                            public useTimeoutBasedEndpointing: boolean;

                            /** SpeechSettings models. */
                            public models: { [k: string]: string };

                            /**
                             * Creates a new SpeechSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns SpeechSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.AdvancedSettings.ISpeechSettings): google.cloud.dialogflow.cx.v3.AdvancedSettings.SpeechSettings;

                            /**
                             * Encodes the specified SpeechSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AdvancedSettings.SpeechSettings.verify|verify} messages.
                             * @param message SpeechSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.AdvancedSettings.ISpeechSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified SpeechSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AdvancedSettings.SpeechSettings.verify|verify} messages.
                             * @param message SpeechSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.AdvancedSettings.ISpeechSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a SpeechSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns SpeechSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.AdvancedSettings.SpeechSettings;

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

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

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

                        /** Properties of a DtmfSettings. */
                        interface IDtmfSettings {

                            /** DtmfSettings enabled */
                            enabled?: (boolean|null);

                            /** DtmfSettings maxDigits */
                            maxDigits?: (number|null);

                            /** DtmfSettings finishDigit */
                            finishDigit?: (string|null);

                            /** DtmfSettings interdigitTimeoutDuration */
                            interdigitTimeoutDuration?: (google.protobuf.IDuration|null);

                            /** DtmfSettings endpointingTimeoutDuration */
                            endpointingTimeoutDuration?: (google.protobuf.IDuration|null);
                        }

                        /** Represents a DtmfSettings. */
                        class DtmfSettings implements IDtmfSettings {

                            /**
                             * Constructs a new DtmfSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.AdvancedSettings.IDtmfSettings);

                            /** DtmfSettings enabled. */
                            public enabled: boolean;

                            /** DtmfSettings maxDigits. */
                            public maxDigits: number;

                            /** DtmfSettings finishDigit. */
                            public finishDigit: string;

                            /** DtmfSettings interdigitTimeoutDuration. */
                            public interdigitTimeoutDuration?: (google.protobuf.IDuration|null);

                            /** DtmfSettings endpointingTimeoutDuration. */
                            public endpointingTimeoutDuration?: (google.protobuf.IDuration|null);

                            /**
                             * Creates a new DtmfSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns DtmfSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.AdvancedSettings.IDtmfSettings): google.cloud.dialogflow.cx.v3.AdvancedSettings.DtmfSettings;

                            /**
                             * Encodes the specified DtmfSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AdvancedSettings.DtmfSettings.verify|verify} messages.
                             * @param message DtmfSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.AdvancedSettings.IDtmfSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified DtmfSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AdvancedSettings.DtmfSettings.verify|verify} messages.
                             * @param message DtmfSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.AdvancedSettings.IDtmfSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a DtmfSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns DtmfSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.AdvancedSettings.DtmfSettings;

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

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

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

                        /** Properties of a LoggingSettings. */
                        interface ILoggingSettings {

                            /** LoggingSettings enableStackdriverLogging */
                            enableStackdriverLogging?: (boolean|null);

                            /** LoggingSettings enableInteractionLogging */
                            enableInteractionLogging?: (boolean|null);

                            /** LoggingSettings enableConsentBasedRedaction */
                            enableConsentBasedRedaction?: (boolean|null);
                        }

                        /** Represents a LoggingSettings. */
                        class LoggingSettings implements ILoggingSettings {

                            /**
                             * Constructs a new LoggingSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.AdvancedSettings.ILoggingSettings);

                            /** LoggingSettings enableStackdriverLogging. */
                            public enableStackdriverLogging: boolean;

                            /** LoggingSettings enableInteractionLogging. */
                            public enableInteractionLogging: boolean;

                            /** LoggingSettings enableConsentBasedRedaction. */
                            public enableConsentBasedRedaction: boolean;

                            /**
                             * Creates a new LoggingSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns LoggingSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.AdvancedSettings.ILoggingSettings): google.cloud.dialogflow.cx.v3.AdvancedSettings.LoggingSettings;

                            /**
                             * Encodes the specified LoggingSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AdvancedSettings.LoggingSettings.verify|verify} messages.
                             * @param message LoggingSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.AdvancedSettings.ILoggingSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified LoggingSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AdvancedSettings.LoggingSettings.verify|verify} messages.
                             * @param message LoggingSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.AdvancedSettings.ILoggingSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a LoggingSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns LoggingSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.AdvancedSettings.LoggingSettings;

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

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

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

                    /** Properties of a GcsDestination. */
                    interface IGcsDestination {

                        /** GcsDestination uri */
                        uri?: (string|null);
                    }

                    /** Represents a GcsDestination. */
                    class GcsDestination implements IGcsDestination {

                        /**
                         * Constructs a new GcsDestination.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGcsDestination);

                        /** GcsDestination uri. */
                        public uri: string;

                        /**
                         * Creates a new GcsDestination instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GcsDestination instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGcsDestination): google.cloud.dialogflow.cx.v3.GcsDestination;

                        /**
                         * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GcsDestination.verify|verify} messages.
                         * @param message GcsDestination message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GcsDestination.verify|verify} messages.
                         * @param message GcsDestination message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

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

                        /**
                         * Constructs a new Agents 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 Agents 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): Agents;

                        /**
                         * Calls ListAgents.
                         * @param request ListAgentsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListAgentsResponse
                         */
                        public listAgents(request: google.cloud.dialogflow.cx.v3.IListAgentsRequest, callback: google.cloud.dialogflow.cx.v3.Agents.ListAgentsCallback): void;

                        /**
                         * Calls ListAgents.
                         * @param request ListAgentsRequest message or plain object
                         * @returns Promise
                         */
                        public listAgents(request: google.cloud.dialogflow.cx.v3.IListAgentsRequest): Promise<google.cloud.dialogflow.cx.v3.ListAgentsResponse>;

                        /**
                         * Calls GetAgent.
                         * @param request GetAgentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Agent
                         */
                        public getAgent(request: google.cloud.dialogflow.cx.v3.IGetAgentRequest, callback: google.cloud.dialogflow.cx.v3.Agents.GetAgentCallback): void;

                        /**
                         * Calls GetAgent.
                         * @param request GetAgentRequest message or plain object
                         * @returns Promise
                         */
                        public getAgent(request: google.cloud.dialogflow.cx.v3.IGetAgentRequest): Promise<google.cloud.dialogflow.cx.v3.Agent>;

                        /**
                         * Calls CreateAgent.
                         * @param request CreateAgentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Agent
                         */
                        public createAgent(request: google.cloud.dialogflow.cx.v3.ICreateAgentRequest, callback: google.cloud.dialogflow.cx.v3.Agents.CreateAgentCallback): void;

                        /**
                         * Calls CreateAgent.
                         * @param request CreateAgentRequest message or plain object
                         * @returns Promise
                         */
                        public createAgent(request: google.cloud.dialogflow.cx.v3.ICreateAgentRequest): Promise<google.cloud.dialogflow.cx.v3.Agent>;

                        /**
                         * Calls UpdateAgent.
                         * @param request UpdateAgentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Agent
                         */
                        public updateAgent(request: google.cloud.dialogflow.cx.v3.IUpdateAgentRequest, callback: google.cloud.dialogflow.cx.v3.Agents.UpdateAgentCallback): void;

                        /**
                         * Calls UpdateAgent.
                         * @param request UpdateAgentRequest message or plain object
                         * @returns Promise
                         */
                        public updateAgent(request: google.cloud.dialogflow.cx.v3.IUpdateAgentRequest): Promise<google.cloud.dialogflow.cx.v3.Agent>;

                        /**
                         * Calls DeleteAgent.
                         * @param request DeleteAgentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteAgent(request: google.cloud.dialogflow.cx.v3.IDeleteAgentRequest, callback: google.cloud.dialogflow.cx.v3.Agents.DeleteAgentCallback): void;

                        /**
                         * Calls DeleteAgent.
                         * @param request DeleteAgentRequest message or plain object
                         * @returns Promise
                         */
                        public deleteAgent(request: google.cloud.dialogflow.cx.v3.IDeleteAgentRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls ExportAgent.
                         * @param request ExportAgentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public exportAgent(request: google.cloud.dialogflow.cx.v3.IExportAgentRequest, callback: google.cloud.dialogflow.cx.v3.Agents.ExportAgentCallback): void;

                        /**
                         * Calls ExportAgent.
                         * @param request ExportAgentRequest message or plain object
                         * @returns Promise
                         */
                        public exportAgent(request: google.cloud.dialogflow.cx.v3.IExportAgentRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls RestoreAgent.
                         * @param request RestoreAgentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public restoreAgent(request: google.cloud.dialogflow.cx.v3.IRestoreAgentRequest, callback: google.cloud.dialogflow.cx.v3.Agents.RestoreAgentCallback): void;

                        /**
                         * Calls RestoreAgent.
                         * @param request RestoreAgentRequest message or plain object
                         * @returns Promise
                         */
                        public restoreAgent(request: google.cloud.dialogflow.cx.v3.IRestoreAgentRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ValidateAgent.
                         * @param request ValidateAgentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and AgentValidationResult
                         */
                        public validateAgent(request: google.cloud.dialogflow.cx.v3.IValidateAgentRequest, callback: google.cloud.dialogflow.cx.v3.Agents.ValidateAgentCallback): void;

                        /**
                         * Calls ValidateAgent.
                         * @param request ValidateAgentRequest message or plain object
                         * @returns Promise
                         */
                        public validateAgent(request: google.cloud.dialogflow.cx.v3.IValidateAgentRequest): Promise<google.cloud.dialogflow.cx.v3.AgentValidationResult>;

                        /**
                         * Calls GetAgentValidationResult.
                         * @param request GetAgentValidationResultRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and AgentValidationResult
                         */
                        public getAgentValidationResult(request: google.cloud.dialogflow.cx.v3.IGetAgentValidationResultRequest, callback: google.cloud.dialogflow.cx.v3.Agents.GetAgentValidationResultCallback): void;

                        /**
                         * Calls GetAgentValidationResult.
                         * @param request GetAgentValidationResultRequest message or plain object
                         * @returns Promise
                         */
                        public getAgentValidationResult(request: google.cloud.dialogflow.cx.v3.IGetAgentValidationResultRequest): Promise<google.cloud.dialogflow.cx.v3.AgentValidationResult>;

                        /**
                         * Calls GetGenerativeSettings.
                         * @param request GetGenerativeSettingsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and GenerativeSettings
                         */
                        public getGenerativeSettings(request: google.cloud.dialogflow.cx.v3.IGetGenerativeSettingsRequest, callback: google.cloud.dialogflow.cx.v3.Agents.GetGenerativeSettingsCallback): void;

                        /**
                         * Calls GetGenerativeSettings.
                         * @param request GetGenerativeSettingsRequest message or plain object
                         * @returns Promise
                         */
                        public getGenerativeSettings(request: google.cloud.dialogflow.cx.v3.IGetGenerativeSettingsRequest): Promise<google.cloud.dialogflow.cx.v3.GenerativeSettings>;

                        /**
                         * Calls UpdateGenerativeSettings.
                         * @param request UpdateGenerativeSettingsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and GenerativeSettings
                         */
                        public updateGenerativeSettings(request: google.cloud.dialogflow.cx.v3.IUpdateGenerativeSettingsRequest, callback: google.cloud.dialogflow.cx.v3.Agents.UpdateGenerativeSettingsCallback): void;

                        /**
                         * Calls UpdateGenerativeSettings.
                         * @param request UpdateGenerativeSettingsRequest message or plain object
                         * @returns Promise
                         */
                        public updateGenerativeSettings(request: google.cloud.dialogflow.cx.v3.IUpdateGenerativeSettingsRequest): Promise<google.cloud.dialogflow.cx.v3.GenerativeSettings>;
                    }

                    namespace Agents {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Agents|listAgents}.
                         * @param error Error, if any
                         * @param [response] ListAgentsResponse
                         */
                        type ListAgentsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListAgentsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Agents|getAgent}.
                         * @param error Error, if any
                         * @param [response] Agent
                         */
                        type GetAgentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Agent) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Agents|createAgent}.
                         * @param error Error, if any
                         * @param [response] Agent
                         */
                        type CreateAgentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Agent) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Agents|updateAgent}.
                         * @param error Error, if any
                         * @param [response] Agent
                         */
                        type UpdateAgentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Agent) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Agents|deleteAgent}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteAgentCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Agents|exportAgent}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ExportAgentCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Agents|restoreAgent}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type RestoreAgentCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Agents|validateAgent}.
                         * @param error Error, if any
                         * @param [response] AgentValidationResult
                         */
                        type ValidateAgentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.AgentValidationResult) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Agents|getAgentValidationResult}.
                         * @param error Error, if any
                         * @param [response] AgentValidationResult
                         */
                        type GetAgentValidationResultCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.AgentValidationResult) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Agents|getGenerativeSettings}.
                         * @param error Error, if any
                         * @param [response] GenerativeSettings
                         */
                        type GetGenerativeSettingsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.GenerativeSettings) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Agents|updateGenerativeSettings}.
                         * @param error Error, if any
                         * @param [response] GenerativeSettings
                         */
                        type UpdateGenerativeSettingsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.GenerativeSettings) => void;
                    }

                    /** Properties of a SpeechToTextSettings. */
                    interface ISpeechToTextSettings {

                        /** SpeechToTextSettings enableSpeechAdaptation */
                        enableSpeechAdaptation?: (boolean|null);
                    }

                    /** Represents a SpeechToTextSettings. */
                    class SpeechToTextSettings implements ISpeechToTextSettings {

                        /**
                         * Constructs a new SpeechToTextSettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ISpeechToTextSettings);

                        /** SpeechToTextSettings enableSpeechAdaptation. */
                        public enableSpeechAdaptation: boolean;

                        /**
                         * Creates a new SpeechToTextSettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SpeechToTextSettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ISpeechToTextSettings): google.cloud.dialogflow.cx.v3.SpeechToTextSettings;

                        /**
                         * Encodes the specified SpeechToTextSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SpeechToTextSettings.verify|verify} messages.
                         * @param message SpeechToTextSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ISpeechToTextSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SpeechToTextSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SpeechToTextSettings.verify|verify} messages.
                         * @param message SpeechToTextSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ISpeechToTextSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of an Agent. */
                    interface IAgent {

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

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

                        /** Agent defaultLanguageCode */
                        defaultLanguageCode?: (string|null);

                        /** Agent supportedLanguageCodes */
                        supportedLanguageCodes?: (string[]|null);

                        /** Agent timeZone */
                        timeZone?: (string|null);

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

                        /** Agent avatarUri */
                        avatarUri?: (string|null);

                        /** Agent speechToTextSettings */
                        speechToTextSettings?: (google.cloud.dialogflow.cx.v3.ISpeechToTextSettings|null);

                        /** Agent startFlow */
                        startFlow?: (string|null);

                        /** Agent securitySettings */
                        securitySettings?: (string|null);

                        /** Agent enableStackdriverLogging */
                        enableStackdriverLogging?: (boolean|null);

                        /** Agent enableSpellCorrection */
                        enableSpellCorrection?: (boolean|null);

                        /** Agent enableMultiLanguageTraining */
                        enableMultiLanguageTraining?: (boolean|null);

                        /** Agent locked */
                        locked?: (boolean|null);

                        /** Agent advancedSettings */
                        advancedSettings?: (google.cloud.dialogflow.cx.v3.IAdvancedSettings|null);

                        /** Agent gitIntegrationSettings */
                        gitIntegrationSettings?: (google.cloud.dialogflow.cx.v3.Agent.IGitIntegrationSettings|null);

                        /** Agent textToSpeechSettings */
                        textToSpeechSettings?: (google.cloud.dialogflow.cx.v3.ITextToSpeechSettings|null);

                        /** Agent genAppBuilderSettings */
                        genAppBuilderSettings?: (google.cloud.dialogflow.cx.v3.Agent.IGenAppBuilderSettings|null);

                        /** Agent answerFeedbackSettings */
                        answerFeedbackSettings?: (google.cloud.dialogflow.cx.v3.Agent.IAnswerFeedbackSettings|null);

                        /** Agent personalizationSettings */
                        personalizationSettings?: (google.cloud.dialogflow.cx.v3.Agent.IPersonalizationSettings|null);

                        /** Agent clientCertificateSettings */
                        clientCertificateSettings?: (google.cloud.dialogflow.cx.v3.Agent.IClientCertificateSettings|null);

                        /** Agent satisfiesPzs */
                        satisfiesPzs?: (boolean|null);

                        /** Agent satisfiesPzi */
                        satisfiesPzi?: (boolean|null);
                    }

                    /** Represents an Agent. */
                    class Agent implements IAgent {

                        /**
                         * Constructs a new Agent.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IAgent);

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

                        /** Agent displayName. */
                        public displayName: string;

                        /** Agent defaultLanguageCode. */
                        public defaultLanguageCode: string;

                        /** Agent supportedLanguageCodes. */
                        public supportedLanguageCodes: string[];

                        /** Agent timeZone. */
                        public timeZone: string;

                        /** Agent description. */
                        public description: string;

                        /** Agent avatarUri. */
                        public avatarUri: string;

                        /** Agent speechToTextSettings. */
                        public speechToTextSettings?: (google.cloud.dialogflow.cx.v3.ISpeechToTextSettings|null);

                        /** Agent startFlow. */
                        public startFlow: string;

                        /** Agent securitySettings. */
                        public securitySettings: string;

                        /** Agent enableStackdriverLogging. */
                        public enableStackdriverLogging: boolean;

                        /** Agent enableSpellCorrection. */
                        public enableSpellCorrection: boolean;

                        /** Agent enableMultiLanguageTraining. */
                        public enableMultiLanguageTraining: boolean;

                        /** Agent locked. */
                        public locked: boolean;

                        /** Agent advancedSettings. */
                        public advancedSettings?: (google.cloud.dialogflow.cx.v3.IAdvancedSettings|null);

                        /** Agent gitIntegrationSettings. */
                        public gitIntegrationSettings?: (google.cloud.dialogflow.cx.v3.Agent.IGitIntegrationSettings|null);

                        /** Agent textToSpeechSettings. */
                        public textToSpeechSettings?: (google.cloud.dialogflow.cx.v3.ITextToSpeechSettings|null);

                        /** Agent genAppBuilderSettings. */
                        public genAppBuilderSettings?: (google.cloud.dialogflow.cx.v3.Agent.IGenAppBuilderSettings|null);

                        /** Agent answerFeedbackSettings. */
                        public answerFeedbackSettings?: (google.cloud.dialogflow.cx.v3.Agent.IAnswerFeedbackSettings|null);

                        /** Agent personalizationSettings. */
                        public personalizationSettings?: (google.cloud.dialogflow.cx.v3.Agent.IPersonalizationSettings|null);

                        /** Agent clientCertificateSettings. */
                        public clientCertificateSettings?: (google.cloud.dialogflow.cx.v3.Agent.IClientCertificateSettings|null);

                        /** Agent satisfiesPzs. */
                        public satisfiesPzs?: (boolean|null);

                        /** Agent satisfiesPzi. */
                        public satisfiesPzi?: (boolean|null);

                        /**
                         * Creates a new Agent instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Agent instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IAgent): google.cloud.dialogflow.cx.v3.Agent;

                        /**
                         * Encodes the specified Agent message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Agent.verify|verify} messages.
                         * @param message Agent message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IAgent, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Agent message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Agent.verify|verify} messages.
                         * @param message Agent message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IAgent, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an Agent message.
                         * @param message Plain 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 Agent message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Agent
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Agent;

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

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

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

                    namespace Agent {

                        /** Properties of a GitIntegrationSettings. */
                        interface IGitIntegrationSettings {

                            /** GitIntegrationSettings githubSettings */
                            githubSettings?: (google.cloud.dialogflow.cx.v3.Agent.GitIntegrationSettings.IGithubSettings|null);
                        }

                        /** Represents a GitIntegrationSettings. */
                        class GitIntegrationSettings implements IGitIntegrationSettings {

                            /**
                             * Constructs a new GitIntegrationSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Agent.IGitIntegrationSettings);

                            /** GitIntegrationSettings githubSettings. */
                            public githubSettings?: (google.cloud.dialogflow.cx.v3.Agent.GitIntegrationSettings.IGithubSettings|null);

                            /** GitIntegrationSettings gitSettings. */
                            public gitSettings?: "githubSettings";

                            /**
                             * Creates a new GitIntegrationSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns GitIntegrationSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Agent.IGitIntegrationSettings): google.cloud.dialogflow.cx.v3.Agent.GitIntegrationSettings;

                            /**
                             * Encodes the specified GitIntegrationSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Agent.GitIntegrationSettings.verify|verify} messages.
                             * @param message GitIntegrationSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Agent.IGitIntegrationSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified GitIntegrationSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Agent.GitIntegrationSettings.verify|verify} messages.
                             * @param message GitIntegrationSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Agent.IGitIntegrationSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a GitIntegrationSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns GitIntegrationSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Agent.GitIntegrationSettings;

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

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

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

                        namespace GitIntegrationSettings {

                            /** Properties of a GithubSettings. */
                            interface IGithubSettings {

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

                                /** GithubSettings repositoryUri */
                                repositoryUri?: (string|null);

                                /** GithubSettings trackingBranch */
                                trackingBranch?: (string|null);

                                /** GithubSettings accessToken */
                                accessToken?: (string|null);

                                /** GithubSettings branches */
                                branches?: (string[]|null);
                            }

                            /** Represents a GithubSettings. */
                            class GithubSettings implements IGithubSettings {

                                /**
                                 * Constructs a new GithubSettings.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3.Agent.GitIntegrationSettings.IGithubSettings);

                                /** GithubSettings displayName. */
                                public displayName: string;

                                /** GithubSettings repositoryUri. */
                                public repositoryUri: string;

                                /** GithubSettings trackingBranch. */
                                public trackingBranch: string;

                                /** GithubSettings accessToken. */
                                public accessToken: string;

                                /** GithubSettings branches. */
                                public branches: string[];

                                /**
                                 * Creates a new GithubSettings instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns GithubSettings instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3.Agent.GitIntegrationSettings.IGithubSettings): google.cloud.dialogflow.cx.v3.Agent.GitIntegrationSettings.GithubSettings;

                                /**
                                 * Encodes the specified GithubSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Agent.GitIntegrationSettings.GithubSettings.verify|verify} messages.
                                 * @param message GithubSettings message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3.Agent.GitIntegrationSettings.IGithubSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified GithubSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Agent.GitIntegrationSettings.GithubSettings.verify|verify} messages.
                                 * @param message GithubSettings message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Agent.GitIntegrationSettings.IGithubSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                                /**
                                 * Creates a GithubSettings message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns GithubSettings
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Agent.GitIntegrationSettings.GithubSettings;

                                /**
                                 * Creates a plain object from a GithubSettings message. Also converts values to other types if specified.
                                 * @param message GithubSettings
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3.Agent.GitIntegrationSettings.GithubSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

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

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

                        /** Properties of a GenAppBuilderSettings. */
                        interface IGenAppBuilderSettings {

                            /** GenAppBuilderSettings engine */
                            engine?: (string|null);
                        }

                        /** Represents a GenAppBuilderSettings. */
                        class GenAppBuilderSettings implements IGenAppBuilderSettings {

                            /**
                             * Constructs a new GenAppBuilderSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Agent.IGenAppBuilderSettings);

                            /** GenAppBuilderSettings engine. */
                            public engine: string;

                            /**
                             * Creates a new GenAppBuilderSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns GenAppBuilderSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Agent.IGenAppBuilderSettings): google.cloud.dialogflow.cx.v3.Agent.GenAppBuilderSettings;

                            /**
                             * Encodes the specified GenAppBuilderSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Agent.GenAppBuilderSettings.verify|verify} messages.
                             * @param message GenAppBuilderSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Agent.IGenAppBuilderSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified GenAppBuilderSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Agent.GenAppBuilderSettings.verify|verify} messages.
                             * @param message GenAppBuilderSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Agent.IGenAppBuilderSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a GenAppBuilderSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns GenAppBuilderSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Agent.GenAppBuilderSettings;

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

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

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

                        /** Properties of an AnswerFeedbackSettings. */
                        interface IAnswerFeedbackSettings {

                            /** AnswerFeedbackSettings enableAnswerFeedback */
                            enableAnswerFeedback?: (boolean|null);
                        }

                        /** Represents an AnswerFeedbackSettings. */
                        class AnswerFeedbackSettings implements IAnswerFeedbackSettings {

                            /**
                             * Constructs a new AnswerFeedbackSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Agent.IAnswerFeedbackSettings);

                            /** AnswerFeedbackSettings enableAnswerFeedback. */
                            public enableAnswerFeedback: boolean;

                            /**
                             * Creates a new AnswerFeedbackSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns AnswerFeedbackSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Agent.IAnswerFeedbackSettings): google.cloud.dialogflow.cx.v3.Agent.AnswerFeedbackSettings;

                            /**
                             * Encodes the specified AnswerFeedbackSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Agent.AnswerFeedbackSettings.verify|verify} messages.
                             * @param message AnswerFeedbackSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Agent.IAnswerFeedbackSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified AnswerFeedbackSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Agent.AnswerFeedbackSettings.verify|verify} messages.
                             * @param message AnswerFeedbackSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Agent.IAnswerFeedbackSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                            /**
                             * Verifies an AnswerFeedbackSettings message.
                             * @param message Plain 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 AnswerFeedbackSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns AnswerFeedbackSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Agent.AnswerFeedbackSettings;

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

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

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

                        /** Properties of a PersonalizationSettings. */
                        interface IPersonalizationSettings {

                            /** PersonalizationSettings defaultEndUserMetadata */
                            defaultEndUserMetadata?: (google.protobuf.IStruct|null);
                        }

                        /** Represents a PersonalizationSettings. */
                        class PersonalizationSettings implements IPersonalizationSettings {

                            /**
                             * Constructs a new PersonalizationSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Agent.IPersonalizationSettings);

                            /** PersonalizationSettings defaultEndUserMetadata. */
                            public defaultEndUserMetadata?: (google.protobuf.IStruct|null);

                            /**
                             * Creates a new PersonalizationSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns PersonalizationSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Agent.IPersonalizationSettings): google.cloud.dialogflow.cx.v3.Agent.PersonalizationSettings;

                            /**
                             * Encodes the specified PersonalizationSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Agent.PersonalizationSettings.verify|verify} messages.
                             * @param message PersonalizationSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Agent.IPersonalizationSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified PersonalizationSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Agent.PersonalizationSettings.verify|verify} messages.
                             * @param message PersonalizationSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Agent.IPersonalizationSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a PersonalizationSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns PersonalizationSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Agent.PersonalizationSettings;

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

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

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

                        /** Properties of a ClientCertificateSettings. */
                        interface IClientCertificateSettings {

                            /** ClientCertificateSettings sslCertificate */
                            sslCertificate?: (string|null);

                            /** ClientCertificateSettings privateKey */
                            privateKey?: (string|null);

                            /** ClientCertificateSettings passphrase */
                            passphrase?: (string|null);
                        }

                        /** Represents a ClientCertificateSettings. */
                        class ClientCertificateSettings implements IClientCertificateSettings {

                            /**
                             * Constructs a new ClientCertificateSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Agent.IClientCertificateSettings);

                            /** ClientCertificateSettings sslCertificate. */
                            public sslCertificate: string;

                            /** ClientCertificateSettings privateKey. */
                            public privateKey: string;

                            /** ClientCertificateSettings passphrase. */
                            public passphrase: string;

                            /**
                             * Creates a new ClientCertificateSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ClientCertificateSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Agent.IClientCertificateSettings): google.cloud.dialogflow.cx.v3.Agent.ClientCertificateSettings;

                            /**
                             * Encodes the specified ClientCertificateSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Agent.ClientCertificateSettings.verify|verify} messages.
                             * @param message ClientCertificateSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Agent.IClientCertificateSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ClientCertificateSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Agent.ClientCertificateSettings.verify|verify} messages.
                             * @param message ClientCertificateSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Agent.IClientCertificateSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a ClientCertificateSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ClientCertificateSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Agent.ClientCertificateSettings;

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

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

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

                    /** Properties of a ListAgentsRequest. */
                    interface IListAgentsRequest {

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

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

                        /** ListAgentsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListAgentsRequest. */
                    class ListAgentsRequest implements IListAgentsRequest {

                        /**
                         * Constructs a new ListAgentsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListAgentsRequest);

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

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

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

                        /**
                         * Creates a new ListAgentsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListAgentsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListAgentsRequest): google.cloud.dialogflow.cx.v3.ListAgentsRequest;

                        /**
                         * Encodes the specified ListAgentsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListAgentsRequest.verify|verify} messages.
                         * @param message ListAgentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListAgentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListAgentsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListAgentsRequest.verify|verify} messages.
                         * @param message ListAgentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListAgentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a ListAgentsResponse. */
                    interface IListAgentsResponse {

                        /** ListAgentsResponse agents */
                        agents?: (google.cloud.dialogflow.cx.v3.IAgent[]|null);

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

                    /** Represents a ListAgentsResponse. */
                    class ListAgentsResponse implements IListAgentsResponse {

                        /**
                         * Constructs a new ListAgentsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListAgentsResponse);

                        /** ListAgentsResponse agents. */
                        public agents: google.cloud.dialogflow.cx.v3.IAgent[];

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

                        /**
                         * Creates a new ListAgentsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListAgentsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListAgentsResponse): google.cloud.dialogflow.cx.v3.ListAgentsResponse;

                        /**
                         * Encodes the specified ListAgentsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListAgentsResponse.verify|verify} messages.
                         * @param message ListAgentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListAgentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListAgentsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListAgentsResponse.verify|verify} messages.
                         * @param message ListAgentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListAgentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a GetAgentRequest. */
                    interface IGetAgentRequest {

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

                    /** Represents a GetAgentRequest. */
                    class GetAgentRequest implements IGetAgentRequest {

                        /**
                         * Constructs a new GetAgentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetAgentRequest);

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

                        /**
                         * Creates a new GetAgentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetAgentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetAgentRequest): google.cloud.dialogflow.cx.v3.GetAgentRequest;

                        /**
                         * Encodes the specified GetAgentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetAgentRequest.verify|verify} messages.
                         * @param message GetAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetAgentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetAgentRequest.verify|verify} messages.
                         * @param message GetAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a CreateAgentRequest. */
                    interface ICreateAgentRequest {

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

                        /** CreateAgentRequest agent */
                        agent?: (google.cloud.dialogflow.cx.v3.IAgent|null);
                    }

                    /** Represents a CreateAgentRequest. */
                    class CreateAgentRequest implements ICreateAgentRequest {

                        /**
                         * Constructs a new CreateAgentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICreateAgentRequest);

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

                        /** CreateAgentRequest agent. */
                        public agent?: (google.cloud.dialogflow.cx.v3.IAgent|null);

                        /**
                         * Creates a new CreateAgentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateAgentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICreateAgentRequest): google.cloud.dialogflow.cx.v3.CreateAgentRequest;

                        /**
                         * Encodes the specified CreateAgentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateAgentRequest.verify|verify} messages.
                         * @param message CreateAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICreateAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateAgentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateAgentRequest.verify|verify} messages.
                         * @param message CreateAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICreateAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of an UpdateAgentRequest. */
                    interface IUpdateAgentRequest {

                        /** UpdateAgentRequest agent */
                        agent?: (google.cloud.dialogflow.cx.v3.IAgent|null);

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

                    /** Represents an UpdateAgentRequest. */
                    class UpdateAgentRequest implements IUpdateAgentRequest {

                        /**
                         * Constructs a new UpdateAgentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IUpdateAgentRequest);

                        /** UpdateAgentRequest agent. */
                        public agent?: (google.cloud.dialogflow.cx.v3.IAgent|null);

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

                        /**
                         * Creates a new UpdateAgentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateAgentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IUpdateAgentRequest): google.cloud.dialogflow.cx.v3.UpdateAgentRequest;

                        /**
                         * Encodes the specified UpdateAgentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateAgentRequest.verify|verify} messages.
                         * @param message UpdateAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IUpdateAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateAgentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateAgentRequest.verify|verify} messages.
                         * @param message UpdateAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IUpdateAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an UpdateAgentRequest message.
                         * @param message Plain 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 UpdateAgentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateAgentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.UpdateAgentRequest;

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

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

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

                    /** Properties of a DeleteAgentRequest. */
                    interface IDeleteAgentRequest {

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

                    /** Represents a DeleteAgentRequest. */
                    class DeleteAgentRequest implements IDeleteAgentRequest {

                        /**
                         * Constructs a new DeleteAgentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeleteAgentRequest);

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

                        /**
                         * Creates a new DeleteAgentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteAgentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeleteAgentRequest): google.cloud.dialogflow.cx.v3.DeleteAgentRequest;

                        /**
                         * Encodes the specified DeleteAgentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteAgentRequest.verify|verify} messages.
                         * @param message DeleteAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeleteAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteAgentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteAgentRequest.verify|verify} messages.
                         * @param message DeleteAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeleteAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of an ExportAgentRequest. */
                    interface IExportAgentRequest {

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

                        /** ExportAgentRequest agentUri */
                        agentUri?: (string|null);

                        /** ExportAgentRequest dataFormat */
                        dataFormat?: (google.cloud.dialogflow.cx.v3.ExportAgentRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3.ExportAgentRequest.DataFormat|null);

                        /** ExportAgentRequest environment */
                        environment?: (string|null);

                        /** ExportAgentRequest gitDestination */
                        gitDestination?: (google.cloud.dialogflow.cx.v3.ExportAgentRequest.IGitDestination|null);

                        /** ExportAgentRequest includeBigqueryExportSettings */
                        includeBigqueryExportSettings?: (boolean|null);
                    }

                    /** Represents an ExportAgentRequest. */
                    class ExportAgentRequest implements IExportAgentRequest {

                        /**
                         * Constructs a new ExportAgentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IExportAgentRequest);

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

                        /** ExportAgentRequest agentUri. */
                        public agentUri: string;

                        /** ExportAgentRequest dataFormat. */
                        public dataFormat: (google.cloud.dialogflow.cx.v3.ExportAgentRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3.ExportAgentRequest.DataFormat);

                        /** ExportAgentRequest environment. */
                        public environment: string;

                        /** ExportAgentRequest gitDestination. */
                        public gitDestination?: (google.cloud.dialogflow.cx.v3.ExportAgentRequest.IGitDestination|null);

                        /** ExportAgentRequest includeBigqueryExportSettings. */
                        public includeBigqueryExportSettings: boolean;

                        /**
                         * Creates a new ExportAgentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportAgentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IExportAgentRequest): google.cloud.dialogflow.cx.v3.ExportAgentRequest;

                        /**
                         * Encodes the specified ExportAgentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportAgentRequest.verify|verify} messages.
                         * @param message ExportAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IExportAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportAgentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportAgentRequest.verify|verify} messages.
                         * @param message ExportAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IExportAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an ExportAgentRequest message.
                         * @param message Plain 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 ExportAgentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportAgentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ExportAgentRequest;

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

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

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

                    namespace ExportAgentRequest {

                        /** DataFormat enum. */
                        enum DataFormat {
                            DATA_FORMAT_UNSPECIFIED = 0,
                            BLOB = 1,
                            JSON_PACKAGE = 4
                        }

                        /** Properties of a GitDestination. */
                        interface IGitDestination {

                            /** GitDestination trackingBranch */
                            trackingBranch?: (string|null);

                            /** GitDestination commitMessage */
                            commitMessage?: (string|null);
                        }

                        /** Represents a GitDestination. */
                        class GitDestination implements IGitDestination {

                            /**
                             * Constructs a new GitDestination.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.ExportAgentRequest.IGitDestination);

                            /** GitDestination trackingBranch. */
                            public trackingBranch: string;

                            /** GitDestination commitMessage. */
                            public commitMessage: string;

                            /**
                             * Creates a new GitDestination instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns GitDestination instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.ExportAgentRequest.IGitDestination): google.cloud.dialogflow.cx.v3.ExportAgentRequest.GitDestination;

                            /**
                             * Encodes the specified GitDestination message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportAgentRequest.GitDestination.verify|verify} messages.
                             * @param message GitDestination message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.ExportAgentRequest.IGitDestination, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified GitDestination message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportAgentRequest.GitDestination.verify|verify} messages.
                             * @param message GitDestination message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ExportAgentRequest.IGitDestination, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a GitDestination message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns GitDestination
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ExportAgentRequest.GitDestination;

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

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

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

                    /** Properties of an ExportAgentResponse. */
                    interface IExportAgentResponse {

                        /** ExportAgentResponse agentUri */
                        agentUri?: (string|null);

                        /** ExportAgentResponse agentContent */
                        agentContent?: (Uint8Array|Buffer|string|null);

                        /** ExportAgentResponse commitSha */
                        commitSha?: (string|null);
                    }

                    /** Represents an ExportAgentResponse. */
                    class ExportAgentResponse implements IExportAgentResponse {

                        /**
                         * Constructs a new ExportAgentResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IExportAgentResponse);

                        /** ExportAgentResponse agentUri. */
                        public agentUri?: (string|null);

                        /** ExportAgentResponse agentContent. */
                        public agentContent?: (Uint8Array|Buffer|string|null);

                        /** ExportAgentResponse commitSha. */
                        public commitSha?: (string|null);

                        /** ExportAgentResponse agent. */
                        public agent?: ("agentUri"|"agentContent"|"commitSha");

                        /**
                         * Creates a new ExportAgentResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportAgentResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IExportAgentResponse): google.cloud.dialogflow.cx.v3.ExportAgentResponse;

                        /**
                         * Encodes the specified ExportAgentResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportAgentResponse.verify|verify} messages.
                         * @param message ExportAgentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IExportAgentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportAgentResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportAgentResponse.verify|verify} messages.
                         * @param message ExportAgentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IExportAgentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an ExportAgentResponse message.
                         * @param message Plain 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 ExportAgentResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportAgentResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ExportAgentResponse;

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

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

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

                    /** Properties of a RestoreAgentRequest. */
                    interface IRestoreAgentRequest {

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

                        /** RestoreAgentRequest agentUri */
                        agentUri?: (string|null);

                        /** RestoreAgentRequest agentContent */
                        agentContent?: (Uint8Array|Buffer|string|null);

                        /** RestoreAgentRequest gitSource */
                        gitSource?: (google.cloud.dialogflow.cx.v3.RestoreAgentRequest.IGitSource|null);

                        /** RestoreAgentRequest restoreOption */
                        restoreOption?: (google.cloud.dialogflow.cx.v3.RestoreAgentRequest.RestoreOption|keyof typeof google.cloud.dialogflow.cx.v3.RestoreAgentRequest.RestoreOption|null);
                    }

                    /** Represents a RestoreAgentRequest. */
                    class RestoreAgentRequest implements IRestoreAgentRequest {

                        /**
                         * Constructs a new RestoreAgentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IRestoreAgentRequest);

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

                        /** RestoreAgentRequest agentUri. */
                        public agentUri?: (string|null);

                        /** RestoreAgentRequest agentContent. */
                        public agentContent?: (Uint8Array|Buffer|string|null);

                        /** RestoreAgentRequest gitSource. */
                        public gitSource?: (google.cloud.dialogflow.cx.v3.RestoreAgentRequest.IGitSource|null);

                        /** RestoreAgentRequest restoreOption. */
                        public restoreOption: (google.cloud.dialogflow.cx.v3.RestoreAgentRequest.RestoreOption|keyof typeof google.cloud.dialogflow.cx.v3.RestoreAgentRequest.RestoreOption);

                        /** RestoreAgentRequest agent. */
                        public agent?: ("agentUri"|"agentContent"|"gitSource");

                        /**
                         * Creates a new RestoreAgentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RestoreAgentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IRestoreAgentRequest): google.cloud.dialogflow.cx.v3.RestoreAgentRequest;

                        /**
                         * Encodes the specified RestoreAgentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RestoreAgentRequest.verify|verify} messages.
                         * @param message RestoreAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IRestoreAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RestoreAgentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RestoreAgentRequest.verify|verify} messages.
                         * @param message RestoreAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IRestoreAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    namespace RestoreAgentRequest {

                        /** Properties of a GitSource. */
                        interface IGitSource {

                            /** GitSource trackingBranch */
                            trackingBranch?: (string|null);
                        }

                        /** Represents a GitSource. */
                        class GitSource implements IGitSource {

                            /**
                             * Constructs a new GitSource.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.RestoreAgentRequest.IGitSource);

                            /** GitSource trackingBranch. */
                            public trackingBranch: string;

                            /**
                             * Creates a new GitSource instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns GitSource instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.RestoreAgentRequest.IGitSource): google.cloud.dialogflow.cx.v3.RestoreAgentRequest.GitSource;

                            /**
                             * Encodes the specified GitSource message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RestoreAgentRequest.GitSource.verify|verify} messages.
                             * @param message GitSource message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.RestoreAgentRequest.IGitSource, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified GitSource message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RestoreAgentRequest.GitSource.verify|verify} messages.
                             * @param message GitSource message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.RestoreAgentRequest.IGitSource, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a GitSource message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns GitSource
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.RestoreAgentRequest.GitSource;

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

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

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

                        /** RestoreOption enum. */
                        enum RestoreOption {
                            RESTORE_OPTION_UNSPECIFIED = 0,
                            KEEP = 1,
                            FALLBACK = 2
                        }
                    }

                    /** Properties of a ValidateAgentRequest. */
                    interface IValidateAgentRequest {

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

                        /** ValidateAgentRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a ValidateAgentRequest. */
                    class ValidateAgentRequest implements IValidateAgentRequest {

                        /**
                         * Constructs a new ValidateAgentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IValidateAgentRequest);

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

                        /** ValidateAgentRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new ValidateAgentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ValidateAgentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IValidateAgentRequest): google.cloud.dialogflow.cx.v3.ValidateAgentRequest;

                        /**
                         * Encodes the specified ValidateAgentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ValidateAgentRequest.verify|verify} messages.
                         * @param message ValidateAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IValidateAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ValidateAgentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ValidateAgentRequest.verify|verify} messages.
                         * @param message ValidateAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IValidateAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a GetAgentValidationResultRequest. */
                    interface IGetAgentValidationResultRequest {

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

                        /** GetAgentValidationResultRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetAgentValidationResultRequest. */
                    class GetAgentValidationResultRequest implements IGetAgentValidationResultRequest {

                        /**
                         * Constructs a new GetAgentValidationResultRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetAgentValidationResultRequest);

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

                        /** GetAgentValidationResultRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetAgentValidationResultRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetAgentValidationResultRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetAgentValidationResultRequest): google.cloud.dialogflow.cx.v3.GetAgentValidationResultRequest;

                        /**
                         * Encodes the specified GetAgentValidationResultRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetAgentValidationResultRequest.verify|verify} messages.
                         * @param message GetAgentValidationResultRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetAgentValidationResultRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetAgentValidationResultRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetAgentValidationResultRequest.verify|verify} messages.
                         * @param message GetAgentValidationResultRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetAgentValidationResultRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of an AgentValidationResult. */
                    interface IAgentValidationResult {

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

                        /** AgentValidationResult flowValidationResults */
                        flowValidationResults?: (google.cloud.dialogflow.cx.v3.IFlowValidationResult[]|null);
                    }

                    /** Represents an AgentValidationResult. */
                    class AgentValidationResult implements IAgentValidationResult {

                        /**
                         * Constructs a new AgentValidationResult.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IAgentValidationResult);

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

                        /** AgentValidationResult flowValidationResults. */
                        public flowValidationResults: google.cloud.dialogflow.cx.v3.IFlowValidationResult[];

                        /**
                         * Creates a new AgentValidationResult instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns AgentValidationResult instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IAgentValidationResult): google.cloud.dialogflow.cx.v3.AgentValidationResult;

                        /**
                         * Encodes the specified AgentValidationResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AgentValidationResult.verify|verify} messages.
                         * @param message AgentValidationResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IAgentValidationResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified AgentValidationResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AgentValidationResult.verify|verify} messages.
                         * @param message AgentValidationResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IAgentValidationResult, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an AgentValidationResult message.
                         * @param message Plain 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 AgentValidationResult message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns AgentValidationResult
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.AgentValidationResult;

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

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

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

                    /** Properties of a GetGenerativeSettingsRequest. */
                    interface IGetGenerativeSettingsRequest {

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

                        /** GetGenerativeSettingsRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetGenerativeSettingsRequest. */
                    class GetGenerativeSettingsRequest implements IGetGenerativeSettingsRequest {

                        /**
                         * Constructs a new GetGenerativeSettingsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetGenerativeSettingsRequest);

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

                        /** GetGenerativeSettingsRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetGenerativeSettingsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetGenerativeSettingsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetGenerativeSettingsRequest): google.cloud.dialogflow.cx.v3.GetGenerativeSettingsRequest;

                        /**
                         * Encodes the specified GetGenerativeSettingsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetGenerativeSettingsRequest.verify|verify} messages.
                         * @param message GetGenerativeSettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetGenerativeSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetGenerativeSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetGenerativeSettingsRequest.verify|verify} messages.
                         * @param message GetGenerativeSettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetGenerativeSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of an UpdateGenerativeSettingsRequest. */
                    interface IUpdateGenerativeSettingsRequest {

                        /** UpdateGenerativeSettingsRequest generativeSettings */
                        generativeSettings?: (google.cloud.dialogflow.cx.v3.IGenerativeSettings|null);

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

                    /** Represents an UpdateGenerativeSettingsRequest. */
                    class UpdateGenerativeSettingsRequest implements IUpdateGenerativeSettingsRequest {

                        /**
                         * Constructs a new UpdateGenerativeSettingsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IUpdateGenerativeSettingsRequest);

                        /** UpdateGenerativeSettingsRequest generativeSettings. */
                        public generativeSettings?: (google.cloud.dialogflow.cx.v3.IGenerativeSettings|null);

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

                        /**
                         * Creates a new UpdateGenerativeSettingsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateGenerativeSettingsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IUpdateGenerativeSettingsRequest): google.cloud.dialogflow.cx.v3.UpdateGenerativeSettingsRequest;

                        /**
                         * Encodes the specified UpdateGenerativeSettingsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateGenerativeSettingsRequest.verify|verify} messages.
                         * @param message UpdateGenerativeSettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IUpdateGenerativeSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateGenerativeSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateGenerativeSettingsRequest.verify|verify} messages.
                         * @param message UpdateGenerativeSettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IUpdateGenerativeSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an UpdateGenerativeSettingsRequest message.
                         * @param message Plain 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 UpdateGenerativeSettingsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateGenerativeSettingsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.UpdateGenerativeSettingsRequest;

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

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

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

                    /** AudioEncoding enum. */
                    enum AudioEncoding {
                        AUDIO_ENCODING_UNSPECIFIED = 0,
                        AUDIO_ENCODING_LINEAR_16 = 1,
                        AUDIO_ENCODING_FLAC = 2,
                        AUDIO_ENCODING_MULAW = 3,
                        AUDIO_ENCODING_AMR = 4,
                        AUDIO_ENCODING_AMR_WB = 5,
                        AUDIO_ENCODING_OGG_OPUS = 6,
                        AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE = 7,
                        AUDIO_ENCODING_ALAW = 8
                    }

                    /** SpeechModelVariant enum. */
                    enum SpeechModelVariant {
                        SPEECH_MODEL_VARIANT_UNSPECIFIED = 0,
                        USE_BEST_AVAILABLE = 1,
                        USE_STANDARD = 2,
                        USE_ENHANCED = 3
                    }

                    /** Properties of a SpeechWordInfo. */
                    interface ISpeechWordInfo {

                        /** SpeechWordInfo word */
                        word?: (string|null);

                        /** SpeechWordInfo startOffset */
                        startOffset?: (google.protobuf.IDuration|null);

                        /** SpeechWordInfo endOffset */
                        endOffset?: (google.protobuf.IDuration|null);

                        /** SpeechWordInfo confidence */
                        confidence?: (number|null);
                    }

                    /** Represents a SpeechWordInfo. */
                    class SpeechWordInfo implements ISpeechWordInfo {

                        /**
                         * Constructs a new SpeechWordInfo.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ISpeechWordInfo);

                        /** SpeechWordInfo word. */
                        public word: string;

                        /** SpeechWordInfo startOffset. */
                        public startOffset?: (google.protobuf.IDuration|null);

                        /** SpeechWordInfo endOffset. */
                        public endOffset?: (google.protobuf.IDuration|null);

                        /** SpeechWordInfo confidence. */
                        public confidence: number;

                        /**
                         * Creates a new SpeechWordInfo instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SpeechWordInfo instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ISpeechWordInfo): google.cloud.dialogflow.cx.v3.SpeechWordInfo;

                        /**
                         * Encodes the specified SpeechWordInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SpeechWordInfo.verify|verify} messages.
                         * @param message SpeechWordInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ISpeechWordInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SpeechWordInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SpeechWordInfo.verify|verify} messages.
                         * @param message SpeechWordInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ISpeechWordInfo, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a BargeInConfig. */
                    interface IBargeInConfig {

                        /** BargeInConfig noBargeInDuration */
                        noBargeInDuration?: (google.protobuf.IDuration|null);

                        /** BargeInConfig totalDuration */
                        totalDuration?: (google.protobuf.IDuration|null);
                    }

                    /** Represents a BargeInConfig. */
                    class BargeInConfig implements IBargeInConfig {

                        /**
                         * Constructs a new BargeInConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IBargeInConfig);

                        /** BargeInConfig noBargeInDuration. */
                        public noBargeInDuration?: (google.protobuf.IDuration|null);

                        /** BargeInConfig totalDuration. */
                        public totalDuration?: (google.protobuf.IDuration|null);

                        /**
                         * Creates a new BargeInConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BargeInConfig instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IBargeInConfig): google.cloud.dialogflow.cx.v3.BargeInConfig;

                        /**
                         * Encodes the specified BargeInConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BargeInConfig.verify|verify} messages.
                         * @param message BargeInConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IBargeInConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BargeInConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BargeInConfig.verify|verify} messages.
                         * @param message BargeInConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IBargeInConfig, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of an InputAudioConfig. */
                    interface IInputAudioConfig {

                        /** InputAudioConfig audioEncoding */
                        audioEncoding?: (google.cloud.dialogflow.cx.v3.AudioEncoding|keyof typeof google.cloud.dialogflow.cx.v3.AudioEncoding|null);

                        /** InputAudioConfig sampleRateHertz */
                        sampleRateHertz?: (number|null);

                        /** InputAudioConfig enableWordInfo */
                        enableWordInfo?: (boolean|null);

                        /** InputAudioConfig phraseHints */
                        phraseHints?: (string[]|null);

                        /** InputAudioConfig model */
                        model?: (string|null);

                        /** InputAudioConfig modelVariant */
                        modelVariant?: (google.cloud.dialogflow.cx.v3.SpeechModelVariant|keyof typeof google.cloud.dialogflow.cx.v3.SpeechModelVariant|null);

                        /** InputAudioConfig singleUtterance */
                        singleUtterance?: (boolean|null);

                        /** InputAudioConfig bargeInConfig */
                        bargeInConfig?: (google.cloud.dialogflow.cx.v3.IBargeInConfig|null);

                        /** InputAudioConfig optOutConformerModelMigration */
                        optOutConformerModelMigration?: (boolean|null);
                    }

                    /** Represents an InputAudioConfig. */
                    class InputAudioConfig implements IInputAudioConfig {

                        /**
                         * Constructs a new InputAudioConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IInputAudioConfig);

                        /** InputAudioConfig audioEncoding. */
                        public audioEncoding: (google.cloud.dialogflow.cx.v3.AudioEncoding|keyof typeof google.cloud.dialogflow.cx.v3.AudioEncoding);

                        /** InputAudioConfig sampleRateHertz. */
                        public sampleRateHertz: number;

                        /** InputAudioConfig enableWordInfo. */
                        public enableWordInfo: boolean;

                        /** InputAudioConfig phraseHints. */
                        public phraseHints: string[];

                        /** InputAudioConfig model. */
                        public model: string;

                        /** InputAudioConfig modelVariant. */
                        public modelVariant: (google.cloud.dialogflow.cx.v3.SpeechModelVariant|keyof typeof google.cloud.dialogflow.cx.v3.SpeechModelVariant);

                        /** InputAudioConfig singleUtterance. */
                        public singleUtterance: boolean;

                        /** InputAudioConfig bargeInConfig. */
                        public bargeInConfig?: (google.cloud.dialogflow.cx.v3.IBargeInConfig|null);

                        /** InputAudioConfig optOutConformerModelMigration. */
                        public optOutConformerModelMigration: boolean;

                        /**
                         * Creates a new InputAudioConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns InputAudioConfig instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IInputAudioConfig): google.cloud.dialogflow.cx.v3.InputAudioConfig;

                        /**
                         * Encodes the specified InputAudioConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.InputAudioConfig.verify|verify} messages.
                         * @param message InputAudioConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IInputAudioConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified InputAudioConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.InputAudioConfig.verify|verify} messages.
                         * @param message InputAudioConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IInputAudioConfig, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an InputAudioConfig message.
                         * @param message Plain 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 InputAudioConfig message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns InputAudioConfig
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.InputAudioConfig;

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

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

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

                    /** SsmlVoiceGender enum. */
                    enum SsmlVoiceGender {
                        SSML_VOICE_GENDER_UNSPECIFIED = 0,
                        SSML_VOICE_GENDER_MALE = 1,
                        SSML_VOICE_GENDER_FEMALE = 2,
                        SSML_VOICE_GENDER_NEUTRAL = 3
                    }

                    /** Properties of a VoiceSelectionParams. */
                    interface IVoiceSelectionParams {

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

                        /** VoiceSelectionParams ssmlGender */
                        ssmlGender?: (google.cloud.dialogflow.cx.v3.SsmlVoiceGender|keyof typeof google.cloud.dialogflow.cx.v3.SsmlVoiceGender|null);
                    }

                    /** Represents a VoiceSelectionParams. */
                    class VoiceSelectionParams implements IVoiceSelectionParams {

                        /**
                         * Constructs a new VoiceSelectionParams.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IVoiceSelectionParams);

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

                        /** VoiceSelectionParams ssmlGender. */
                        public ssmlGender: (google.cloud.dialogflow.cx.v3.SsmlVoiceGender|keyof typeof google.cloud.dialogflow.cx.v3.SsmlVoiceGender);

                        /**
                         * Creates a new VoiceSelectionParams instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns VoiceSelectionParams instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IVoiceSelectionParams): google.cloud.dialogflow.cx.v3.VoiceSelectionParams;

                        /**
                         * Encodes the specified VoiceSelectionParams message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.VoiceSelectionParams.verify|verify} messages.
                         * @param message VoiceSelectionParams message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IVoiceSelectionParams, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified VoiceSelectionParams message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.VoiceSelectionParams.verify|verify} messages.
                         * @param message VoiceSelectionParams message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IVoiceSelectionParams, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a SynthesizeSpeechConfig. */
                    interface ISynthesizeSpeechConfig {

                        /** SynthesizeSpeechConfig speakingRate */
                        speakingRate?: (number|null);

                        /** SynthesizeSpeechConfig pitch */
                        pitch?: (number|null);

                        /** SynthesizeSpeechConfig volumeGainDb */
                        volumeGainDb?: (number|null);

                        /** SynthesizeSpeechConfig effectsProfileId */
                        effectsProfileId?: (string[]|null);

                        /** SynthesizeSpeechConfig voice */
                        voice?: (google.cloud.dialogflow.cx.v3.IVoiceSelectionParams|null);
                    }

                    /** Represents a SynthesizeSpeechConfig. */
                    class SynthesizeSpeechConfig implements ISynthesizeSpeechConfig {

                        /**
                         * Constructs a new SynthesizeSpeechConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ISynthesizeSpeechConfig);

                        /** SynthesizeSpeechConfig speakingRate. */
                        public speakingRate: number;

                        /** SynthesizeSpeechConfig pitch. */
                        public pitch: number;

                        /** SynthesizeSpeechConfig volumeGainDb. */
                        public volumeGainDb: number;

                        /** SynthesizeSpeechConfig effectsProfileId. */
                        public effectsProfileId: string[];

                        /** SynthesizeSpeechConfig voice. */
                        public voice?: (google.cloud.dialogflow.cx.v3.IVoiceSelectionParams|null);

                        /**
                         * Creates a new SynthesizeSpeechConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SynthesizeSpeechConfig instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ISynthesizeSpeechConfig): google.cloud.dialogflow.cx.v3.SynthesizeSpeechConfig;

                        /**
                         * Encodes the specified SynthesizeSpeechConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SynthesizeSpeechConfig.verify|verify} messages.
                         * @param message SynthesizeSpeechConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ISynthesizeSpeechConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SynthesizeSpeechConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SynthesizeSpeechConfig.verify|verify} messages.
                         * @param message SynthesizeSpeechConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ISynthesizeSpeechConfig, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** OutputAudioEncoding enum. */
                    enum OutputAudioEncoding {
                        OUTPUT_AUDIO_ENCODING_UNSPECIFIED = 0,
                        OUTPUT_AUDIO_ENCODING_LINEAR_16 = 1,
                        OUTPUT_AUDIO_ENCODING_MP3 = 2,
                        OUTPUT_AUDIO_ENCODING_MP3_64_KBPS = 4,
                        OUTPUT_AUDIO_ENCODING_OGG_OPUS = 3,
                        OUTPUT_AUDIO_ENCODING_MULAW = 5,
                        OUTPUT_AUDIO_ENCODING_ALAW = 6
                    }

                    /** Properties of an OutputAudioConfig. */
                    interface IOutputAudioConfig {

                        /** OutputAudioConfig audioEncoding */
                        audioEncoding?: (google.cloud.dialogflow.cx.v3.OutputAudioEncoding|keyof typeof google.cloud.dialogflow.cx.v3.OutputAudioEncoding|null);

                        /** OutputAudioConfig sampleRateHertz */
                        sampleRateHertz?: (number|null);

                        /** OutputAudioConfig synthesizeSpeechConfig */
                        synthesizeSpeechConfig?: (google.cloud.dialogflow.cx.v3.ISynthesizeSpeechConfig|null);
                    }

                    /** Represents an OutputAudioConfig. */
                    class OutputAudioConfig implements IOutputAudioConfig {

                        /**
                         * Constructs a new OutputAudioConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IOutputAudioConfig);

                        /** OutputAudioConfig audioEncoding. */
                        public audioEncoding: (google.cloud.dialogflow.cx.v3.OutputAudioEncoding|keyof typeof google.cloud.dialogflow.cx.v3.OutputAudioEncoding);

                        /** OutputAudioConfig sampleRateHertz. */
                        public sampleRateHertz: number;

                        /** OutputAudioConfig synthesizeSpeechConfig. */
                        public synthesizeSpeechConfig?: (google.cloud.dialogflow.cx.v3.ISynthesizeSpeechConfig|null);

                        /**
                         * Creates a new OutputAudioConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns OutputAudioConfig instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IOutputAudioConfig): google.cloud.dialogflow.cx.v3.OutputAudioConfig;

                        /**
                         * Encodes the specified OutputAudioConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.OutputAudioConfig.verify|verify} messages.
                         * @param message OutputAudioConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IOutputAudioConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified OutputAudioConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.OutputAudioConfig.verify|verify} messages.
                         * @param message OutputAudioConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IOutputAudioConfig, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an OutputAudioConfig message.
                         * @param message Plain 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 OutputAudioConfig message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns OutputAudioConfig
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.OutputAudioConfig;

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

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

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

                    /** Properties of a TextToSpeechSettings. */
                    interface ITextToSpeechSettings {

                        /** TextToSpeechSettings synthesizeSpeechConfigs */
                        synthesizeSpeechConfigs?: ({ [k: string]: google.cloud.dialogflow.cx.v3.ISynthesizeSpeechConfig }|null);
                    }

                    /** Represents a TextToSpeechSettings. */
                    class TextToSpeechSettings implements ITextToSpeechSettings {

                        /**
                         * Constructs a new TextToSpeechSettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ITextToSpeechSettings);

                        /** TextToSpeechSettings synthesizeSpeechConfigs. */
                        public synthesizeSpeechConfigs: { [k: string]: google.cloud.dialogflow.cx.v3.ISynthesizeSpeechConfig };

                        /**
                         * Creates a new TextToSpeechSettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TextToSpeechSettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ITextToSpeechSettings): google.cloud.dialogflow.cx.v3.TextToSpeechSettings;

                        /**
                         * Encodes the specified TextToSpeechSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TextToSpeechSettings.verify|verify} messages.
                         * @param message TextToSpeechSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ITextToSpeechSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TextToSpeechSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TextToSpeechSettings.verify|verify} messages.
                         * @param message TextToSpeechSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ITextToSpeechSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Represents a Flows */
                    class Flows extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Flows 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 Flows 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): Flows;

                        /**
                         * Calls CreateFlow.
                         * @param request CreateFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Flow
                         */
                        public createFlow(request: google.cloud.dialogflow.cx.v3.ICreateFlowRequest, callback: google.cloud.dialogflow.cx.v3.Flows.CreateFlowCallback): void;

                        /**
                         * Calls CreateFlow.
                         * @param request CreateFlowRequest message or plain object
                         * @returns Promise
                         */
                        public createFlow(request: google.cloud.dialogflow.cx.v3.ICreateFlowRequest): Promise<google.cloud.dialogflow.cx.v3.Flow>;

                        /**
                         * Calls DeleteFlow.
                         * @param request DeleteFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteFlow(request: google.cloud.dialogflow.cx.v3.IDeleteFlowRequest, callback: google.cloud.dialogflow.cx.v3.Flows.DeleteFlowCallback): void;

                        /**
                         * Calls DeleteFlow.
                         * @param request DeleteFlowRequest message or plain object
                         * @returns Promise
                         */
                        public deleteFlow(request: google.cloud.dialogflow.cx.v3.IDeleteFlowRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls ListFlows.
                         * @param request ListFlowsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListFlowsResponse
                         */
                        public listFlows(request: google.cloud.dialogflow.cx.v3.IListFlowsRequest, callback: google.cloud.dialogflow.cx.v3.Flows.ListFlowsCallback): void;

                        /**
                         * Calls ListFlows.
                         * @param request ListFlowsRequest message or plain object
                         * @returns Promise
                         */
                        public listFlows(request: google.cloud.dialogflow.cx.v3.IListFlowsRequest): Promise<google.cloud.dialogflow.cx.v3.ListFlowsResponse>;

                        /**
                         * Calls GetFlow.
                         * @param request GetFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Flow
                         */
                        public getFlow(request: google.cloud.dialogflow.cx.v3.IGetFlowRequest, callback: google.cloud.dialogflow.cx.v3.Flows.GetFlowCallback): void;

                        /**
                         * Calls GetFlow.
                         * @param request GetFlowRequest message or plain object
                         * @returns Promise
                         */
                        public getFlow(request: google.cloud.dialogflow.cx.v3.IGetFlowRequest): Promise<google.cloud.dialogflow.cx.v3.Flow>;

                        /**
                         * Calls UpdateFlow.
                         * @param request UpdateFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Flow
                         */
                        public updateFlow(request: google.cloud.dialogflow.cx.v3.IUpdateFlowRequest, callback: google.cloud.dialogflow.cx.v3.Flows.UpdateFlowCallback): void;

                        /**
                         * Calls UpdateFlow.
                         * @param request UpdateFlowRequest message or plain object
                         * @returns Promise
                         */
                        public updateFlow(request: google.cloud.dialogflow.cx.v3.IUpdateFlowRequest): Promise<google.cloud.dialogflow.cx.v3.Flow>;

                        /**
                         * Calls TrainFlow.
                         * @param request TrainFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public trainFlow(request: google.cloud.dialogflow.cx.v3.ITrainFlowRequest, callback: google.cloud.dialogflow.cx.v3.Flows.TrainFlowCallback): void;

                        /**
                         * Calls TrainFlow.
                         * @param request TrainFlowRequest message or plain object
                         * @returns Promise
                         */
                        public trainFlow(request: google.cloud.dialogflow.cx.v3.ITrainFlowRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ValidateFlow.
                         * @param request ValidateFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and FlowValidationResult
                         */
                        public validateFlow(request: google.cloud.dialogflow.cx.v3.IValidateFlowRequest, callback: google.cloud.dialogflow.cx.v3.Flows.ValidateFlowCallback): void;

                        /**
                         * Calls ValidateFlow.
                         * @param request ValidateFlowRequest message or plain object
                         * @returns Promise
                         */
                        public validateFlow(request: google.cloud.dialogflow.cx.v3.IValidateFlowRequest): Promise<google.cloud.dialogflow.cx.v3.FlowValidationResult>;

                        /**
                         * Calls GetFlowValidationResult.
                         * @param request GetFlowValidationResultRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and FlowValidationResult
                         */
                        public getFlowValidationResult(request: google.cloud.dialogflow.cx.v3.IGetFlowValidationResultRequest, callback: google.cloud.dialogflow.cx.v3.Flows.GetFlowValidationResultCallback): void;

                        /**
                         * Calls GetFlowValidationResult.
                         * @param request GetFlowValidationResultRequest message or plain object
                         * @returns Promise
                         */
                        public getFlowValidationResult(request: google.cloud.dialogflow.cx.v3.IGetFlowValidationResultRequest): Promise<google.cloud.dialogflow.cx.v3.FlowValidationResult>;

                        /**
                         * Calls ImportFlow.
                         * @param request ImportFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public importFlow(request: google.cloud.dialogflow.cx.v3.IImportFlowRequest, callback: google.cloud.dialogflow.cx.v3.Flows.ImportFlowCallback): void;

                        /**
                         * Calls ImportFlow.
                         * @param request ImportFlowRequest message or plain object
                         * @returns Promise
                         */
                        public importFlow(request: google.cloud.dialogflow.cx.v3.IImportFlowRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ExportFlow.
                         * @param request ExportFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public exportFlow(request: google.cloud.dialogflow.cx.v3.IExportFlowRequest, callback: google.cloud.dialogflow.cx.v3.Flows.ExportFlowCallback): void;

                        /**
                         * Calls ExportFlow.
                         * @param request ExportFlowRequest message or plain object
                         * @returns Promise
                         */
                        public exportFlow(request: google.cloud.dialogflow.cx.v3.IExportFlowRequest): Promise<google.longrunning.Operation>;
                    }

                    namespace Flows {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Flows|createFlow}.
                         * @param error Error, if any
                         * @param [response] Flow
                         */
                        type CreateFlowCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Flow) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Flows|deleteFlow}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteFlowCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Flows|listFlows}.
                         * @param error Error, if any
                         * @param [response] ListFlowsResponse
                         */
                        type ListFlowsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListFlowsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Flows|getFlow}.
                         * @param error Error, if any
                         * @param [response] Flow
                         */
                        type GetFlowCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Flow) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Flows|updateFlow}.
                         * @param error Error, if any
                         * @param [response] Flow
                         */
                        type UpdateFlowCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Flow) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Flows|trainFlow}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type TrainFlowCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Flows|validateFlow}.
                         * @param error Error, if any
                         * @param [response] FlowValidationResult
                         */
                        type ValidateFlowCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.FlowValidationResult) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Flows|getFlowValidationResult}.
                         * @param error Error, if any
                         * @param [response] FlowValidationResult
                         */
                        type GetFlowValidationResultCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.FlowValidationResult) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Flows|importFlow}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ImportFlowCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Flows|exportFlow}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ExportFlowCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
                    }

                    /** Properties of a NluSettings. */
                    interface INluSettings {

                        /** NluSettings modelType */
                        modelType?: (google.cloud.dialogflow.cx.v3.NluSettings.ModelType|keyof typeof google.cloud.dialogflow.cx.v3.NluSettings.ModelType|null);

                        /** NluSettings classificationThreshold */
                        classificationThreshold?: (number|null);

                        /** NluSettings modelTrainingMode */
                        modelTrainingMode?: (google.cloud.dialogflow.cx.v3.NluSettings.ModelTrainingMode|keyof typeof google.cloud.dialogflow.cx.v3.NluSettings.ModelTrainingMode|null);
                    }

                    /** Represents a NluSettings. */
                    class NluSettings implements INluSettings {

                        /**
                         * Constructs a new NluSettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.INluSettings);

                        /** NluSettings modelType. */
                        public modelType: (google.cloud.dialogflow.cx.v3.NluSettings.ModelType|keyof typeof google.cloud.dialogflow.cx.v3.NluSettings.ModelType);

                        /** NluSettings classificationThreshold. */
                        public classificationThreshold: number;

                        /** NluSettings modelTrainingMode. */
                        public modelTrainingMode: (google.cloud.dialogflow.cx.v3.NluSettings.ModelTrainingMode|keyof typeof google.cloud.dialogflow.cx.v3.NluSettings.ModelTrainingMode);

                        /**
                         * Creates a new NluSettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns NluSettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.INluSettings): google.cloud.dialogflow.cx.v3.NluSettings;

                        /**
                         * Encodes the specified NluSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.NluSettings.verify|verify} messages.
                         * @param message NluSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.INluSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified NluSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.NluSettings.verify|verify} messages.
                         * @param message NluSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.INluSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    namespace NluSettings {

                        /** ModelType enum. */
                        enum ModelType {
                            MODEL_TYPE_UNSPECIFIED = 0,
                            MODEL_TYPE_STANDARD = 1,
                            MODEL_TYPE_ADVANCED = 3
                        }

                        /** ModelTrainingMode enum. */
                        enum ModelTrainingMode {
                            MODEL_TRAINING_MODE_UNSPECIFIED = 0,
                            MODEL_TRAINING_MODE_AUTOMATIC = 1,
                            MODEL_TRAINING_MODE_MANUAL = 2
                        }
                    }

                    /** Properties of a Flow. */
                    interface IFlow {

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

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

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

                        /** Flow transitionRoutes */
                        transitionRoutes?: (google.cloud.dialogflow.cx.v3.ITransitionRoute[]|null);

                        /** Flow eventHandlers */
                        eventHandlers?: (google.cloud.dialogflow.cx.v3.IEventHandler[]|null);

                        /** Flow transitionRouteGroups */
                        transitionRouteGroups?: (string[]|null);

                        /** Flow nluSettings */
                        nluSettings?: (google.cloud.dialogflow.cx.v3.INluSettings|null);

                        /** Flow advancedSettings */
                        advancedSettings?: (google.cloud.dialogflow.cx.v3.IAdvancedSettings|null);

                        /** Flow knowledgeConnectorSettings */
                        knowledgeConnectorSettings?: (google.cloud.dialogflow.cx.v3.IKnowledgeConnectorSettings|null);

                        /** Flow multiLanguageSettings */
                        multiLanguageSettings?: (google.cloud.dialogflow.cx.v3.Flow.IMultiLanguageSettings|null);

                        /** Flow locked */
                        locked?: (boolean|null);
                    }

                    /** Represents a Flow. */
                    class Flow implements IFlow {

                        /**
                         * Constructs a new Flow.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IFlow);

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

                        /** Flow displayName. */
                        public displayName: string;

                        /** Flow description. */
                        public description: string;

                        /** Flow transitionRoutes. */
                        public transitionRoutes: google.cloud.dialogflow.cx.v3.ITransitionRoute[];

                        /** Flow eventHandlers. */
                        public eventHandlers: google.cloud.dialogflow.cx.v3.IEventHandler[];

                        /** Flow transitionRouteGroups. */
                        public transitionRouteGroups: string[];

                        /** Flow nluSettings. */
                        public nluSettings?: (google.cloud.dialogflow.cx.v3.INluSettings|null);

                        /** Flow advancedSettings. */
                        public advancedSettings?: (google.cloud.dialogflow.cx.v3.IAdvancedSettings|null);

                        /** Flow knowledgeConnectorSettings. */
                        public knowledgeConnectorSettings?: (google.cloud.dialogflow.cx.v3.IKnowledgeConnectorSettings|null);

                        /** Flow multiLanguageSettings. */
                        public multiLanguageSettings?: (google.cloud.dialogflow.cx.v3.Flow.IMultiLanguageSettings|null);

                        /** Flow locked. */
                        public locked: boolean;

                        /**
                         * Creates a new Flow instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Flow instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IFlow): google.cloud.dialogflow.cx.v3.Flow;

                        /**
                         * Encodes the specified Flow message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Flow.verify|verify} messages.
                         * @param message Flow message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IFlow, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Flow message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Flow.verify|verify} messages.
                         * @param message Flow message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IFlow, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    namespace Flow {

                        /** Properties of a MultiLanguageSettings. */
                        interface IMultiLanguageSettings {

                            /** MultiLanguageSettings enableMultiLanguageDetection */
                            enableMultiLanguageDetection?: (boolean|null);

                            /** MultiLanguageSettings supportedResponseLanguageCodes */
                            supportedResponseLanguageCodes?: (string[]|null);
                        }

                        /** Represents a MultiLanguageSettings. */
                        class MultiLanguageSettings implements IMultiLanguageSettings {

                            /**
                             * Constructs a new MultiLanguageSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Flow.IMultiLanguageSettings);

                            /** MultiLanguageSettings enableMultiLanguageDetection. */
                            public enableMultiLanguageDetection: boolean;

                            /** MultiLanguageSettings supportedResponseLanguageCodes. */
                            public supportedResponseLanguageCodes: string[];

                            /**
                             * Creates a new MultiLanguageSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns MultiLanguageSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Flow.IMultiLanguageSettings): google.cloud.dialogflow.cx.v3.Flow.MultiLanguageSettings;

                            /**
                             * Encodes the specified MultiLanguageSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Flow.MultiLanguageSettings.verify|verify} messages.
                             * @param message MultiLanguageSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Flow.IMultiLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified MultiLanguageSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Flow.MultiLanguageSettings.verify|verify} messages.
                             * @param message MultiLanguageSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Flow.IMultiLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a MultiLanguageSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns MultiLanguageSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Flow.MultiLanguageSettings;

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

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

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

                    /** Properties of a CreateFlowRequest. */
                    interface ICreateFlowRequest {

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

                        /** CreateFlowRequest flow */
                        flow?: (google.cloud.dialogflow.cx.v3.IFlow|null);

                        /** CreateFlowRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a CreateFlowRequest. */
                    class CreateFlowRequest implements ICreateFlowRequest {

                        /**
                         * Constructs a new CreateFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICreateFlowRequest);

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

                        /** CreateFlowRequest flow. */
                        public flow?: (google.cloud.dialogflow.cx.v3.IFlow|null);

                        /** CreateFlowRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new CreateFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICreateFlowRequest): google.cloud.dialogflow.cx.v3.CreateFlowRequest;

                        /**
                         * Encodes the specified CreateFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateFlowRequest.verify|verify} messages.
                         * @param message CreateFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICreateFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateFlowRequest.verify|verify} messages.
                         * @param message CreateFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICreateFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a DeleteFlowRequest. */
                    interface IDeleteFlowRequest {

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

                        /** DeleteFlowRequest force */
                        force?: (boolean|null);
                    }

                    /** Represents a DeleteFlowRequest. */
                    class DeleteFlowRequest implements IDeleteFlowRequest {

                        /**
                         * Constructs a new DeleteFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeleteFlowRequest);

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

                        /** DeleteFlowRequest force. */
                        public force: boolean;

                        /**
                         * Creates a new DeleteFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeleteFlowRequest): google.cloud.dialogflow.cx.v3.DeleteFlowRequest;

                        /**
                         * Encodes the specified DeleteFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteFlowRequest.verify|verify} messages.
                         * @param message DeleteFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeleteFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteFlowRequest.verify|verify} messages.
                         * @param message DeleteFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeleteFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a ListFlowsRequest. */
                    interface IListFlowsRequest {

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

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

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

                        /** ListFlowsRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a ListFlowsRequest. */
                    class ListFlowsRequest implements IListFlowsRequest {

                        /**
                         * Constructs a new ListFlowsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListFlowsRequest);

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

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

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

                        /** ListFlowsRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new ListFlowsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListFlowsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListFlowsRequest): google.cloud.dialogflow.cx.v3.ListFlowsRequest;

                        /**
                         * Encodes the specified ListFlowsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListFlowsRequest.verify|verify} messages.
                         * @param message ListFlowsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListFlowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListFlowsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListFlowsRequest.verify|verify} messages.
                         * @param message ListFlowsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListFlowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a ListFlowsResponse. */
                    interface IListFlowsResponse {

                        /** ListFlowsResponse flows */
                        flows?: (google.cloud.dialogflow.cx.v3.IFlow[]|null);

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

                    /** Represents a ListFlowsResponse. */
                    class ListFlowsResponse implements IListFlowsResponse {

                        /**
                         * Constructs a new ListFlowsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListFlowsResponse);

                        /** ListFlowsResponse flows. */
                        public flows: google.cloud.dialogflow.cx.v3.IFlow[];

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

                        /**
                         * Creates a new ListFlowsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListFlowsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListFlowsResponse): google.cloud.dialogflow.cx.v3.ListFlowsResponse;

                        /**
                         * Encodes the specified ListFlowsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListFlowsResponse.verify|verify} messages.
                         * @param message ListFlowsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListFlowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListFlowsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListFlowsResponse.verify|verify} messages.
                         * @param message ListFlowsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListFlowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a GetFlowRequest. */
                    interface IGetFlowRequest {

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

                        /** GetFlowRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetFlowRequest. */
                    class GetFlowRequest implements IGetFlowRequest {

                        /**
                         * Constructs a new GetFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetFlowRequest);

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

                        /** GetFlowRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetFlowRequest): google.cloud.dialogflow.cx.v3.GetFlowRequest;

                        /**
                         * Encodes the specified GetFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetFlowRequest.verify|verify} messages.
                         * @param message GetFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetFlowRequest.verify|verify} messages.
                         * @param message GetFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of an UpdateFlowRequest. */
                    interface IUpdateFlowRequest {

                        /** UpdateFlowRequest flow */
                        flow?: (google.cloud.dialogflow.cx.v3.IFlow|null);

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

                        /** UpdateFlowRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents an UpdateFlowRequest. */
                    class UpdateFlowRequest implements IUpdateFlowRequest {

                        /**
                         * Constructs a new UpdateFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IUpdateFlowRequest);

                        /** UpdateFlowRequest flow. */
                        public flow?: (google.cloud.dialogflow.cx.v3.IFlow|null);

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

                        /** UpdateFlowRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new UpdateFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IUpdateFlowRequest): google.cloud.dialogflow.cx.v3.UpdateFlowRequest;

                        /**
                         * Encodes the specified UpdateFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateFlowRequest.verify|verify} messages.
                         * @param message UpdateFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IUpdateFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateFlowRequest.verify|verify} messages.
                         * @param message UpdateFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IUpdateFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an UpdateFlowRequest message.
                         * @param message Plain 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 UpdateFlowRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateFlowRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.UpdateFlowRequest;

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

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

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

                    /** Properties of a TrainFlowRequest. */
                    interface ITrainFlowRequest {

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

                    /** Represents a TrainFlowRequest. */
                    class TrainFlowRequest implements ITrainFlowRequest {

                        /**
                         * Constructs a new TrainFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ITrainFlowRequest);

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

                        /**
                         * Creates a new TrainFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TrainFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ITrainFlowRequest): google.cloud.dialogflow.cx.v3.TrainFlowRequest;

                        /**
                         * Encodes the specified TrainFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TrainFlowRequest.verify|verify} messages.
                         * @param message TrainFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ITrainFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TrainFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TrainFlowRequest.verify|verify} messages.
                         * @param message TrainFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ITrainFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a ValidateFlowRequest. */
                    interface IValidateFlowRequest {

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

                        /** ValidateFlowRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a ValidateFlowRequest. */
                    class ValidateFlowRequest implements IValidateFlowRequest {

                        /**
                         * Constructs a new ValidateFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IValidateFlowRequest);

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

                        /** ValidateFlowRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new ValidateFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ValidateFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IValidateFlowRequest): google.cloud.dialogflow.cx.v3.ValidateFlowRequest;

                        /**
                         * Encodes the specified ValidateFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ValidateFlowRequest.verify|verify} messages.
                         * @param message ValidateFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IValidateFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ValidateFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ValidateFlowRequest.verify|verify} messages.
                         * @param message ValidateFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IValidateFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a GetFlowValidationResultRequest. */
                    interface IGetFlowValidationResultRequest {

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

                        /** GetFlowValidationResultRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetFlowValidationResultRequest. */
                    class GetFlowValidationResultRequest implements IGetFlowValidationResultRequest {

                        /**
                         * Constructs a new GetFlowValidationResultRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetFlowValidationResultRequest);

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

                        /** GetFlowValidationResultRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetFlowValidationResultRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetFlowValidationResultRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetFlowValidationResultRequest): google.cloud.dialogflow.cx.v3.GetFlowValidationResultRequest;

                        /**
                         * Encodes the specified GetFlowValidationResultRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetFlowValidationResultRequest.verify|verify} messages.
                         * @param message GetFlowValidationResultRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetFlowValidationResultRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetFlowValidationResultRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetFlowValidationResultRequest.verify|verify} messages.
                         * @param message GetFlowValidationResultRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetFlowValidationResultRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a FlowValidationResult. */
                    interface IFlowValidationResult {

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

                        /** FlowValidationResult validationMessages */
                        validationMessages?: (google.cloud.dialogflow.cx.v3.IValidationMessage[]|null);

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

                    /** Represents a FlowValidationResult. */
                    class FlowValidationResult implements IFlowValidationResult {

                        /**
                         * Constructs a new FlowValidationResult.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IFlowValidationResult);

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

                        /** FlowValidationResult validationMessages. */
                        public validationMessages: google.cloud.dialogflow.cx.v3.IValidationMessage[];

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

                        /**
                         * Creates a new FlowValidationResult instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns FlowValidationResult instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IFlowValidationResult): google.cloud.dialogflow.cx.v3.FlowValidationResult;

                        /**
                         * Encodes the specified FlowValidationResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.FlowValidationResult.verify|verify} messages.
                         * @param message FlowValidationResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IFlowValidationResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified FlowValidationResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.FlowValidationResult.verify|verify} messages.
                         * @param message FlowValidationResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IFlowValidationResult, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of an ImportFlowRequest. */
                    interface IImportFlowRequest {

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

                        /** ImportFlowRequest flowUri */
                        flowUri?: (string|null);

                        /** ImportFlowRequest flowContent */
                        flowContent?: (Uint8Array|Buffer|string|null);

                        /** ImportFlowRequest importOption */
                        importOption?: (google.cloud.dialogflow.cx.v3.ImportFlowRequest.ImportOption|keyof typeof google.cloud.dialogflow.cx.v3.ImportFlowRequest.ImportOption|null);

                        /** ImportFlowRequest flowImportStrategy */
                        flowImportStrategy?: (google.cloud.dialogflow.cx.v3.IFlowImportStrategy|null);
                    }

                    /** Represents an ImportFlowRequest. */
                    class ImportFlowRequest implements IImportFlowRequest {

                        /**
                         * Constructs a new ImportFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IImportFlowRequest);

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

                        /** ImportFlowRequest flowUri. */
                        public flowUri?: (string|null);

                        /** ImportFlowRequest flowContent. */
                        public flowContent?: (Uint8Array|Buffer|string|null);

                        /** ImportFlowRequest importOption. */
                        public importOption: (google.cloud.dialogflow.cx.v3.ImportFlowRequest.ImportOption|keyof typeof google.cloud.dialogflow.cx.v3.ImportFlowRequest.ImportOption);

                        /** ImportFlowRequest flowImportStrategy. */
                        public flowImportStrategy?: (google.cloud.dialogflow.cx.v3.IFlowImportStrategy|null);

                        /** ImportFlowRequest flow. */
                        public flow?: ("flowUri"|"flowContent");

                        /**
                         * Creates a new ImportFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IImportFlowRequest): google.cloud.dialogflow.cx.v3.ImportFlowRequest;

                        /**
                         * Encodes the specified ImportFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportFlowRequest.verify|verify} messages.
                         * @param message ImportFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IImportFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportFlowRequest.verify|verify} messages.
                         * @param message ImportFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IImportFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an ImportFlowRequest message.
                         * @param message Plain 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 ImportFlowRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportFlowRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ImportFlowRequest;

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

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

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

                    namespace ImportFlowRequest {

                        /** ImportOption enum. */
                        enum ImportOption {
                            IMPORT_OPTION_UNSPECIFIED = 0,
                            KEEP = 1,
                            FALLBACK = 2
                        }
                    }

                    /** Properties of a FlowImportStrategy. */
                    interface IFlowImportStrategy {

                        /** FlowImportStrategy globalImportStrategy */
                        globalImportStrategy?: (google.cloud.dialogflow.cx.v3.ImportStrategy|keyof typeof google.cloud.dialogflow.cx.v3.ImportStrategy|null);
                    }

                    /** Represents a FlowImportStrategy. */
                    class FlowImportStrategy implements IFlowImportStrategy {

                        /**
                         * Constructs a new FlowImportStrategy.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IFlowImportStrategy);

                        /** FlowImportStrategy globalImportStrategy. */
                        public globalImportStrategy: (google.cloud.dialogflow.cx.v3.ImportStrategy|keyof typeof google.cloud.dialogflow.cx.v3.ImportStrategy);

                        /**
                         * Creates a new FlowImportStrategy instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns FlowImportStrategy instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IFlowImportStrategy): google.cloud.dialogflow.cx.v3.FlowImportStrategy;

                        /**
                         * Encodes the specified FlowImportStrategy message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.FlowImportStrategy.verify|verify} messages.
                         * @param message FlowImportStrategy message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IFlowImportStrategy, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified FlowImportStrategy message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.FlowImportStrategy.verify|verify} messages.
                         * @param message FlowImportStrategy message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IFlowImportStrategy, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of an ImportFlowResponse. */
                    interface IImportFlowResponse {

                        /** ImportFlowResponse flow */
                        flow?: (string|null);
                    }

                    /** Represents an ImportFlowResponse. */
                    class ImportFlowResponse implements IImportFlowResponse {

                        /**
                         * Constructs a new ImportFlowResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IImportFlowResponse);

                        /** ImportFlowResponse flow. */
                        public flow: string;

                        /**
                         * Creates a new ImportFlowResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportFlowResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IImportFlowResponse): google.cloud.dialogflow.cx.v3.ImportFlowResponse;

                        /**
                         * Encodes the specified ImportFlowResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportFlowResponse.verify|verify} messages.
                         * @param message ImportFlowResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IImportFlowResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportFlowResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportFlowResponse.verify|verify} messages.
                         * @param message ImportFlowResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IImportFlowResponse, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an ImportFlowResponse message.
                         * @param message Plain 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 ImportFlowResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportFlowResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ImportFlowResponse;

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

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

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

                    /** Properties of an ExportFlowRequest. */
                    interface IExportFlowRequest {

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

                        /** ExportFlowRequest flowUri */
                        flowUri?: (string|null);

                        /** ExportFlowRequest includeReferencedFlows */
                        includeReferencedFlows?: (boolean|null);
                    }

                    /** Represents an ExportFlowRequest. */
                    class ExportFlowRequest implements IExportFlowRequest {

                        /**
                         * Constructs a new ExportFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IExportFlowRequest);

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

                        /** ExportFlowRequest flowUri. */
                        public flowUri: string;

                        /** ExportFlowRequest includeReferencedFlows. */
                        public includeReferencedFlows: boolean;

                        /**
                         * Creates a new ExportFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IExportFlowRequest): google.cloud.dialogflow.cx.v3.ExportFlowRequest;

                        /**
                         * Encodes the specified ExportFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportFlowRequest.verify|verify} messages.
                         * @param message ExportFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IExportFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportFlowRequest.verify|verify} messages.
                         * @param message ExportFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IExportFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an ExportFlowRequest message.
                         * @param message Plain 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 ExportFlowRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportFlowRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ExportFlowRequest;

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

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

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

                    /** Properties of an ExportFlowResponse. */
                    interface IExportFlowResponse {

                        /** ExportFlowResponse flowUri */
                        flowUri?: (string|null);

                        /** ExportFlowResponse flowContent */
                        flowContent?: (Uint8Array|Buffer|string|null);
                    }

                    /** Represents an ExportFlowResponse. */
                    class ExportFlowResponse implements IExportFlowResponse {

                        /**
                         * Constructs a new ExportFlowResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IExportFlowResponse);

                        /** ExportFlowResponse flowUri. */
                        public flowUri?: (string|null);

                        /** ExportFlowResponse flowContent. */
                        public flowContent?: (Uint8Array|Buffer|string|null);

                        /** ExportFlowResponse flow. */
                        public flow?: ("flowUri"|"flowContent");

                        /**
                         * Creates a new ExportFlowResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportFlowResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IExportFlowResponse): google.cloud.dialogflow.cx.v3.ExportFlowResponse;

                        /**
                         * Encodes the specified ExportFlowResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportFlowResponse.verify|verify} messages.
                         * @param message ExportFlowResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IExportFlowResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportFlowResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportFlowResponse.verify|verify} messages.
                         * @param message ExportFlowResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IExportFlowResponse, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an ExportFlowResponse message.
                         * @param message Plain 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 ExportFlowResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportFlowResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ExportFlowResponse;

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

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

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

                    /** ImportStrategy enum. */
                    enum ImportStrategy {
                        IMPORT_STRATEGY_UNSPECIFIED = 0,
                        IMPORT_STRATEGY_CREATE_NEW = 1,
                        IMPORT_STRATEGY_REPLACE = 2,
                        IMPORT_STRATEGY_KEEP = 3,
                        IMPORT_STRATEGY_MERGE = 4,
                        IMPORT_STRATEGY_THROW_ERROR = 5
                    }

                    /** Represents a Pages */
                    class Pages extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Pages 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 Pages 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): Pages;

                        /**
                         * Calls ListPages.
                         * @param request ListPagesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListPagesResponse
                         */
                        public listPages(request: google.cloud.dialogflow.cx.v3.IListPagesRequest, callback: google.cloud.dialogflow.cx.v3.Pages.ListPagesCallback): void;

                        /**
                         * Calls ListPages.
                         * @param request ListPagesRequest message or plain object
                         * @returns Promise
                         */
                        public listPages(request: google.cloud.dialogflow.cx.v3.IListPagesRequest): Promise<google.cloud.dialogflow.cx.v3.ListPagesResponse>;

                        /**
                         * Calls GetPage.
                         * @param request GetPageRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Page
                         */
                        public getPage(request: google.cloud.dialogflow.cx.v3.IGetPageRequest, callback: google.cloud.dialogflow.cx.v3.Pages.GetPageCallback): void;

                        /**
                         * Calls GetPage.
                         * @param request GetPageRequest message or plain object
                         * @returns Promise
                         */
                        public getPage(request: google.cloud.dialogflow.cx.v3.IGetPageRequest): Promise<google.cloud.dialogflow.cx.v3.Page>;

                        /**
                         * Calls CreatePage.
                         * @param request CreatePageRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Page
                         */
                        public createPage(request: google.cloud.dialogflow.cx.v3.ICreatePageRequest, callback: google.cloud.dialogflow.cx.v3.Pages.CreatePageCallback): void;

                        /**
                         * Calls CreatePage.
                         * @param request CreatePageRequest message or plain object
                         * @returns Promise
                         */
                        public createPage(request: google.cloud.dialogflow.cx.v3.ICreatePageRequest): Promise<google.cloud.dialogflow.cx.v3.Page>;

                        /**
                         * Calls UpdatePage.
                         * @param request UpdatePageRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Page
                         */
                        public updatePage(request: google.cloud.dialogflow.cx.v3.IUpdatePageRequest, callback: google.cloud.dialogflow.cx.v3.Pages.UpdatePageCallback): void;

                        /**
                         * Calls UpdatePage.
                         * @param request UpdatePageRequest message or plain object
                         * @returns Promise
                         */
                        public updatePage(request: google.cloud.dialogflow.cx.v3.IUpdatePageRequest): Promise<google.cloud.dialogflow.cx.v3.Page>;

                        /**
                         * Calls DeletePage.
                         * @param request DeletePageRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deletePage(request: google.cloud.dialogflow.cx.v3.IDeletePageRequest, callback: google.cloud.dialogflow.cx.v3.Pages.DeletePageCallback): void;

                        /**
                         * Calls DeletePage.
                         * @param request DeletePageRequest message or plain object
                         * @returns Promise
                         */
                        public deletePage(request: google.cloud.dialogflow.cx.v3.IDeletePageRequest): Promise<google.protobuf.Empty>;
                    }

                    namespace Pages {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Pages|listPages}.
                         * @param error Error, if any
                         * @param [response] ListPagesResponse
                         */
                        type ListPagesCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListPagesResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Pages|getPage}.
                         * @param error Error, if any
                         * @param [response] Page
                         */
                        type GetPageCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Page) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Pages|createPage}.
                         * @param error Error, if any
                         * @param [response] Page
                         */
                        type CreatePageCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Page) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Pages|updatePage}.
                         * @param error Error, if any
                         * @param [response] Page
                         */
                        type UpdatePageCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Page) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Pages|deletePage}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeletePageCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                    }

                    /** Properties of a Page. */
                    interface IPage {

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

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

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

                        /** Page entryFulfillment */
                        entryFulfillment?: (google.cloud.dialogflow.cx.v3.IFulfillment|null);

                        /** Page form */
                        form?: (google.cloud.dialogflow.cx.v3.IForm|null);

                        /** Page transitionRouteGroups */
                        transitionRouteGroups?: (string[]|null);

                        /** Page transitionRoutes */
                        transitionRoutes?: (google.cloud.dialogflow.cx.v3.ITransitionRoute[]|null);

                        /** Page eventHandlers */
                        eventHandlers?: (google.cloud.dialogflow.cx.v3.IEventHandler[]|null);

                        /** Page advancedSettings */
                        advancedSettings?: (google.cloud.dialogflow.cx.v3.IAdvancedSettings|null);

                        /** Page knowledgeConnectorSettings */
                        knowledgeConnectorSettings?: (google.cloud.dialogflow.cx.v3.IKnowledgeConnectorSettings|null);
                    }

                    /** Represents a Page. */
                    class Page implements IPage {

                        /**
                         * Constructs a new Page.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IPage);

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

                        /** Page displayName. */
                        public displayName: string;

                        /** Page description. */
                        public description: string;

                        /** Page entryFulfillment. */
                        public entryFulfillment?: (google.cloud.dialogflow.cx.v3.IFulfillment|null);

                        /** Page form. */
                        public form?: (google.cloud.dialogflow.cx.v3.IForm|null);

                        /** Page transitionRouteGroups. */
                        public transitionRouteGroups: string[];

                        /** Page transitionRoutes. */
                        public transitionRoutes: google.cloud.dialogflow.cx.v3.ITransitionRoute[];

                        /** Page eventHandlers. */
                        public eventHandlers: google.cloud.dialogflow.cx.v3.IEventHandler[];

                        /** Page advancedSettings. */
                        public advancedSettings?: (google.cloud.dialogflow.cx.v3.IAdvancedSettings|null);

                        /** Page knowledgeConnectorSettings. */
                        public knowledgeConnectorSettings?: (google.cloud.dialogflow.cx.v3.IKnowledgeConnectorSettings|null);

                        /**
                         * Creates a new Page instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Page instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IPage): google.cloud.dialogflow.cx.v3.Page;

                        /**
                         * Encodes the specified Page message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Page.verify|verify} messages.
                         * @param message Page message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IPage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Page message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Page.verify|verify} messages.
                         * @param message Page message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IPage, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a Form. */
                    interface IForm {

                        /** Form parameters */
                        parameters?: (google.cloud.dialogflow.cx.v3.Form.IParameter[]|null);
                    }

                    /** Represents a Form. */
                    class Form implements IForm {

                        /**
                         * Constructs a new Form.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IForm);

                        /** Form parameters. */
                        public parameters: google.cloud.dialogflow.cx.v3.Form.IParameter[];

                        /**
                         * Creates a new Form instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Form instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IForm): google.cloud.dialogflow.cx.v3.Form;

                        /**
                         * Encodes the specified Form message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Form.verify|verify} messages.
                         * @param message Form message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IForm, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Form message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Form.verify|verify} messages.
                         * @param message Form message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IForm, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    namespace Form {

                        /** Properties of a Parameter. */
                        interface IParameter {

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

                            /** Parameter required */
                            required?: (boolean|null);

                            /** Parameter entityType */
                            entityType?: (string|null);

                            /** Parameter isList */
                            isList?: (boolean|null);

                            /** Parameter fillBehavior */
                            fillBehavior?: (google.cloud.dialogflow.cx.v3.Form.Parameter.IFillBehavior|null);

                            /** Parameter defaultValue */
                            defaultValue?: (google.protobuf.IValue|null);

                            /** Parameter redact */
                            redact?: (boolean|null);

                            /** Parameter advancedSettings */
                            advancedSettings?: (google.cloud.dialogflow.cx.v3.IAdvancedSettings|null);
                        }

                        /** Represents a Parameter. */
                        class Parameter implements IParameter {

                            /**
                             * Constructs a new Parameter.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Form.IParameter);

                            /** Parameter displayName. */
                            public displayName: string;

                            /** Parameter required. */
                            public required: boolean;

                            /** Parameter entityType. */
                            public entityType: string;

                            /** Parameter isList. */
                            public isList: boolean;

                            /** Parameter fillBehavior. */
                            public fillBehavior?: (google.cloud.dialogflow.cx.v3.Form.Parameter.IFillBehavior|null);

                            /** Parameter defaultValue. */
                            public defaultValue?: (google.protobuf.IValue|null);

                            /** Parameter redact. */
                            public redact: boolean;

                            /** Parameter advancedSettings. */
                            public advancedSettings?: (google.cloud.dialogflow.cx.v3.IAdvancedSettings|null);

                            /**
                             * Creates a new Parameter instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Parameter instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Form.IParameter): google.cloud.dialogflow.cx.v3.Form.Parameter;

                            /**
                             * Encodes the specified Parameter message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Form.Parameter.verify|verify} messages.
                             * @param message Parameter message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Form.IParameter, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Parameter message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Form.Parameter.verify|verify} messages.
                             * @param message Parameter message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Form.IParameter, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a Parameter message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Parameter
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Form.Parameter;

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

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

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

                        namespace Parameter {

                            /** Properties of a FillBehavior. */
                            interface IFillBehavior {

                                /** FillBehavior initialPromptFulfillment */
                                initialPromptFulfillment?: (google.cloud.dialogflow.cx.v3.IFulfillment|null);

                                /** FillBehavior repromptEventHandlers */
                                repromptEventHandlers?: (google.cloud.dialogflow.cx.v3.IEventHandler[]|null);
                            }

                            /** Represents a FillBehavior. */
                            class FillBehavior implements IFillBehavior {

                                /**
                                 * Constructs a new FillBehavior.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3.Form.Parameter.IFillBehavior);

                                /** FillBehavior initialPromptFulfillment. */
                                public initialPromptFulfillment?: (google.cloud.dialogflow.cx.v3.IFulfillment|null);

                                /** FillBehavior repromptEventHandlers. */
                                public repromptEventHandlers: google.cloud.dialogflow.cx.v3.IEventHandler[];

                                /**
                                 * Creates a new FillBehavior instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns FillBehavior instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3.Form.Parameter.IFillBehavior): google.cloud.dialogflow.cx.v3.Form.Parameter.FillBehavior;

                                /**
                                 * Encodes the specified FillBehavior message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Form.Parameter.FillBehavior.verify|verify} messages.
                                 * @param message FillBehavior message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3.Form.Parameter.IFillBehavior, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified FillBehavior message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Form.Parameter.FillBehavior.verify|verify} messages.
                                 * @param message FillBehavior message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Form.Parameter.IFillBehavior, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                                /**
                                 * Creates a FillBehavior message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns FillBehavior
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Form.Parameter.FillBehavior;

                                /**
                                 * Creates a plain object from a FillBehavior message. Also converts values to other types if specified.
                                 * @param message FillBehavior
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3.Form.Parameter.FillBehavior, options?: $protobuf.IConversionOptions): { [k: string]: any };

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

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

                    /** Properties of an EventHandler. */
                    interface IEventHandler {

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

                        /** EventHandler event */
                        event?: (string|null);

                        /** EventHandler triggerFulfillment */
                        triggerFulfillment?: (google.cloud.dialogflow.cx.v3.IFulfillment|null);

                        /** EventHandler targetPage */
                        targetPage?: (string|null);

                        /** EventHandler targetFlow */
                        targetFlow?: (string|null);
                    }

                    /** Represents an EventHandler. */
                    class EventHandler implements IEventHandler {

                        /**
                         * Constructs a new EventHandler.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IEventHandler);

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

                        /** EventHandler event. */
                        public event: string;

                        /** EventHandler triggerFulfillment. */
                        public triggerFulfillment?: (google.cloud.dialogflow.cx.v3.IFulfillment|null);

                        /** EventHandler targetPage. */
                        public targetPage?: (string|null);

                        /** EventHandler targetFlow. */
                        public targetFlow?: (string|null);

                        /** EventHandler target. */
                        public target?: ("targetPage"|"targetFlow");

                        /**
                         * Creates a new EventHandler instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns EventHandler instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IEventHandler): google.cloud.dialogflow.cx.v3.EventHandler;

                        /**
                         * Encodes the specified EventHandler message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.EventHandler.verify|verify} messages.
                         * @param message EventHandler message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IEventHandler, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified EventHandler message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.EventHandler.verify|verify} messages.
                         * @param message EventHandler message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IEventHandler, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an EventHandler message.
                         * @param message Plain 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 EventHandler message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns EventHandler
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.EventHandler;

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

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

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

                    /** Properties of a TransitionRoute. */
                    interface ITransitionRoute {

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

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

                        /** TransitionRoute intent */
                        intent?: (string|null);

                        /** TransitionRoute condition */
                        condition?: (string|null);

                        /** TransitionRoute triggerFulfillment */
                        triggerFulfillment?: (google.cloud.dialogflow.cx.v3.IFulfillment|null);

                        /** TransitionRoute targetPage */
                        targetPage?: (string|null);

                        /** TransitionRoute targetFlow */
                        targetFlow?: (string|null);
                    }

                    /** Represents a TransitionRoute. */
                    class TransitionRoute implements ITransitionRoute {

                        /**
                         * Constructs a new TransitionRoute.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ITransitionRoute);

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

                        /** TransitionRoute description. */
                        public description: string;

                        /** TransitionRoute intent. */
                        public intent: string;

                        /** TransitionRoute condition. */
                        public condition: string;

                        /** TransitionRoute triggerFulfillment. */
                        public triggerFulfillment?: (google.cloud.dialogflow.cx.v3.IFulfillment|null);

                        /** TransitionRoute targetPage. */
                        public targetPage?: (string|null);

                        /** TransitionRoute targetFlow. */
                        public targetFlow?: (string|null);

                        /** TransitionRoute target. */
                        public target?: ("targetPage"|"targetFlow");

                        /**
                         * Creates a new TransitionRoute instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TransitionRoute instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ITransitionRoute): google.cloud.dialogflow.cx.v3.TransitionRoute;

                        /**
                         * Encodes the specified TransitionRoute message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionRoute.verify|verify} messages.
                         * @param message TransitionRoute message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ITransitionRoute, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TransitionRoute message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionRoute.verify|verify} messages.
                         * @param message TransitionRoute message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ITransitionRoute, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a ListPagesRequest. */
                    interface IListPagesRequest {

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

                        /** ListPagesRequest languageCode */
                        languageCode?: (string|null);

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

                        /** ListPagesRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListPagesRequest. */
                    class ListPagesRequest implements IListPagesRequest {

                        /**
                         * Constructs a new ListPagesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListPagesRequest);

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

                        /** ListPagesRequest languageCode. */
                        public languageCode: string;

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

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

                        /**
                         * Creates a new ListPagesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListPagesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListPagesRequest): google.cloud.dialogflow.cx.v3.ListPagesRequest;

                        /**
                         * Encodes the specified ListPagesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListPagesRequest.verify|verify} messages.
                         * @param message ListPagesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListPagesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListPagesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListPagesRequest.verify|verify} messages.
                         * @param message ListPagesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListPagesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a ListPagesResponse. */
                    interface IListPagesResponse {

                        /** ListPagesResponse pages */
                        pages?: (google.cloud.dialogflow.cx.v3.IPage[]|null);

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

                    /** Represents a ListPagesResponse. */
                    class ListPagesResponse implements IListPagesResponse {

                        /**
                         * Constructs a new ListPagesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListPagesResponse);

                        /** ListPagesResponse pages. */
                        public pages: google.cloud.dialogflow.cx.v3.IPage[];

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

                        /**
                         * Creates a new ListPagesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListPagesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListPagesResponse): google.cloud.dialogflow.cx.v3.ListPagesResponse;

                        /**
                         * Encodes the specified ListPagesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListPagesResponse.verify|verify} messages.
                         * @param message ListPagesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListPagesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListPagesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListPagesResponse.verify|verify} messages.
                         * @param message ListPagesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListPagesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a GetPageRequest. */
                    interface IGetPageRequest {

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

                        /** GetPageRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetPageRequest. */
                    class GetPageRequest implements IGetPageRequest {

                        /**
                         * Constructs a new GetPageRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetPageRequest);

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

                        /** GetPageRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetPageRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetPageRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetPageRequest): google.cloud.dialogflow.cx.v3.GetPageRequest;

                        /**
                         * Encodes the specified GetPageRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetPageRequest.verify|verify} messages.
                         * @param message GetPageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetPageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetPageRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetPageRequest.verify|verify} messages.
                         * @param message GetPageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetPageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a CreatePageRequest. */
                    interface ICreatePageRequest {

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

                        /** CreatePageRequest page */
                        page?: (google.cloud.dialogflow.cx.v3.IPage|null);

                        /** CreatePageRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a CreatePageRequest. */
                    class CreatePageRequest implements ICreatePageRequest {

                        /**
                         * Constructs a new CreatePageRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICreatePageRequest);

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

                        /** CreatePageRequest page. */
                        public page?: (google.cloud.dialogflow.cx.v3.IPage|null);

                        /** CreatePageRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new CreatePageRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreatePageRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICreatePageRequest): google.cloud.dialogflow.cx.v3.CreatePageRequest;

                        /**
                         * Encodes the specified CreatePageRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreatePageRequest.verify|verify} messages.
                         * @param message CreatePageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICreatePageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreatePageRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreatePageRequest.verify|verify} messages.
                         * @param message CreatePageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICreatePageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of an UpdatePageRequest. */
                    interface IUpdatePageRequest {

                        /** UpdatePageRequest page */
                        page?: (google.cloud.dialogflow.cx.v3.IPage|null);

                        /** UpdatePageRequest languageCode */
                        languageCode?: (string|null);

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

                    /** Represents an UpdatePageRequest. */
                    class UpdatePageRequest implements IUpdatePageRequest {

                        /**
                         * Constructs a new UpdatePageRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IUpdatePageRequest);

                        /** UpdatePageRequest page. */
                        public page?: (google.cloud.dialogflow.cx.v3.IPage|null);

                        /** UpdatePageRequest languageCode. */
                        public languageCode: string;

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

                        /**
                         * Creates a new UpdatePageRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdatePageRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IUpdatePageRequest): google.cloud.dialogflow.cx.v3.UpdatePageRequest;

                        /**
                         * Encodes the specified UpdatePageRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdatePageRequest.verify|verify} messages.
                         * @param message UpdatePageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IUpdatePageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdatePageRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdatePageRequest.verify|verify} messages.
                         * @param message UpdatePageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IUpdatePageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                        /**
                         * Verifies an UpdatePageRequest message.
                         * @param message Plain 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 UpdatePageRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdatePageRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.UpdatePageRequest;

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

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

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

                    /** Properties of a DeletePageRequest. */
                    interface IDeletePageRequest {

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

                        /** DeletePageRequest force */
                        force?: (boolean|null);
                    }

                    /** Represents a DeletePageRequest. */
                    class DeletePageRequest implements IDeletePageRequest {

                        /**
                         * Constructs a new DeletePageRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeletePageRequest);

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

                        /** DeletePageRequest force. */
                        public force: boolean;

                        /**
                         * Creates a new DeletePageRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeletePageRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeletePageRequest): google.cloud.dialogflow.cx.v3.DeletePageRequest;

                        /**
                         * Encodes the specified DeletePageRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeletePageRequest.verify|verify} messages.
                         * @param message DeletePageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeletePageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeletePageRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeletePageRequest.verify|verify} messages.
                         * @param message DeletePageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeletePageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a KnowledgeConnectorSettings. */
                    interface IKnowledgeConnectorSettings {

                        /** KnowledgeConnectorSettings enabled */
                        enabled?: (boolean|null);

                        /** KnowledgeConnectorSettings triggerFulfillment */
                        triggerFulfillment?: (google.cloud.dialogflow.cx.v3.IFulfillment|null);

                        /** KnowledgeConnectorSettings targetPage */
                        targetPage?: (string|null);

                        /** KnowledgeConnectorSettings targetFlow */
                        targetFlow?: (string|null);

                        /** KnowledgeConnectorSettings dataStoreConnections */
                        dataStoreConnections?: (google.cloud.dialogflow.cx.v3.IDataStoreConnection[]|null);
                    }

                    /** Represents a KnowledgeConnectorSettings. */
                    class KnowledgeConnectorSettings implements IKnowledgeConnectorSettings {

                        /**
                         * Constructs a new KnowledgeConnectorSettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IKnowledgeConnectorSettings);

                        /** KnowledgeConnectorSettings enabled. */
                        public enabled: boolean;

                        /** KnowledgeConnectorSettings triggerFulfillment. */
                        public triggerFulfillment?: (google.cloud.dialogflow.cx.v3.IFulfillment|null);

                        /** KnowledgeConnectorSettings targetPage. */
                        public targetPage?: (string|null);

                        /** KnowledgeConnectorSettings targetFlow. */
                        public targetFlow?: (string|null);

                        /** KnowledgeConnectorSettings dataStoreConnections. */
                        public dataStoreConnections: google.cloud.dialogflow.cx.v3.IDataStoreConnection[];

                        /** KnowledgeConnectorSettings target. */
                        public target?: ("targetPage"|"targetFlow");

                        /**
                         * Creates a new KnowledgeConnectorSettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns KnowledgeConnectorSettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IKnowledgeConnectorSettings): google.cloud.dialogflow.cx.v3.KnowledgeConnectorSettings;

                        /**
                         * Encodes the specified KnowledgeConnectorSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.KnowledgeConnectorSettings.verify|verify} messages.
                         * @param message KnowledgeConnectorSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IKnowledgeConnectorSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified KnowledgeConnectorSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.KnowledgeConnectorSettings.verify|verify} messages.
                         * @param message KnowledgeConnectorSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IKnowledgeConnectorSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a DataStoreConnection. */
                    interface IDataStoreConnection {

                        /** DataStoreConnection dataStoreType */
                        dataStoreType?: (google.cloud.dialogflow.cx.v3.DataStoreType|keyof typeof google.cloud.dialogflow.cx.v3.DataStoreType|null);

                        /** DataStoreConnection dataStore */
                        dataStore?: (string|null);

                        /** DataStoreConnection documentProcessingMode */
                        documentProcessingMode?: (google.cloud.dialogflow.cx.v3.DocumentProcessingMode|keyof typeof google.cloud.dialogflow.cx.v3.DocumentProcessingMode|null);
                    }

                    /** Represents a DataStoreConnection. */
                    class DataStoreConnection implements IDataStoreConnection {

                        /**
                         * Constructs a new DataStoreConnection.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDataStoreConnection);

                        /** DataStoreConnection dataStoreType. */
                        public dataStoreType: (google.cloud.dialogflow.cx.v3.DataStoreType|keyof typeof google.cloud.dialogflow.cx.v3.DataStoreType);

                        /** DataStoreConnection dataStore. */
                        public dataStore: string;

                        /** DataStoreConnection documentProcessingMode. */
                        public documentProcessingMode: (google.cloud.dialogflow.cx.v3.DocumentProcessingMode|keyof typeof google.cloud.dialogflow.cx.v3.DocumentProcessingMode);

                        /**
                         * Creates a new DataStoreConnection instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DataStoreConnection instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDataStoreConnection): google.cloud.dialogflow.cx.v3.DataStoreConnection;

                        /**
                         * Encodes the specified DataStoreConnection message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnection.verify|verify} messages.
                         * @param message DataStoreConnection message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDataStoreConnection, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DataStoreConnection message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnection.verify|verify} messages.
                         * @param message DataStoreConnection message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDataStoreConnection, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** DataStoreType enum. */
                    enum DataStoreType {
                        DATA_STORE_TYPE_UNSPECIFIED = 0,
                        PUBLIC_WEB = 1,
                        UNSTRUCTURED = 2,
                        STRUCTURED = 3
                    }

                    /** Properties of a DataStoreConnectionSignals. */
                    interface IDataStoreConnectionSignals {

                        /** DataStoreConnectionSignals rewriterModelCallSignals */
                        rewriterModelCallSignals?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IRewriterModelCallSignals|null);

                        /** DataStoreConnectionSignals rewrittenQuery */
                        rewrittenQuery?: (string|null);

                        /** DataStoreConnectionSignals searchSnippets */
                        searchSnippets?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ISearchSnippet[]|null);

                        /** DataStoreConnectionSignals answerGenerationModelCallSignals */
                        answerGenerationModelCallSignals?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IAnswerGenerationModelCallSignals|null);

                        /** DataStoreConnectionSignals answer */
                        answer?: (string|null);

                        /** DataStoreConnectionSignals answerParts */
                        answerParts?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IAnswerPart[]|null);

                        /** DataStoreConnectionSignals citedSnippets */
                        citedSnippets?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ICitedSnippet[]|null);

                        /** DataStoreConnectionSignals groundingSignals */
                        groundingSignals?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IGroundingSignals|null);

                        /** DataStoreConnectionSignals safetySignals */
                        safetySignals?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ISafetySignals|null);
                    }

                    /** Represents a DataStoreConnectionSignals. */
                    class DataStoreConnectionSignals implements IDataStoreConnectionSignals {

                        /**
                         * Constructs a new DataStoreConnectionSignals.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDataStoreConnectionSignals);

                        /** DataStoreConnectionSignals rewriterModelCallSignals. */
                        public rewriterModelCallSignals?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IRewriterModelCallSignals|null);

                        /** DataStoreConnectionSignals rewrittenQuery. */
                        public rewrittenQuery: string;

                        /** DataStoreConnectionSignals searchSnippets. */
                        public searchSnippets: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ISearchSnippet[];

                        /** DataStoreConnectionSignals answerGenerationModelCallSignals. */
                        public answerGenerationModelCallSignals?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IAnswerGenerationModelCallSignals|null);

                        /** DataStoreConnectionSignals answer. */
                        public answer: string;

                        /** DataStoreConnectionSignals answerParts. */
                        public answerParts: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IAnswerPart[];

                        /** DataStoreConnectionSignals citedSnippets. */
                        public citedSnippets: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ICitedSnippet[];

                        /** DataStoreConnectionSignals groundingSignals. */
                        public groundingSignals?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IGroundingSignals|null);

                        /** DataStoreConnectionSignals safetySignals. */
                        public safetySignals?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ISafetySignals|null);

                        /**
                         * Creates a new DataStoreConnectionSignals instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DataStoreConnectionSignals instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDataStoreConnectionSignals): google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals;

                        /**
                         * Encodes the specified DataStoreConnectionSignals message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.verify|verify} messages.
                         * @param message DataStoreConnectionSignals message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDataStoreConnectionSignals, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DataStoreConnectionSignals message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.verify|verify} messages.
                         * @param message DataStoreConnectionSignals message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDataStoreConnectionSignals, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    namespace DataStoreConnectionSignals {

                        /** Properties of a RewriterModelCallSignals. */
                        interface IRewriterModelCallSignals {

                            /** RewriterModelCallSignals renderedPrompt */
                            renderedPrompt?: (string|null);

                            /** RewriterModelCallSignals modelOutput */
                            modelOutput?: (string|null);

                            /** RewriterModelCallSignals model */
                            model?: (string|null);
                        }

                        /** Represents a RewriterModelCallSignals. */
                        class RewriterModelCallSignals implements IRewriterModelCallSignals {

                            /**
                             * Constructs a new RewriterModelCallSignals.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IRewriterModelCallSignals);

                            /** RewriterModelCallSignals renderedPrompt. */
                            public renderedPrompt: string;

                            /** RewriterModelCallSignals modelOutput. */
                            public modelOutput: string;

                            /** RewriterModelCallSignals model. */
                            public model: string;

                            /**
                             * Creates a new RewriterModelCallSignals instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns RewriterModelCallSignals instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IRewriterModelCallSignals): google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.RewriterModelCallSignals;

                            /**
                             * Encodes the specified RewriterModelCallSignals message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.RewriterModelCallSignals.verify|verify} messages.
                             * @param message RewriterModelCallSignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IRewriterModelCallSignals, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified RewriterModelCallSignals message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.RewriterModelCallSignals.verify|verify} messages.
                             * @param message RewriterModelCallSignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IRewriterModelCallSignals, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a RewriterModelCallSignals message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns RewriterModelCallSignals
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.RewriterModelCallSignals;

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

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

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

                        /** Properties of a SearchSnippet. */
                        interface ISearchSnippet {

                            /** SearchSnippet documentTitle */
                            documentTitle?: (string|null);

                            /** SearchSnippet documentUri */
                            documentUri?: (string|null);

                            /** SearchSnippet text */
                            text?: (string|null);
                        }

                        /** Represents a SearchSnippet. */
                        class SearchSnippet implements ISearchSnippet {

                            /**
                             * Constructs a new SearchSnippet.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ISearchSnippet);

                            /** SearchSnippet documentTitle. */
                            public documentTitle: string;

                            /** SearchSnippet documentUri. */
                            public documentUri: string;

                            /** SearchSnippet text. */
                            public text: string;

                            /**
                             * Creates a new SearchSnippet instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns SearchSnippet instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ISearchSnippet): google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SearchSnippet;

                            /**
                             * Encodes the specified SearchSnippet message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SearchSnippet.verify|verify} messages.
                             * @param message SearchSnippet message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ISearchSnippet, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified SearchSnippet message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SearchSnippet.verify|verify} messages.
                             * @param message SearchSnippet message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ISearchSnippet, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a SearchSnippet message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns SearchSnippet
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SearchSnippet;

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

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

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

                        /** Properties of an AnswerGenerationModelCallSignals. */
                        interface IAnswerGenerationModelCallSignals {

                            /** AnswerGenerationModelCallSignals renderedPrompt */
                            renderedPrompt?: (string|null);

                            /** AnswerGenerationModelCallSignals modelOutput */
                            modelOutput?: (string|null);

                            /** AnswerGenerationModelCallSignals model */
                            model?: (string|null);
                        }

                        /** Represents an AnswerGenerationModelCallSignals. */
                        class AnswerGenerationModelCallSignals implements IAnswerGenerationModelCallSignals {

                            /**
                             * Constructs a new AnswerGenerationModelCallSignals.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IAnswerGenerationModelCallSignals);

                            /** AnswerGenerationModelCallSignals renderedPrompt. */
                            public renderedPrompt: string;

                            /** AnswerGenerationModelCallSignals modelOutput. */
                            public modelOutput: string;

                            /** AnswerGenerationModelCallSignals model. */
                            public model: string;

                            /**
                             * Creates a new AnswerGenerationModelCallSignals instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns AnswerGenerationModelCallSignals instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IAnswerGenerationModelCallSignals): google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.AnswerGenerationModelCallSignals;

                            /**
                             * Encodes the specified AnswerGenerationModelCallSignals message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.AnswerGenerationModelCallSignals.verify|verify} messages.
                             * @param message AnswerGenerationModelCallSignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IAnswerGenerationModelCallSignals, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified AnswerGenerationModelCallSignals message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.AnswerGenerationModelCallSignals.verify|verify} messages.
                             * @param message AnswerGenerationModelCallSignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IAnswerGenerationModelCallSignals, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                            /**
                             * Verifies an AnswerGenerationModelCallSignals message.
                             * @param message Plain 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 AnswerGenerationModelCallSignals message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns AnswerGenerationModelCallSignals
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.AnswerGenerationModelCallSignals;

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

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

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

                        /** Properties of an AnswerPart. */
                        interface IAnswerPart {

                            /** AnswerPart text */
                            text?: (string|null);

                            /** AnswerPart supportingIndices */
                            supportingIndices?: (number[]|null);
                        }

                        /** Represents an AnswerPart. */
                        class AnswerPart implements IAnswerPart {

                            /**
                             * Constructs a new AnswerPart.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IAnswerPart);

                            /** AnswerPart text. */
                            public text: string;

                            /** AnswerPart supportingIndices. */
                            public supportingIndices: number[];

                            /**
                             * Creates a new AnswerPart instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns AnswerPart instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IAnswerPart): google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.AnswerPart;

                            /**
                             * Encodes the specified AnswerPart message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.AnswerPart.verify|verify} messages.
                             * @param message AnswerPart message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IAnswerPart, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified AnswerPart message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.AnswerPart.verify|verify} messages.
                             * @param message AnswerPart message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IAnswerPart, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                            /**
                             * Verifies an AnswerPart message.
                             * @param message Plain 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 AnswerPart message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns AnswerPart
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.AnswerPart;

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

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

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

                        /** Properties of a CitedSnippet. */
                        interface ICitedSnippet {

                            /** CitedSnippet searchSnippet */
                            searchSnippet?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ISearchSnippet|null);

                            /** CitedSnippet snippetIndex */
                            snippetIndex?: (number|null);
                        }

                        /** Represents a CitedSnippet. */
                        class CitedSnippet implements ICitedSnippet {

                            /**
                             * Constructs a new CitedSnippet.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ICitedSnippet);

                            /** CitedSnippet searchSnippet. */
                            public searchSnippet?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ISearchSnippet|null);

                            /** CitedSnippet snippetIndex. */
                            public snippetIndex: number;

                            /**
                             * Creates a new CitedSnippet instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns CitedSnippet instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ICitedSnippet): google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.CitedSnippet;

                            /**
                             * Encodes the specified CitedSnippet message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.CitedSnippet.verify|verify} messages.
                             * @param message CitedSnippet message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ICitedSnippet, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified CitedSnippet message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.CitedSnippet.verify|verify} messages.
                             * @param message CitedSnippet message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ICitedSnippet, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a CitedSnippet message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns CitedSnippet
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.CitedSnippet;

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

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

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

                        /** Properties of a GroundingSignals. */
                        interface IGroundingSignals {

                            /** GroundingSignals decision */
                            decision?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.GroundingSignals.GroundingDecision|keyof typeof google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.GroundingSignals.GroundingDecision|null);

                            /** GroundingSignals score */
                            score?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.GroundingSignals.GroundingScoreBucket|keyof typeof google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.GroundingSignals.GroundingScoreBucket|null);
                        }

                        /** Represents a GroundingSignals. */
                        class GroundingSignals implements IGroundingSignals {

                            /**
                             * Constructs a new GroundingSignals.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IGroundingSignals);

                            /** GroundingSignals decision. */
                            public decision: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.GroundingSignals.GroundingDecision|keyof typeof google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.GroundingSignals.GroundingDecision);

                            /** GroundingSignals score. */
                            public score: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.GroundingSignals.GroundingScoreBucket|keyof typeof google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.GroundingSignals.GroundingScoreBucket);

                            /**
                             * Creates a new GroundingSignals instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns GroundingSignals instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IGroundingSignals): google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.GroundingSignals;

                            /**
                             * Encodes the specified GroundingSignals message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.GroundingSignals.verify|verify} messages.
                             * @param message GroundingSignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IGroundingSignals, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified GroundingSignals message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.GroundingSignals.verify|verify} messages.
                             * @param message GroundingSignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.IGroundingSignals, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a GroundingSignals message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns GroundingSignals
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.GroundingSignals;

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

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

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

                        namespace GroundingSignals {

                            /** GroundingDecision enum. */
                            enum GroundingDecision {
                                GROUNDING_DECISION_UNSPECIFIED = 0,
                                ACCEPTED_BY_GROUNDING = 1,
                                REJECTED_BY_GROUNDING = 2
                            }

                            /** GroundingScoreBucket enum. */
                            enum GroundingScoreBucket {
                                GROUNDING_SCORE_BUCKET_UNSPECIFIED = 0,
                                VERY_LOW = 1,
                                LOW = 3,
                                MEDIUM = 4,
                                HIGH = 5,
                                VERY_HIGH = 6
                            }
                        }

                        /** Properties of a SafetySignals. */
                        interface ISafetySignals {

                            /** SafetySignals decision */
                            decision?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SafetySignals.SafetyDecision|keyof typeof google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SafetySignals.SafetyDecision|null);

                            /** SafetySignals bannedPhraseMatch */
                            bannedPhraseMatch?: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SafetySignals.BannedPhraseMatch|keyof typeof google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SafetySignals.BannedPhraseMatch|null);

                            /** SafetySignals matchedBannedPhrase */
                            matchedBannedPhrase?: (string|null);
                        }

                        /** Represents a SafetySignals. */
                        class SafetySignals implements ISafetySignals {

                            /**
                             * Constructs a new SafetySignals.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ISafetySignals);

                            /** SafetySignals decision. */
                            public decision: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SafetySignals.SafetyDecision|keyof typeof google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SafetySignals.SafetyDecision);

                            /** SafetySignals bannedPhraseMatch. */
                            public bannedPhraseMatch: (google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SafetySignals.BannedPhraseMatch|keyof typeof google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SafetySignals.BannedPhraseMatch);

                            /** SafetySignals matchedBannedPhrase. */
                            public matchedBannedPhrase: string;

                            /**
                             * Creates a new SafetySignals instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns SafetySignals instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ISafetySignals): google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SafetySignals;

                            /**
                             * Encodes the specified SafetySignals message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SafetySignals.verify|verify} messages.
                             * @param message SafetySignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ISafetySignals, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified SafetySignals message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SafetySignals.verify|verify} messages.
                             * @param message SafetySignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.ISafetySignals, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a SafetySignals message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns SafetySignals
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DataStoreConnectionSignals.SafetySignals;

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

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

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

                        namespace SafetySignals {

                            /** SafetyDecision enum. */
                            enum SafetyDecision {
                                SAFETY_DECISION_UNSPECIFIED = 0,
                                ACCEPTED_BY_SAFETY_CHECK = 1,
                                REJECTED_BY_SAFETY_CHECK = 2
                            }

                            /** BannedPhraseMatch enum. */
                            enum BannedPhraseMatch {
                                BANNED_PHRASE_MATCH_UNSPECIFIED = 0,
                                BANNED_PHRASE_MATCH_NONE = 1,
                                BANNED_PHRASE_MATCH_QUERY = 2,
                                BANNED_PHRASE_MATCH_RESPONSE = 3
                            }
                        }
                    }

                    /** DocumentProcessingMode enum. */
                    enum DocumentProcessingMode {
                        DOCUMENT_PROCESSING_MODE_UNSPECIFIED = 0,
                        DOCUMENTS = 1,
                        CHUNKS = 2
                    }

                    /** Properties of a Fulfillment. */
                    interface IFulfillment {

                        /** Fulfillment messages */
                        messages?: (google.cloud.dialogflow.cx.v3.IResponseMessage[]|null);

                        /** Fulfillment webhook */
                        webhook?: (string|null);

                        /** Fulfillment returnPartialResponses */
                        returnPartialResponses?: (boolean|null);

                        /** Fulfillment tag */
                        tag?: (string|null);

                        /** Fulfillment setParameterActions */
                        setParameterActions?: (google.cloud.dialogflow.cx.v3.Fulfillment.ISetParameterAction[]|null);

                        /** Fulfillment conditionalCases */
                        conditionalCases?: (google.cloud.dialogflow.cx.v3.Fulfillment.IConditionalCases[]|null);

                        /** Fulfillment advancedSettings */
                        advancedSettings?: (google.cloud.dialogflow.cx.v3.IAdvancedSettings|null);

                        /** Fulfillment enableGenerativeFallback */
                        enableGenerativeFallback?: (boolean|null);
                    }

                    /** Represents a Fulfillment. */
                    class Fulfillment implements IFulfillment {

                        /**
                         * Constructs a new Fulfillment.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IFulfillment);

                        /** Fulfillment messages. */
                        public messages: google.cloud.dialogflow.cx.v3.IResponseMessage[];

                        /** Fulfillment webhook. */
                        public webhook: string;

                        /** Fulfillment returnPartialResponses. */
                        public returnPartialResponses: boolean;

                        /** Fulfillment tag. */
                        public tag: string;

                        /** Fulfillment setParameterActions. */
                        public setParameterActions: google.cloud.dialogflow.cx.v3.Fulfillment.ISetParameterAction[];

                        /** Fulfillment conditionalCases. */
                        public conditionalCases: google.cloud.dialogflow.cx.v3.Fulfillment.IConditionalCases[];

                        /** Fulfillment advancedSettings. */
                        public advancedSettings?: (google.cloud.dialogflow.cx.v3.IAdvancedSettings|null);

                        /** Fulfillment enableGenerativeFallback. */
                        public enableGenerativeFallback: boolean;

                        /**
                         * Creates a new Fulfillment instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Fulfillment instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IFulfillment): google.cloud.dialogflow.cx.v3.Fulfillment;

                        /**
                         * Encodes the specified Fulfillment message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Fulfillment.verify|verify} messages.
                         * @param message Fulfillment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IFulfillment, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Fulfillment message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Fulfillment.verify|verify} messages.
                         * @param message Fulfillment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IFulfillment, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    namespace Fulfillment {

                        /** Properties of a SetParameterAction. */
                        interface ISetParameterAction {

                            /** SetParameterAction parameter */
                            parameter?: (string|null);

                            /** SetParameterAction value */
                            value?: (google.protobuf.IValue|null);
                        }

                        /** Represents a SetParameterAction. */
                        class SetParameterAction implements ISetParameterAction {

                            /**
                             * Constructs a new SetParameterAction.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Fulfillment.ISetParameterAction);

                            /** SetParameterAction parameter. */
                            public parameter: string;

                            /** SetParameterAction value. */
                            public value?: (google.protobuf.IValue|null);

                            /**
                             * Creates a new SetParameterAction instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns SetParameterAction instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Fulfillment.ISetParameterAction): google.cloud.dialogflow.cx.v3.Fulfillment.SetParameterAction;

                            /**
                             * Encodes the specified SetParameterAction message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Fulfillment.SetParameterAction.verify|verify} messages.
                             * @param message SetParameterAction message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Fulfillment.ISetParameterAction, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified SetParameterAction message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Fulfillment.SetParameterAction.verify|verify} messages.
                             * @param message SetParameterAction message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Fulfillment.ISetParameterAction, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a SetParameterAction message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns SetParameterAction
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Fulfillment.SetParameterAction;

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

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

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

                        /** Properties of a ConditionalCases. */
                        interface IConditionalCases {

                            /** ConditionalCases cases */
                            cases?: (google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.ICase[]|null);
                        }

                        /** Represents a ConditionalCases. */
                        class ConditionalCases implements IConditionalCases {

                            /**
                             * Constructs a new ConditionalCases.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Fulfillment.IConditionalCases);

                            /** ConditionalCases cases. */
                            public cases: google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.ICase[];

                            /**
                             * Creates a new ConditionalCases instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ConditionalCases instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Fulfillment.IConditionalCases): google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases;

                            /**
                             * Encodes the specified ConditionalCases message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.verify|verify} messages.
                             * @param message ConditionalCases message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Fulfillment.IConditionalCases, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ConditionalCases message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.verify|verify} messages.
                             * @param message ConditionalCases message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Fulfillment.IConditionalCases, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a ConditionalCases message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ConditionalCases
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases;

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

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

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

                        namespace ConditionalCases {

                            /** Properties of a Case. */
                            interface ICase {

                                /** Case condition */
                                condition?: (string|null);

                                /** Case caseContent */
                                caseContent?: (google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case.ICaseContent[]|null);
                            }

                            /** Represents a Case. */
                            class Case implements ICase {

                                /**
                                 * Constructs a new Case.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.ICase);

                                /** Case condition. */
                                public condition: string;

                                /** Case caseContent. */
                                public caseContent: google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case.ICaseContent[];

                                /**
                                 * Creates a new Case instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns Case instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.ICase): google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case;

                                /**
                                 * Encodes the specified Case message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case.verify|verify} messages.
                                 * @param message Case message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.ICase, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified Case message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case.verify|verify} messages.
                                 * @param message Case message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.ICase, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                                /**
                                 * Creates a Case message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns Case
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case;

                                /**
                                 * Creates a plain object from a Case message. Also converts values to other types if specified.
                                 * @param message Case
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case, options?: $protobuf.IConversionOptions): { [k: string]: any };

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

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

                            namespace Case {

                                /** Properties of a CaseContent. */
                                interface ICaseContent {

                                    /** CaseContent message */
                                    message?: (google.cloud.dialogflow.cx.v3.IResponseMessage|null);

                                    /** CaseContent additionalCases */
                                    additionalCases?: (google.cloud.dialogflow.cx.v3.Fulfillment.IConditionalCases|null);
                                }

                                /** Represents a CaseContent. */
                                class CaseContent implements ICaseContent {

                                    /**
                                     * Constructs a new CaseContent.
                                     * @param [properties] Properties to set
                                     */
                                    constructor(properties?: google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case.ICaseContent);

                                    /** CaseContent message. */
                                    public message?: (google.cloud.dialogflow.cx.v3.IResponseMessage|null);

                                    /** CaseContent additionalCases. */
                                    public additionalCases?: (google.cloud.dialogflow.cx.v3.Fulfillment.IConditionalCases|null);

                                    /** CaseContent casesOrMessage. */
                                    public casesOrMessage?: ("message"|"additionalCases");

                                    /**
                                     * Creates a new CaseContent instance using the specified properties.
                                     * @param [properties] Properties to set
                                     * @returns CaseContent instance
                                     */
                                    public static create(properties?: google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case.ICaseContent): google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case.CaseContent;

                                    /**
                                     * Encodes the specified CaseContent message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case.CaseContent.verify|verify} messages.
                                     * @param message CaseContent message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encode(message: google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case.ICaseContent, writer?: $protobuf.Writer): $protobuf.Writer;

                                    /**
                                     * Encodes the specified CaseContent message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case.CaseContent.verify|verify} messages.
                                     * @param message CaseContent message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case.ICaseContent, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                                    /**
                                     * Creates a CaseContent message from a plain object. Also converts values to their respective internal types.
                                     * @param object Plain object
                                     * @returns CaseContent
                                     */
                                    public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case.CaseContent;

                                    /**
                                     * Creates a plain object from a CaseContent message. Also converts values to other types if specified.
                                     * @param message CaseContent
                                     * @param [options] Conversion options
                                     * @returns Plain object
                                     */
                                    public static toObject(message: google.cloud.dialogflow.cx.v3.Fulfillment.ConditionalCases.Case.CaseContent, options?: $protobuf.IConversionOptions): { [k: string]: any };

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

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

                    /** Properties of a ResponseMessage. */
                    interface IResponseMessage {

                        /** ResponseMessage text */
                        text?: (google.cloud.dialogflow.cx.v3.ResponseMessage.IText|null);

                        /** ResponseMessage payload */
                        payload?: (google.protobuf.IStruct|null);

                        /** ResponseMessage conversationSuccess */
                        conversationSuccess?: (google.cloud.dialogflow.cx.v3.ResponseMessage.IConversationSuccess|null);

                        /** ResponseMessage outputAudioText */
                        outputAudioText?: (google.cloud.dialogflow.cx.v3.ResponseMessage.IOutputAudioText|null);

                        /** ResponseMessage liveAgentHandoff */
                        liveAgentHandoff?: (google.cloud.dialogflow.cx.v3.ResponseMessage.ILiveAgentHandoff|null);

                        /** ResponseMessage endInteraction */
                        endInteraction?: (google.cloud.dialogflow.cx.v3.ResponseMessage.IEndInteraction|null);

                        /** ResponseMessage playAudio */
                        playAudio?: (google.cloud.dialogflow.cx.v3.ResponseMessage.IPlayAudio|null);

                        /** ResponseMessage mixedAudio */
                        mixedAudio?: (google.cloud.dialogflow.cx.v3.ResponseMessage.IMixedAudio|null);

                        /** ResponseMessage telephonyTransferCall */
                        telephonyTransferCall?: (google.cloud.dialogflow.cx.v3.ResponseMessage.ITelephonyTransferCall|null);

                        /** ResponseMessage knowledgeInfoCard */
                        knowledgeInfoCard?: (google.cloud.dialogflow.cx.v3.ResponseMessage.IKnowledgeInfoCard|null);

                        /** ResponseMessage responseType */
                        responseType?: (google.cloud.dialogflow.cx.v3.ResponseMessage.ResponseType|keyof typeof google.cloud.dialogflow.cx.v3.ResponseMessage.ResponseType|null);

                        /** ResponseMessage channel */
                        channel?: (string|null);
                    }

                    /** Represents a ResponseMessage. */
                    class ResponseMessage implements IResponseMessage {

                        /**
                         * Constructs a new ResponseMessage.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IResponseMessage);

                        /** ResponseMessage text. */
                        public text?: (google.cloud.dialogflow.cx.v3.ResponseMessage.IText|null);

                        /** ResponseMessage payload. */
                        public payload?: (google.protobuf.IStruct|null);

                        /** ResponseMessage conversationSuccess. */
                        public conversationSuccess?: (google.cloud.dialogflow.cx.v3.ResponseMessage.IConversationSuccess|null);

                        /** ResponseMessage outputAudioText. */
                        public outputAudioText?: (google.cloud.dialogflow.cx.v3.ResponseMessage.IOutputAudioText|null);

                        /** ResponseMessage liveAgentHandoff. */
                        public liveAgentHandoff?: (google.cloud.dialogflow.cx.v3.ResponseMessage.ILiveAgentHandoff|null);

                        /** ResponseMessage endInteraction. */
                        public endInteraction?: (google.cloud.dialogflow.cx.v3.ResponseMessage.IEndInteraction|null);

                        /** ResponseMessage playAudio. */
                        public playAudio?: (google.cloud.dialogflow.cx.v3.ResponseMessage.IPlayAudio|null);

                        /** ResponseMessage mixedAudio. */
                        public mixedAudio?: (google.cloud.dialogflow.cx.v3.ResponseMessage.IMixedAudio|null);

                        /** ResponseMessage telephonyTransferCall. */
                        public telephonyTransferCall?: (google.cloud.dialogflow.cx.v3.ResponseMessage.ITelephonyTransferCall|null);

                        /** ResponseMessage knowledgeInfoCard. */
                        public knowledgeInfoCard?: (google.cloud.dialogflow.cx.v3.ResponseMessage.IKnowledgeInfoCard|null);

                        /** ResponseMessage responseType. */
                        public responseType: (google.cloud.dialogflow.cx.v3.ResponseMessage.ResponseType|keyof typeof google.cloud.dialogflow.cx.v3.ResponseMessage.ResponseType);

                        /** ResponseMessage channel. */
                        public channel: string;

                        /** ResponseMessage message. */
                        public message?: ("text"|"payload"|"conversationSuccess"|"outputAudioText"|"liveAgentHandoff"|"endInteraction"|"playAudio"|"mixedAudio"|"telephonyTransferCall"|"knowledgeInfoCard");

                        /**
                         * Creates a new ResponseMessage instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ResponseMessage instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IResponseMessage): google.cloud.dialogflow.cx.v3.ResponseMessage;

                        /**
                         * Encodes the specified ResponseMessage message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.verify|verify} messages.
                         * @param message ResponseMessage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IResponseMessage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ResponseMessage message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.verify|verify} messages.
                         * @param message ResponseMessage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IResponseMessage, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    namespace ResponseMessage {

                        /** Properties of a Text. */
                        interface IText {

                            /** Text text */
                            text?: (string[]|null);

                            /** Text allowPlaybackInterruption */
                            allowPlaybackInterruption?: (boolean|null);
                        }

                        /** Represents a Text. */
                        class Text implements IText {

                            /**
                             * Constructs a new Text.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.IText);

                            /** Text text. */
                            public text: string[];

                            /** Text allowPlaybackInterruption. */
                            public allowPlaybackInterruption: boolean;

                            /**
                             * Creates a new Text instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Text instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.IText): google.cloud.dialogflow.cx.v3.ResponseMessage.Text;

                            /**
                             * Encodes the specified Text message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.Text.verify|verify} messages.
                             * @param message Text message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.ResponseMessage.IText, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Text message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.Text.verify|verify} messages.
                             * @param message Text message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ResponseMessage.IText, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a Text message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Text
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ResponseMessage.Text;

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

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

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

                        /** Properties of a LiveAgentHandoff. */
                        interface ILiveAgentHandoff {

                            /** LiveAgentHandoff metadata */
                            metadata?: (google.protobuf.IStruct|null);
                        }

                        /** Represents a LiveAgentHandoff. */
                        class LiveAgentHandoff implements ILiveAgentHandoff {

                            /**
                             * Constructs a new LiveAgentHandoff.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.ILiveAgentHandoff);

                            /** LiveAgentHandoff metadata. */
                            public metadata?: (google.protobuf.IStruct|null);

                            /**
                             * Creates a new LiveAgentHandoff instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns LiveAgentHandoff instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.ILiveAgentHandoff): google.cloud.dialogflow.cx.v3.ResponseMessage.LiveAgentHandoff;

                            /**
                             * Encodes the specified LiveAgentHandoff message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.LiveAgentHandoff.verify|verify} messages.
                             * @param message LiveAgentHandoff message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.ResponseMessage.ILiveAgentHandoff, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified LiveAgentHandoff message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.LiveAgentHandoff.verify|verify} messages.
                             * @param message LiveAgentHandoff message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ResponseMessage.ILiveAgentHandoff, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a LiveAgentHandoff message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns LiveAgentHandoff
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ResponseMessage.LiveAgentHandoff;

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

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

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

                        /** Properties of a ConversationSuccess. */
                        interface IConversationSuccess {

                            /** ConversationSuccess metadata */
                            metadata?: (google.protobuf.IStruct|null);
                        }

                        /** Represents a ConversationSuccess. */
                        class ConversationSuccess implements IConversationSuccess {

                            /**
                             * Constructs a new ConversationSuccess.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.IConversationSuccess);

                            /** ConversationSuccess metadata. */
                            public metadata?: (google.protobuf.IStruct|null);

                            /**
                             * Creates a new ConversationSuccess instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ConversationSuccess instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.IConversationSuccess): google.cloud.dialogflow.cx.v3.ResponseMessage.ConversationSuccess;

                            /**
                             * Encodes the specified ConversationSuccess message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.ConversationSuccess.verify|verify} messages.
                             * @param message ConversationSuccess message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.ResponseMessage.IConversationSuccess, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ConversationSuccess message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.ConversationSuccess.verify|verify} messages.
                             * @param message ConversationSuccess message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ResponseMessage.IConversationSuccess, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a ConversationSuccess message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ConversationSuccess
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ResponseMessage.ConversationSuccess;

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

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

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

                        /** Properties of an OutputAudioText. */
                        interface IOutputAudioText {

                            /** OutputAudioText text */
                            text?: (string|null);

                            /** OutputAudioText ssml */
                            ssml?: (string|null);

                            /** OutputAudioText allowPlaybackInterruption */
                            allowPlaybackInterruption?: (boolean|null);
                        }

                        /** Represents an OutputAudioText. */
                        class OutputAudioText implements IOutputAudioText {

                            /**
                             * Constructs a new OutputAudioText.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.IOutputAudioText);

                            /** OutputAudioText text. */
                            public text?: (string|null);

                            /** OutputAudioText ssml. */
                            public ssml?: (string|null);

                            /** OutputAudioText allowPlaybackInterruption. */
                            public allowPlaybackInterruption: boolean;

                            /** OutputAudioText source. */
                            public source?: ("text"|"ssml");

                            /**
                             * Creates a new OutputAudioText instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns OutputAudioText instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.IOutputAudioText): google.cloud.dialogflow.cx.v3.ResponseMessage.OutputAudioText;

                            /**
                             * Encodes the specified OutputAudioText message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.OutputAudioText.verify|verify} messages.
                             * @param message OutputAudioText message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.ResponseMessage.IOutputAudioText, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified OutputAudioText message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.OutputAudioText.verify|verify} messages.
                             * @param message OutputAudioText message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ResponseMessage.IOutputAudioText, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                            /**
                             * Verifies an OutputAudioText message.
                             * @param message Plain 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 OutputAudioText message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns OutputAudioText
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ResponseMessage.OutputAudioText;

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

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

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

                        /** Properties of an EndInteraction. */
                        interface IEndInteraction {
                        }

                        /** Represents an EndInteraction. */
                        class EndInteraction implements IEndInteraction {

                            /**
                             * Constructs a new EndInteraction.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.IEndInteraction);

                            /**
                             * Creates a new EndInteraction instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns EndInteraction instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.IEndInteraction): google.cloud.dialogflow.cx.v3.ResponseMessage.EndInteraction;

                            /**
                             * Encodes the specified EndInteraction message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.EndInteraction.verify|verify} messages.
                             * @param message EndInteraction message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.ResponseMessage.IEndInteraction, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified EndInteraction message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.EndInteraction.verify|verify} messages.
                             * @param message EndInteraction message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ResponseMessage.IEndInteraction, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

                            /**
                             * Verifies an EndInteraction message.
                             * @param message Plain 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 EndInteraction message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns EndInteraction
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ResponseMessage.EndInteraction;

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

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

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

                        /** Properties of a PlayAudio. */
                        interface IPlayAudio {

                            /** PlayAudio audioUri */
                            audioUri?: (string|null);

                            /** PlayAudio allowPlaybackInterruption */
                            allowPlaybackInterruption?: (boolean|null);
                        }

                        /** Represents a PlayAudio. */
                        class PlayAudio implements IPlayAudio {

                            /**
                             * Constructs a new PlayAudio.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.IPlayAudio);

                            /** PlayAudio audioUri. */
                            public audioUri: string;

                            /** PlayAudio allowPlaybackInterruption. */
                            public allowPlaybackInterruption: boolean;

                            /**
                             * Creates a new PlayAudio instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns PlayAudio instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.IPlayAudio): google.cloud.dialogflow.cx.v3.ResponseMessage.PlayAudio;

                            /**
                             * Encodes the specified PlayAudio message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.PlayAudio.verify|verify} messages.
                             * @param message PlayAudio message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.ResponseMessage.IPlayAudio, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified PlayAudio message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.PlayAudio.verify|verify} messages.
                             * @param message PlayAudio message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ResponseMessage.IPlayAudio, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a PlayAudio message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns PlayAudio
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ResponseMessage.PlayAudio;

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

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

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

                        /** Properties of a MixedAudio. */
                        interface IMixedAudio {

                            /** MixedAudio segments */
                            segments?: (google.cloud.dialogflow.cx.v3.ResponseMessage.MixedAudio.ISegment[]|null);
                        }

                        /** Represents a MixedAudio. */
                        class MixedAudio implements IMixedAudio {

                            /**
                             * Constructs a new MixedAudio.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.IMixedAudio);

                            /** MixedAudio segments. */
                            public segments: google.cloud.dialogflow.cx.v3.ResponseMessage.MixedAudio.ISegment[];

                            /**
                             * Creates a new MixedAudio instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns MixedAudio instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.IMixedAudio): google.cloud.dialogflow.cx.v3.ResponseMessage.MixedAudio;

                            /**
                             * Encodes the specified MixedAudio message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.MixedAudio.verify|verify} messages.
                             * @param message MixedAudio message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.ResponseMessage.IMixedAudio, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified MixedAudio message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.MixedAudio.verify|verify} messages.
                             * @param message MixedAudio message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ResponseMessage.IMixedAudio, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a MixedAudio message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns MixedAudio
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ResponseMessage.MixedAudio;

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

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

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

                        namespace MixedAudio {

                            /** Properties of a Segment. */
                            interface ISegment {

                                /** Segment audio */
                                audio?: (Uint8Array|Buffer|string|null);

                                /** Segment uri */
                                uri?: (string|null);

                                /** Segment allowPlaybackInterruption */
                                allowPlaybackInterruption?: (boolean|null);
                            }

                            /** Represents a Segment. */
                            class Segment implements ISegment {

                                /**
                                 * Constructs a new Segment.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.MixedAudio.ISegment);

                                /** Segment audio. */
                                public audio?: (Uint8Array|Buffer|string|null);

                                /** Segment uri. */
                                public uri?: (string|null);

                                /** Segment allowPlaybackInterruption. */
                                public allowPlaybackInterruption: boolean;

                                /** Segment content. */
                                public content?: ("audio"|"uri");

                                /**
                                 * Creates a new Segment instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns Segment instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.MixedAudio.ISegment): google.cloud.dialogflow.cx.v3.ResponseMessage.MixedAudio.Segment;

                                /**
                                 * Encodes the specified Segment message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.MixedAudio.Segment.verify|verify} messages.
                                 * @param message Segment message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3.ResponseMessage.MixedAudio.ISegment, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified Segment message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.MixedAudio.Segment.verify|verify} messages.
                                 * @param message Segment message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ResponseMessage.MixedAudio.ISegment, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                                /**
                                 * Creates a Segment message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns Segment
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ResponseMessage.MixedAudio.Segment;

                                /**
                                 * Creates a plain object from a Segment message. Also converts values to other types if specified.
                                 * @param message Segment
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3.ResponseMessage.MixedAudio.Segment, options?: $protobuf.IConversionOptions): { [k: string]: any };

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

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

                        /** Properties of a TelephonyTransferCall. */
                        interface ITelephonyTransferCall {

                            /** TelephonyTransferCall phoneNumber */
                            phoneNumber?: (string|null);
                        }

                        /** Represents a TelephonyTransferCall. */
                        class TelephonyTransferCall implements ITelephonyTransferCall {

                            /**
                             * Constructs a new TelephonyTransferCall.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.ITelephonyTransferCall);

                            /** TelephonyTransferCall phoneNumber. */
                            public phoneNumber?: (string|null);

                            /** TelephonyTransferCall endpoint. */
                            public endpoint?: "phoneNumber";

                            /**
                             * Creates a new TelephonyTransferCall instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns TelephonyTransferCall instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.ITelephonyTransferCall): google.cloud.dialogflow.cx.v3.ResponseMessage.TelephonyTransferCall;

                            /**
                             * Encodes the specified TelephonyTransferCall message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.TelephonyTransferCall.verify|verify} messages.
                             * @param message TelephonyTransferCall message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.ResponseMessage.ITelephonyTransferCall, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified TelephonyTransferCall message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.TelephonyTransferCall.verify|verify} messages.
                             * @param message TelephonyTransferCall message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ResponseMessage.ITelephonyTransferCall, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a TelephonyTransferCall message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns TelephonyTransferCall
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ResponseMessage.TelephonyTransferCall;

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

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

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

                        /** Properties of a KnowledgeInfoCard. */
                        interface IKnowledgeInfoCard {
                        }

                        /** Represents a KnowledgeInfoCard. */
                        class KnowledgeInfoCard implements IKnowledgeInfoCard {

                            /**
                             * Constructs a new KnowledgeInfoCard.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.IKnowledgeInfoCard);

                            /**
                             * Creates a new KnowledgeInfoCard instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns KnowledgeInfoCard instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.ResponseMessage.IKnowledgeInfoCard): google.cloud.dialogflow.cx.v3.ResponseMessage.KnowledgeInfoCard;

                            /**
                             * Encodes the specified KnowledgeInfoCard message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.KnowledgeInfoCard.verify|verify} messages.
                             * @param message KnowledgeInfoCard message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.ResponseMessage.IKnowledgeInfoCard, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified KnowledgeInfoCard message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResponseMessage.KnowledgeInfoCard.verify|verify} messages.
                             * @param message KnowledgeInfoCard message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ResponseMessage.IKnowledgeInfoCard, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a KnowledgeInfoCard message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns KnowledgeInfoCard
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ResponseMessage.KnowledgeInfoCard;

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

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

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

                        /** ResponseType enum. */
                        enum ResponseType {
                            RESPONSE_TYPE_UNSPECIFIED = 0,
                            ENTRY_PROMPT = 1,
                            PARAMETER_PROMPT = 2,
                            HANDLER_PROMPT = 3
                        }
                    }

                    /** Properties of a ValidationMessage. */
                    interface IValidationMessage {

                        /** ValidationMessage resourceType */
                        resourceType?: (google.cloud.dialogflow.cx.v3.ValidationMessage.ResourceType|keyof typeof google.cloud.dialogflow.cx.v3.ValidationMessage.ResourceType|null);

                        /** ValidationMessage resources */
                        resources?: (string[]|null);

                        /** ValidationMessage resourceNames */
                        resourceNames?: (google.cloud.dialogflow.cx.v3.IResourceName[]|null);

                        /** ValidationMessage severity */
                        severity?: (google.cloud.dialogflow.cx.v3.ValidationMessage.Severity|keyof typeof google.cloud.dialogflow.cx.v3.ValidationMessage.Severity|null);

                        /** ValidationMessage detail */
                        detail?: (string|null);
                    }

                    /** Represents a ValidationMessage. */
                    class ValidationMessage implements IValidationMessage {

                        /**
                         * Constructs a new ValidationMessage.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IValidationMessage);

                        /** ValidationMessage resourceType. */
                        public resourceType: (google.cloud.dialogflow.cx.v3.ValidationMessage.ResourceType|keyof typeof google.cloud.dialogflow.cx.v3.ValidationMessage.ResourceType);

                        /** ValidationMessage resources. */
                        public resources: string[];

                        /** ValidationMessage resourceNames. */
                        public resourceNames: google.cloud.dialogflow.cx.v3.IResourceName[];

                        /** ValidationMessage severity. */
                        public severity: (google.cloud.dialogflow.cx.v3.ValidationMessage.Severity|keyof typeof google.cloud.dialogflow.cx.v3.ValidationMessage.Severity);

                        /** ValidationMessage detail. */
                        public detail: string;

                        /**
                         * Creates a new ValidationMessage instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ValidationMessage instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IValidationMessage): google.cloud.dialogflow.cx.v3.ValidationMessage;

                        /**
                         * Encodes the specified ValidationMessage message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ValidationMessage.verify|verify} messages.
                         * @param message ValidationMessage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IValidationMessage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ValidationMessage message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ValidationMessage.verify|verify} messages.
                         * @param message ValidationMessage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IValidationMessage, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    namespace ValidationMessage {

                        /** ResourceType enum. */
                        enum ResourceType {
                            RESOURCE_TYPE_UNSPECIFIED = 0,
                            AGENT = 1,
                            INTENT = 2,
                            INTENT_TRAINING_PHRASE = 8,
                            INTENT_PARAMETER = 9,
                            INTENTS = 10,
                            INTENT_TRAINING_PHRASES = 11,
                            ENTITY_TYPE = 3,
                            ENTITY_TYPES = 12,
                            WEBHOOK = 4,
                            FLOW = 5,
                            PAGE = 6,
                            PAGES = 13,
                            TRANSITION_ROUTE_GROUP = 7,
                            AGENT_TRANSITION_ROUTE_GROUP = 14
                        }

                        /** Severity enum. */
                        enum Severity {
                            SEVERITY_UNSPECIFIED = 0,
                            INFO = 1,
                            WARNING = 2,
                            ERROR = 3
                        }
                    }

                    /** Properties of a ResourceName. */
                    interface IResourceName {

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

                        /** ResourceName displayName */
                        displayName?: (string|null);
                    }

                    /** Represents a ResourceName. */
                    class ResourceName implements IResourceName {

                        /**
                         * Constructs a new ResourceName.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IResourceName);

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

                        /** ResourceName displayName. */
                        public displayName: string;

                        /**
                         * Creates a new ResourceName instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ResourceName instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IResourceName): google.cloud.dialogflow.cx.v3.ResourceName;

                        /**
                         * Encodes the specified ResourceName message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResourceName.verify|verify} messages.
                         * @param message ResourceName message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IResourceName, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ResourceName message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ResourceName.verify|verify} messages.
                         * @param message ResourceName message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IResourceName, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a GenerativeSettings. */
                    interface IGenerativeSettings {

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

                        /** GenerativeSettings fallbackSettings */
                        fallbackSettings?: (google.cloud.dialogflow.cx.v3.GenerativeSettings.IFallbackSettings|null);

                        /** GenerativeSettings generativeSafetySettings */
                        generativeSafetySettings?: (google.cloud.dialogflow.cx.v3.ISafetySettings|null);

                        /** GenerativeSettings knowledgeConnectorSettings */
                        knowledgeConnectorSettings?: (google.cloud.dialogflow.cx.v3.GenerativeSettings.IKnowledgeConnectorSettings|null);

                        /** GenerativeSettings languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GenerativeSettings. */
                    class GenerativeSettings implements IGenerativeSettings {

                        /**
                         * Constructs a new GenerativeSettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGenerativeSettings);

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

                        /** GenerativeSettings fallbackSettings. */
                        public fallbackSettings?: (google.cloud.dialogflow.cx.v3.GenerativeSettings.IFallbackSettings|null);

                        /** GenerativeSettings generativeSafetySettings. */
                        public generativeSafetySettings?: (google.cloud.dialogflow.cx.v3.ISafetySettings|null);

                        /** GenerativeSettings knowledgeConnectorSettings. */
                        public knowledgeConnectorSettings?: (google.cloud.dialogflow.cx.v3.GenerativeSettings.IKnowledgeConnectorSettings|null);

                        /** GenerativeSettings languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GenerativeSettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GenerativeSettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGenerativeSettings): google.cloud.dialogflow.cx.v3.GenerativeSettings;

                        /**
                         * Encodes the specified GenerativeSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GenerativeSettings.verify|verify} messages.
                         * @param message GenerativeSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGenerativeSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GenerativeSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GenerativeSettings.verify|verify} messages.
                         * @param message GenerativeSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGenerativeSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    namespace GenerativeSettings {

                        /** Properties of a FallbackSettings. */
                        interface IFallbackSettings {

                            /** FallbackSettings selectedPrompt */
                            selectedPrompt?: (string|null);

                            /** FallbackSettings promptTemplates */
                            promptTemplates?: (google.cloud.dialogflow.cx.v3.GenerativeSettings.FallbackSettings.IPromptTemplate[]|null);
                        }

                        /** Represents a FallbackSettings. */
                        class FallbackSettings implements IFallbackSettings {

                            /**
                             * Constructs a new FallbackSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.GenerativeSettings.IFallbackSettings);

                            /** FallbackSettings selectedPrompt. */
                            public selectedPrompt: string;

                            /** FallbackSettings promptTemplates. */
                            public promptTemplates: google.cloud.dialogflow.cx.v3.GenerativeSettings.FallbackSettings.IPromptTemplate[];

                            /**
                             * Creates a new FallbackSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns FallbackSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.GenerativeSettings.IFallbackSettings): google.cloud.dialogflow.cx.v3.GenerativeSettings.FallbackSettings;

                            /**
                             * Encodes the specified FallbackSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GenerativeSettings.FallbackSettings.verify|verify} messages.
                             * @param message FallbackSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.GenerativeSettings.IFallbackSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified FallbackSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GenerativeSettings.FallbackSettings.verify|verify} messages.
                             * @param message FallbackSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.GenerativeSettings.IFallbackSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a FallbackSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns FallbackSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GenerativeSettings.FallbackSettings;

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

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

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

                        namespace FallbackSettings {

                            /** Properties of a PromptTemplate. */
                            interface IPromptTemplate {

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

                                /** PromptTemplate promptText */
                                promptText?: (string|null);

                                /** PromptTemplate frozen */
                                frozen?: (boolean|null);
                            }

                            /** Represents a PromptTemplate. */
                            class PromptTemplate implements IPromptTemplate {

                                /**
                                 * Constructs a new PromptTemplate.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3.GenerativeSettings.FallbackSettings.IPromptTemplate);

                                /** PromptTemplate displayName. */
                                public displayName: string;

                                /** PromptTemplate promptText. */
                                public promptText: string;

                                /** PromptTemplate frozen. */
                                public frozen: boolean;

                                /**
                                 * Creates a new PromptTemplate instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns PromptTemplate instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3.GenerativeSettings.FallbackSettings.IPromptTemplate): google.cloud.dialogflow.cx.v3.GenerativeSettings.FallbackSettings.PromptTemplate;

                                /**
                                 * Encodes the specified PromptTemplate message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GenerativeSettings.FallbackSettings.PromptTemplate.verify|verify} messages.
                                 * @param message PromptTemplate message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3.GenerativeSettings.FallbackSettings.IPromptTemplate, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified PromptTemplate message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GenerativeSettings.FallbackSettings.PromptTemplate.verify|verify} messages.
                                 * @param message PromptTemplate message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.GenerativeSettings.FallbackSettings.IPromptTemplate, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                                /**
                                 * Creates a PromptTemplate message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns PromptTemplate
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GenerativeSettings.FallbackSettings.PromptTemplate;

                                /**
                                 * Creates a plain object from a PromptTemplate message. Also converts values to other types if specified.
                                 * @param message PromptTemplate
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3.GenerativeSettings.FallbackSettings.PromptTemplate, options?: $protobuf.IConversionOptions): { [k: string]: any };

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

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

                        /** Properties of a KnowledgeConnectorSettings. */
                        interface IKnowledgeConnectorSettings {

                            /** KnowledgeConnectorSettings business */
                            business?: (string|null);

                            /** KnowledgeConnectorSettings agent */
                            agent?: (string|null);

                            /** KnowledgeConnectorSettings agentIdentity */
                            agentIdentity?: (string|null);

                            /** KnowledgeConnectorSettings businessDescription */
                            businessDescription?: (string|null);

                            /** KnowledgeConnectorSettings agentScope */
                            agentScope?: (string|null);

                            /** KnowledgeConnectorSettings disableDataStoreFallback */
                            disableDataStoreFallback?: (boolean|null);
                        }

                        /** Represents a KnowledgeConnectorSettings. */
                        class KnowledgeConnectorSettings implements IKnowledgeConnectorSettings {

                            /**
                             * Constructs a new KnowledgeConnectorSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.GenerativeSettings.IKnowledgeConnectorSettings);

                            /** KnowledgeConnectorSettings business. */
                            public business: string;

                            /** KnowledgeConnectorSettings agent. */
                            public agent: string;

                            /** KnowledgeConnectorSettings agentIdentity. */
                            public agentIdentity: string;

                            /** KnowledgeConnectorSettings businessDescription. */
                            public businessDescription: string;

                            /** KnowledgeConnectorSettings agentScope. */
                            public agentScope: string;

                            /** KnowledgeConnectorSettings disableDataStoreFallback. */
                            public disableDataStoreFallback: boolean;

                            /**
                             * Creates a new KnowledgeConnectorSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns KnowledgeConnectorSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.GenerativeSettings.IKnowledgeConnectorSettings): google.cloud.dialogflow.cx.v3.GenerativeSettings.KnowledgeConnectorSettings;

                            /**
                             * Encodes the specified KnowledgeConnectorSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GenerativeSettings.KnowledgeConnectorSettings.verify|verify} messages.
                             * @param message KnowledgeConnectorSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.GenerativeSettings.IKnowledgeConnectorSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified KnowledgeConnectorSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GenerativeSettings.KnowledgeConnectorSettings.verify|verify} messages.
                             * @param message KnowledgeConnectorSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.GenerativeSettings.IKnowledgeConnectorSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a KnowledgeConnectorSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns KnowledgeConnectorSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GenerativeSettings.KnowledgeConnectorSettings;

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

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

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

                    /** Properties of a SafetySettings. */
                    interface ISafetySettings {

                        /** SafetySettings bannedPhrases */
                        bannedPhrases?: (google.cloud.dialogflow.cx.v3.SafetySettings.IPhrase[]|null);
                    }

                    /** Represents a SafetySettings. */
                    class SafetySettings implements ISafetySettings {

                        /**
                         * Constructs a new SafetySettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ISafetySettings);

                        /** SafetySettings bannedPhrases. */
                        public bannedPhrases: google.cloud.dialogflow.cx.v3.SafetySettings.IPhrase[];

                        /**
                         * Creates a new SafetySettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SafetySettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ISafetySettings): google.cloud.dialogflow.cx.v3.SafetySettings;

                        /**
                         * Encodes the specified SafetySettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SafetySettings.verify|verify} messages.
                         * @param message SafetySettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ISafetySettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SafetySettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SafetySettings.verify|verify} messages.
                         * @param message SafetySettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ISafetySettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    namespace SafetySettings {

                        /** Properties of a Phrase. */
                        interface IPhrase {

                            /** Phrase text */
                            text?: (string|null);

                            /** Phrase languageCode */
                            languageCode?: (string|null);
                        }

                        /** Represents a Phrase. */
                        class Phrase implements IPhrase {

                            /**
                             * Constructs a new Phrase.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.SafetySettings.IPhrase);

                            /** Phrase text. */
                            public text: string;

                            /** Phrase languageCode. */
                            public languageCode: string;

                            /**
                             * Creates a new Phrase instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Phrase instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.SafetySettings.IPhrase): google.cloud.dialogflow.cx.v3.SafetySettings.Phrase;

                            /**
                             * Encodes the specified Phrase message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SafetySettings.Phrase.verify|verify} messages.
                             * @param message Phrase message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.SafetySettings.IPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Phrase message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SafetySettings.Phrase.verify|verify} messages.
                             * @param message Phrase message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.SafetySettings.IPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a Phrase message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Phrase
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.SafetySettings.Phrase;

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

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

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

                    /** Represents a Changelogs */
                    class Changelogs extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Changelogs 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 Changelogs 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): Changelogs;

                        /**
                         * Calls ListChangelogs.
                         * @param request ListChangelogsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListChangelogsResponse
                         */
                        public listChangelogs(request: google.cloud.dialogflow.cx.v3.IListChangelogsRequest, callback: google.cloud.dialogflow.cx.v3.Changelogs.ListChangelogsCallback): void;

                        /**
                         * Calls ListChangelogs.
                         * @param request ListChangelogsRequest message or plain object
                         * @returns Promise
                         */
                        public listChangelogs(request: google.cloud.dialogflow.cx.v3.IListChangelogsRequest): Promise<google.cloud.dialogflow.cx.v3.ListChangelogsResponse>;

                        /**
                         * Calls GetChangelog.
                         * @param request GetChangelogRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Changelog
                         */
                        public getChangelog(request: google.cloud.dialogflow.cx.v3.IGetChangelogRequest, callback: google.cloud.dialogflow.cx.v3.Changelogs.GetChangelogCallback): void;

                        /**
                         * Calls GetChangelog.
                         * @param request GetChangelogRequest message or plain object
                         * @returns Promise
                         */
                        public getChangelog(request: google.cloud.dialogflow.cx.v3.IGetChangelogRequest): Promise<google.cloud.dialogflow.cx.v3.Changelog>;
                    }

                    namespace Changelogs {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Changelogs|listChangelogs}.
                         * @param error Error, if any
                         * @param [response] ListChangelogsResponse
                         */
                        type ListChangelogsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListChangelogsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Changelogs|getChangelog}.
                         * @param error Error, if any
                         * @param [response] Changelog
                         */
                        type GetChangelogCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Changelog) => void;
                    }

                    /** Properties of a ListChangelogsRequest. */
                    interface IListChangelogsRequest {

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

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

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

                        /** ListChangelogsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListChangelogsRequest. */
                    class ListChangelogsRequest implements IListChangelogsRequest {

                        /**
                         * Constructs a new ListChangelogsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListChangelogsRequest);

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

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

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

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

                        /**
                         * Creates a new ListChangelogsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListChangelogsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListChangelogsRequest): google.cloud.dialogflow.cx.v3.ListChangelogsRequest;

                        /**
                         * Encodes the specified ListChangelogsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListChangelogsRequest.verify|verify} messages.
                         * @param message ListChangelogsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListChangelogsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListChangelogsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListChangelogsRequest.verify|verify} messages.
                         * @param message ListChangelogsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListChangelogsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a ListChangelogsResponse. */
                    interface IListChangelogsResponse {

                        /** ListChangelogsResponse changelogs */
                        changelogs?: (google.cloud.dialogflow.cx.v3.IChangelog[]|null);

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

                    /** Represents a ListChangelogsResponse. */
                    class ListChangelogsResponse implements IListChangelogsResponse {

                        /**
                         * Constructs a new ListChangelogsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListChangelogsResponse);

                        /** ListChangelogsResponse changelogs. */
                        public changelogs: google.cloud.dialogflow.cx.v3.IChangelog[];

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

                        /**
                         * Creates a new ListChangelogsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListChangelogsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListChangelogsResponse): google.cloud.dialogflow.cx.v3.ListChangelogsResponse;

                        /**
                         * Encodes the specified ListChangelogsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListChangelogsResponse.verify|verify} messages.
                         * @param message ListChangelogsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListChangelogsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListChangelogsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListChangelogsResponse.verify|verify} messages.
                         * @param message ListChangelogsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListChangelogsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a GetChangelogRequest. */
                    interface IGetChangelogRequest {

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

                    /** Represents a GetChangelogRequest. */
                    class GetChangelogRequest implements IGetChangelogRequest {

                        /**
                         * Constructs a new GetChangelogRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetChangelogRequest);

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

                        /**
                         * Creates a new GetChangelogRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetChangelogRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetChangelogRequest): google.cloud.dialogflow.cx.v3.GetChangelogRequest;

                        /**
                         * Encodes the specified GetChangelogRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetChangelogRequest.verify|verify} messages.
                         * @param message GetChangelogRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetChangelogRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetChangelogRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetChangelogRequest.verify|verify} messages.
                         * @param message GetChangelogRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetChangelogRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a Changelog. */
                    interface IChangelog {

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

                        /** Changelog userEmail */
                        userEmail?: (string|null);

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

                        /** Changelog action */
                        action?: (string|null);

                        /** Changelog type */
                        type?: (string|null);

                        /** Changelog resource */
                        resource?: (string|null);

                        /** Changelog createTime */
                        createTime?: (google.protobuf.ITimestamp|null);

                        /** Changelog languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a Changelog. */
                    class Changelog implements IChangelog {

                        /**
                         * Constructs a new Changelog.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IChangelog);

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

                        /** Changelog userEmail. */
                        public userEmail: string;

                        /** Changelog displayName. */
                        public displayName: string;

                        /** Changelog action. */
                        public action: string;

                        /** Changelog type. */
                        public type: string;

                        /** Changelog resource. */
                        public resource: string;

                        /** Changelog createTime. */
                        public createTime?: (google.protobuf.ITimestamp|null);

                        /** Changelog languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new Changelog instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Changelog instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IChangelog): google.cloud.dialogflow.cx.v3.Changelog;

                        /**
                         * Encodes the specified Changelog message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Changelog.verify|verify} messages.
                         * @param message Changelog message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IChangelog, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Changelog message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Changelog.verify|verify} messages.
                         * @param message Changelog message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IChangelog, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Represents a Deployments */
                    class Deployments extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Deployments 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 Deployments 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): Deployments;

                        /**
                         * Calls ListDeployments.
                         * @param request ListDeploymentsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListDeploymentsResponse
                         */
                        public listDeployments(request: google.cloud.dialogflow.cx.v3.IListDeploymentsRequest, callback: google.cloud.dialogflow.cx.v3.Deployments.ListDeploymentsCallback): void;

                        /**
                         * Calls ListDeployments.
                         * @param request ListDeploymentsRequest message or plain object
                         * @returns Promise
                         */
                        public listDeployments(request: google.cloud.dialogflow.cx.v3.IListDeploymentsRequest): Promise<google.cloud.dialogflow.cx.v3.ListDeploymentsResponse>;

                        /**
                         * Calls GetDeployment.
                         * @param request GetDeploymentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Deployment
                         */
                        public getDeployment(request: google.cloud.dialogflow.cx.v3.IGetDeploymentRequest, callback: google.cloud.dialogflow.cx.v3.Deployments.GetDeploymentCallback): void;

                        /**
                         * Calls GetDeployment.
                         * @param request GetDeploymentRequest message or plain object
                         * @returns Promise
                         */
                        public getDeployment(request: google.cloud.dialogflow.cx.v3.IGetDeploymentRequest): Promise<google.cloud.dialogflow.cx.v3.Deployment>;
                    }

                    namespace Deployments {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Deployments|listDeployments}.
                         * @param error Error, if any
                         * @param [response] ListDeploymentsResponse
                         */
                        type ListDeploymentsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListDeploymentsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Deployments|getDeployment}.
                         * @param error Error, if any
                         * @param [response] Deployment
                         */
                        type GetDeploymentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Deployment) => void;
                    }

                    /** Properties of a Deployment. */
                    interface IDeployment {

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

                        /** Deployment flowVersion */
                        flowVersion?: (string|null);

                        /** Deployment state */
                        state?: (google.cloud.dialogflow.cx.v3.Deployment.State|keyof typeof google.cloud.dialogflow.cx.v3.Deployment.State|null);

                        /** Deployment result */
                        result?: (google.cloud.dialogflow.cx.v3.Deployment.IResult|null);

                        /** Deployment startTime */
                        startTime?: (google.protobuf.ITimestamp|null);

                        /** Deployment endTime */
                        endTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a Deployment. */
                    class Deployment implements IDeployment {

                        /**
                         * Constructs a new Deployment.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeployment);

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

                        /** Deployment flowVersion. */
                        public flowVersion: string;

                        /** Deployment state. */
                        public state: (google.cloud.dialogflow.cx.v3.Deployment.State|keyof typeof google.cloud.dialogflow.cx.v3.Deployment.State);

                        /** Deployment result. */
                        public result?: (google.cloud.dialogflow.cx.v3.Deployment.IResult|null);

                        /** Deployment startTime. */
                        public startTime?: (google.protobuf.ITimestamp|null);

                        /** Deployment endTime. */
                        public endTime?: (google.protobuf.ITimestamp|null);

                        /**
                         * Creates a new Deployment instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Deployment instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeployment): google.cloud.dialogflow.cx.v3.Deployment;

                        /**
                         * Encodes the specified Deployment message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Deployment.verify|verify} messages.
                         * @param message Deployment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeployment, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Deployment message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Deployment.verify|verify} messages.
                         * @param message Deployment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeployment, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    namespace Deployment {

                        /** State enum. */
                        enum State {
                            STATE_UNSPECIFIED = 0,
                            RUNNING = 1,
                            SUCCEEDED = 2,
                            FAILED = 3
                        }

                        /** Properties of a Result. */
                        interface IResult {

                            /** Result deploymentTestResults */
                            deploymentTestResults?: (string[]|null);

                            /** Result experiment */
                            experiment?: (string|null);
                        }

                        /** Represents a Result. */
                        class Result implements IResult {

                            /**
                             * Constructs a new Result.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Deployment.IResult);

                            /** Result deploymentTestResults. */
                            public deploymentTestResults: string[];

                            /** Result experiment. */
                            public experiment: string;

                            /**
                             * Creates a new Result instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Result instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Deployment.IResult): google.cloud.dialogflow.cx.v3.Deployment.Result;

                            /**
                             * Encodes the specified Result message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Deployment.Result.verify|verify} messages.
                             * @param message Result message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Deployment.IResult, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Deployment.Result.verify|verify} messages.
                             * @param message Result message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Deployment.IResult, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                            /**
                             * Creates a Result message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Result
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Deployment.Result;

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

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

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

                    /** Properties of a ListDeploymentsRequest. */
                    interface IListDeploymentsRequest {

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

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

                        /** ListDeploymentsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListDeploymentsRequest. */
                    class ListDeploymentsRequest implements IListDeploymentsRequest {

                        /**
                         * Constructs a new ListDeploymentsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListDeploymentsRequest);

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

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

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

                        /**
                         * Creates a new ListDeploymentsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListDeploymentsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListDeploymentsRequest): google.cloud.dialogflow.cx.v3.ListDeploymentsRequest;

                        /**
                         * Encodes the specified ListDeploymentsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListDeploymentsRequest.verify|verify} messages.
                         * @param message ListDeploymentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListDeploymentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListDeploymentsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListDeploymentsRequest.verify|verify} messages.
                         * @param message ListDeploymentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListDeploymentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a ListDeploymentsResponse. */
                    interface IListDeploymentsResponse {

                        /** ListDeploymentsResponse deployments */
                        deployments?: (google.cloud.dialogflow.cx.v3.IDeployment[]|null);

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

                    /** Represents a ListDeploymentsResponse. */
                    class ListDeploymentsResponse implements IListDeploymentsResponse {

                        /**
                         * Constructs a new ListDeploymentsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListDeploymentsResponse);

                        /** ListDeploymentsResponse deployments. */
                        public deployments: google.cloud.dialogflow.cx.v3.IDeployment[];

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

                        /**
                         * Creates a new ListDeploymentsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListDeploymentsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListDeploymentsResponse): google.cloud.dialogflow.cx.v3.ListDeploymentsResponse;

                        /**
                         * Encodes the specified ListDeploymentsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListDeploymentsResponse.verify|verify} messages.
                         * @param message ListDeploymentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListDeploymentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListDeploymentsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListDeploymentsResponse.verify|verify} messages.
                         * @param message ListDeploymentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListDeploymentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a GetDeploymentRequest. */
                    interface IGetDeploymentRequest {

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

                    /** Represents a GetDeploymentRequest. */
                    class GetDeploymentRequest implements IGetDeploymentRequest {

                        /**
                         * Constructs a new GetDeploymentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetDeploymentRequest);

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

                        /**
                         * Creates a new GetDeploymentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetDeploymentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetDeploymentRequest): google.cloud.dialogflow.cx.v3.GetDeploymentRequest;

                        /**
                         * Encodes the specified GetDeploymentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetDeploymentRequest.verify|verify} messages.
                         * @param message GetDeploymentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetDeploymentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetDeploymentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetDeploymentRequest.verify|verify} messages.
                         * @param message GetDeploymentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetDeploymentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

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

                        /**
                         * Decodes a GetDeploymentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetDeploymentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.GetDeploymentRequest;

                        /**
                         * Verifies a GetDeploymentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetDeploymentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetDeploymentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GetDeploymentRequest;

                        /**
                         * Creates a plain object from a GetDeploymentRequest message. Also converts values to other types if specified.
                         * @param message GetDeploymentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.GetDeploymentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetDeploymentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetDeploymentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents an EntityTypes */
                    class EntityTypes extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new EntityTypes 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 EntityTypes 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): EntityTypes;

                        /**
                         * Calls GetEntityType.
                         * @param request GetEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and EntityType
                         */
                        public getEntityType(request: google.cloud.dialogflow.cx.v3.IGetEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3.EntityTypes.GetEntityTypeCallback): void;

                        /**
                         * Calls GetEntityType.
                         * @param request GetEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public getEntityType(request: google.cloud.dialogflow.cx.v3.IGetEntityTypeRequest): Promise<google.cloud.dialogflow.cx.v3.EntityType>;

                        /**
                         * Calls CreateEntityType.
                         * @param request CreateEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and EntityType
                         */
                        public createEntityType(request: google.cloud.dialogflow.cx.v3.ICreateEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3.EntityTypes.CreateEntityTypeCallback): void;

                        /**
                         * Calls CreateEntityType.
                         * @param request CreateEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public createEntityType(request: google.cloud.dialogflow.cx.v3.ICreateEntityTypeRequest): Promise<google.cloud.dialogflow.cx.v3.EntityType>;

                        /**
                         * Calls UpdateEntityType.
                         * @param request UpdateEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and EntityType
                         */
                        public updateEntityType(request: google.cloud.dialogflow.cx.v3.IUpdateEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3.EntityTypes.UpdateEntityTypeCallback): void;

                        /**
                         * Calls UpdateEntityType.
                         * @param request UpdateEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public updateEntityType(request: google.cloud.dialogflow.cx.v3.IUpdateEntityTypeRequest): Promise<google.cloud.dialogflow.cx.v3.EntityType>;

                        /**
                         * Calls DeleteEntityType.
                         * @param request DeleteEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteEntityType(request: google.cloud.dialogflow.cx.v3.IDeleteEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3.EntityTypes.DeleteEntityTypeCallback): void;

                        /**
                         * Calls DeleteEntityType.
                         * @param request DeleteEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public deleteEntityType(request: google.cloud.dialogflow.cx.v3.IDeleteEntityTypeRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls ListEntityTypes.
                         * @param request ListEntityTypesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListEntityTypesResponse
                         */
                        public listEntityTypes(request: google.cloud.dialogflow.cx.v3.IListEntityTypesRequest, callback: google.cloud.dialogflow.cx.v3.EntityTypes.ListEntityTypesCallback): void;

                        /**
                         * Calls ListEntityTypes.
                         * @param request ListEntityTypesRequest message or plain object
                         * @returns Promise
                         */
                        public listEntityTypes(request: google.cloud.dialogflow.cx.v3.IListEntityTypesRequest): Promise<google.cloud.dialogflow.cx.v3.ListEntityTypesResponse>;

                        /**
                         * Calls ExportEntityTypes.
                         * @param request ExportEntityTypesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public exportEntityTypes(request: google.cloud.dialogflow.cx.v3.IExportEntityTypesRequest, callback: google.cloud.dialogflow.cx.v3.EntityTypes.ExportEntityTypesCallback): void;

                        /**
                         * Calls ExportEntityTypes.
                         * @param request ExportEntityTypesRequest message or plain object
                         * @returns Promise
                         */
                        public exportEntityTypes(request: google.cloud.dialogflow.cx.v3.IExportEntityTypesRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ImportEntityTypes.
                         * @param request ImportEntityTypesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public importEntityTypes(request: google.cloud.dialogflow.cx.v3.IImportEntityTypesRequest, callback: google.cloud.dialogflow.cx.v3.EntityTypes.ImportEntityTypesCallback): void;

                        /**
                         * Calls ImportEntityTypes.
                         * @param request ImportEntityTypesRequest message or plain object
                         * @returns Promise
                         */
                        public importEntityTypes(request: google.cloud.dialogflow.cx.v3.IImportEntityTypesRequest): Promise<google.longrunning.Operation>;
                    }

                    namespace EntityTypes {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.EntityTypes|getEntityType}.
                         * @param error Error, if any
                         * @param [response] EntityType
                         */
                        type GetEntityTypeCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.EntityType) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.EntityTypes|createEntityType}.
                         * @param error Error, if any
                         * @param [response] EntityType
                         */
                        type CreateEntityTypeCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.EntityType) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.EntityTypes|updateEntityType}.
                         * @param error Error, if any
                         * @param [response] EntityType
                         */
                        type UpdateEntityTypeCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.EntityType) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.EntityTypes|deleteEntityType}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteEntityTypeCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.EntityTypes|listEntityTypes}.
                         * @param error Error, if any
                         * @param [response] ListEntityTypesResponse
                         */
                        type ListEntityTypesCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListEntityTypesResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.EntityTypes|exportEntityTypes}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ExportEntityTypesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.EntityTypes|importEntityTypes}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ImportEntityTypesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
                    }

                    /** Properties of an EntityType. */
                    interface IEntityType {

                        /** EntityType name */
                        name?: (string|null);

                        /** EntityType displayName */
                        displayName?: (string|null);

                        /** EntityType kind */
                        kind?: (google.cloud.dialogflow.cx.v3.EntityType.Kind|keyof typeof google.cloud.dialogflow.cx.v3.EntityType.Kind|null);

                        /** EntityType autoExpansionMode */
                        autoExpansionMode?: (google.cloud.dialogflow.cx.v3.EntityType.AutoExpansionMode|keyof typeof google.cloud.dialogflow.cx.v3.EntityType.AutoExpansionMode|null);

                        /** EntityType entities */
                        entities?: (google.cloud.dialogflow.cx.v3.EntityType.IEntity[]|null);

                        /** EntityType excludedPhrases */
                        excludedPhrases?: (google.cloud.dialogflow.cx.v3.EntityType.IExcludedPhrase[]|null);

                        /** EntityType enableFuzzyExtraction */
                        enableFuzzyExtraction?: (boolean|null);

                        /** EntityType redact */
                        redact?: (boolean|null);
                    }

                    /** Represents an EntityType. */
                    class EntityType implements IEntityType {

                        /**
                         * Constructs a new EntityType.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IEntityType);

                        /** EntityType name. */
                        public name: string;

                        /** EntityType displayName. */
                        public displayName: string;

                        /** EntityType kind. */
                        public kind: (google.cloud.dialogflow.cx.v3.EntityType.Kind|keyof typeof google.cloud.dialogflow.cx.v3.EntityType.Kind);

                        /** EntityType autoExpansionMode. */
                        public autoExpansionMode: (google.cloud.dialogflow.cx.v3.EntityType.AutoExpansionMode|keyof typeof google.cloud.dialogflow.cx.v3.EntityType.AutoExpansionMode);

                        /** EntityType entities. */
                        public entities: google.cloud.dialogflow.cx.v3.EntityType.IEntity[];

                        /** EntityType excludedPhrases. */
                        public excludedPhrases: google.cloud.dialogflow.cx.v3.EntityType.IExcludedPhrase[];

                        /** EntityType enableFuzzyExtraction. */
                        public enableFuzzyExtraction: boolean;

                        /** EntityType redact. */
                        public redact: boolean;

                        /**
                         * Creates a new EntityType instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns EntityType instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IEntityType): google.cloud.dialogflow.cx.v3.EntityType;

                        /**
                         * Encodes the specified EntityType message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.EntityType.verify|verify} messages.
                         * @param message EntityType message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IEntityType, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified EntityType message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.EntityType.verify|verify} messages.
                         * @param message EntityType message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IEntityType, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an EntityType message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns EntityType
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.EntityType;

                        /**
                         * Decodes an EntityType message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns EntityType
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.EntityType;

                        /**
                         * Verifies an EntityType message.
                         * @param message Plain 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 EntityType message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns EntityType
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.EntityType;

                        /**
                         * Creates a plain object from an EntityType message. Also converts values to other types if specified.
                         * @param message EntityType
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.EntityType, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this EntityType to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for EntityType
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace EntityType {

                        /** Kind enum. */
                        enum Kind {
                            KIND_UNSPECIFIED = 0,
                            KIND_MAP = 1,
                            KIND_LIST = 2,
                            KIND_REGEXP = 3
                        }

                        /** AutoExpansionMode enum. */
                        enum AutoExpansionMode {
                            AUTO_EXPANSION_MODE_UNSPECIFIED = 0,
                            AUTO_EXPANSION_MODE_DEFAULT = 1
                        }

                        /** Properties of an Entity. */
                        interface IEntity {

                            /** Entity value */
                            value?: (string|null);

                            /** Entity synonyms */
                            synonyms?: (string[]|null);
                        }

                        /** Represents an Entity. */
                        class Entity implements IEntity {

                            /**
                             * Constructs a new Entity.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.EntityType.IEntity);

                            /** Entity value. */
                            public value: string;

                            /** Entity synonyms. */
                            public synonyms: string[];

                            /**
                             * Creates a new Entity instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Entity instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.EntityType.IEntity): google.cloud.dialogflow.cx.v3.EntityType.Entity;

                            /**
                             * Encodes the specified Entity message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.EntityType.Entity.verify|verify} messages.
                             * @param message Entity message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.EntityType.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.EntityType.Entity.verify|verify} messages.
                             * @param message Entity message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.EntityType.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an Entity message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Entity
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.EntityType.Entity;

                            /**
                             * Decodes an Entity message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Entity
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.EntityType.Entity;

                            /**
                             * Verifies an Entity message.
                             * @param message Plain 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 Entity message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Entity
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.EntityType.Entity;

                            /**
                             * Creates a plain object from an Entity message. Also converts values to other types if specified.
                             * @param message Entity
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.EntityType.Entity, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Entity to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Entity
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of an ExcludedPhrase. */
                        interface IExcludedPhrase {

                            /** ExcludedPhrase value */
                            value?: (string|null);
                        }

                        /** Represents an ExcludedPhrase. */
                        class ExcludedPhrase implements IExcludedPhrase {

                            /**
                             * Constructs a new ExcludedPhrase.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.EntityType.IExcludedPhrase);

                            /** ExcludedPhrase value. */
                            public value: string;

                            /**
                             * Creates a new ExcludedPhrase instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ExcludedPhrase instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.EntityType.IExcludedPhrase): google.cloud.dialogflow.cx.v3.EntityType.ExcludedPhrase;

                            /**
                             * Encodes the specified ExcludedPhrase message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.EntityType.ExcludedPhrase.verify|verify} messages.
                             * @param message ExcludedPhrase message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.EntityType.IExcludedPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ExcludedPhrase message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.EntityType.ExcludedPhrase.verify|verify} messages.
                             * @param message ExcludedPhrase message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.EntityType.IExcludedPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an ExcludedPhrase message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ExcludedPhrase
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.EntityType.ExcludedPhrase;

                            /**
                             * Decodes an ExcludedPhrase message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ExcludedPhrase
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.EntityType.ExcludedPhrase;

                            /**
                             * Verifies an ExcludedPhrase message.
                             * @param message Plain 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 ExcludedPhrase message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ExcludedPhrase
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.EntityType.ExcludedPhrase;

                            /**
                             * Creates a plain object from an ExcludedPhrase message. Also converts values to other types if specified.
                             * @param message ExcludedPhrase
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.EntityType.ExcludedPhrase, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ExcludedPhrase to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ExcludedPhrase
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of an ExportEntityTypesRequest. */
                    interface IExportEntityTypesRequest {

                        /** ExportEntityTypesRequest parent */
                        parent?: (string|null);

                        /** ExportEntityTypesRequest entityTypes */
                        entityTypes?: (string[]|null);

                        /** ExportEntityTypesRequest entityTypesUri */
                        entityTypesUri?: (string|null);

                        /** ExportEntityTypesRequest entityTypesContentInline */
                        entityTypesContentInline?: (boolean|null);

                        /** ExportEntityTypesRequest dataFormat */
                        dataFormat?: (google.cloud.dialogflow.cx.v3.ExportEntityTypesRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3.ExportEntityTypesRequest.DataFormat|null);

                        /** ExportEntityTypesRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents an ExportEntityTypesRequest. */
                    class ExportEntityTypesRequest implements IExportEntityTypesRequest {

                        /**
                         * Constructs a new ExportEntityTypesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IExportEntityTypesRequest);

                        /** ExportEntityTypesRequest parent. */
                        public parent: string;

                        /** ExportEntityTypesRequest entityTypes. */
                        public entityTypes: string[];

                        /** ExportEntityTypesRequest entityTypesUri. */
                        public entityTypesUri?: (string|null);

                        /** ExportEntityTypesRequest entityTypesContentInline. */
                        public entityTypesContentInline?: (boolean|null);

                        /** ExportEntityTypesRequest dataFormat. */
                        public dataFormat: (google.cloud.dialogflow.cx.v3.ExportEntityTypesRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3.ExportEntityTypesRequest.DataFormat);

                        /** ExportEntityTypesRequest languageCode. */
                        public languageCode: string;

                        /** ExportEntityTypesRequest destination. */
                        public destination?: ("entityTypesUri"|"entityTypesContentInline");

                        /**
                         * Creates a new ExportEntityTypesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportEntityTypesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IExportEntityTypesRequest): google.cloud.dialogflow.cx.v3.ExportEntityTypesRequest;

                        /**
                         * Encodes the specified ExportEntityTypesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportEntityTypesRequest.verify|verify} messages.
                         * @param message ExportEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IExportEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportEntityTypesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportEntityTypesRequest.verify|verify} messages.
                         * @param message ExportEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IExportEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportEntityTypesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ExportEntityTypesRequest;

                        /**
                         * Decodes an ExportEntityTypesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ExportEntityTypesRequest;

                        /**
                         * Verifies an ExportEntityTypesRequest message.
                         * @param message Plain 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 ExportEntityTypesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportEntityTypesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ExportEntityTypesRequest;

                        /**
                         * Creates a plain object from an ExportEntityTypesRequest message. Also converts values to other types if specified.
                         * @param message ExportEntityTypesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ExportEntityTypesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportEntityTypesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportEntityTypesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ExportEntityTypesRequest {

                        /** DataFormat enum. */
                        enum DataFormat {
                            DATA_FORMAT_UNSPECIFIED = 0,
                            BLOB = 1,
                            JSON_PACKAGE = 5
                        }
                    }

                    /** Properties of an ExportEntityTypesResponse. */
                    interface IExportEntityTypesResponse {

                        /** ExportEntityTypesResponse entityTypesUri */
                        entityTypesUri?: (string|null);

                        /** ExportEntityTypesResponse entityTypesContent */
                        entityTypesContent?: (google.cloud.dialogflow.cx.v3.IInlineDestination|null);
                    }

                    /** Represents an ExportEntityTypesResponse. */
                    class ExportEntityTypesResponse implements IExportEntityTypesResponse {

                        /**
                         * Constructs a new ExportEntityTypesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IExportEntityTypesResponse);

                        /** ExportEntityTypesResponse entityTypesUri. */
                        public entityTypesUri?: (string|null);

                        /** ExportEntityTypesResponse entityTypesContent. */
                        public entityTypesContent?: (google.cloud.dialogflow.cx.v3.IInlineDestination|null);

                        /** ExportEntityTypesResponse exportedEntityTypes. */
                        public exportedEntityTypes?: ("entityTypesUri"|"entityTypesContent");

                        /**
                         * Creates a new ExportEntityTypesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportEntityTypesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IExportEntityTypesResponse): google.cloud.dialogflow.cx.v3.ExportEntityTypesResponse;

                        /**
                         * Encodes the specified ExportEntityTypesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportEntityTypesResponse.verify|verify} messages.
                         * @param message ExportEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IExportEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportEntityTypesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportEntityTypesResponse.verify|verify} messages.
                         * @param message ExportEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IExportEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportEntityTypesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ExportEntityTypesResponse;

                        /**
                         * Decodes an ExportEntityTypesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ExportEntityTypesResponse;

                        /**
                         * Verifies an ExportEntityTypesResponse message.
                         * @param message Plain 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 ExportEntityTypesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportEntityTypesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ExportEntityTypesResponse;

                        /**
                         * Creates a plain object from an ExportEntityTypesResponse message. Also converts values to other types if specified.
                         * @param message ExportEntityTypesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ExportEntityTypesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportEntityTypesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportEntityTypesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ExportEntityTypesMetadata. */
                    interface IExportEntityTypesMetadata {
                    }

                    /** Represents an ExportEntityTypesMetadata. */
                    class ExportEntityTypesMetadata implements IExportEntityTypesMetadata {

                        /**
                         * Constructs a new ExportEntityTypesMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IExportEntityTypesMetadata);

                        /**
                         * Creates a new ExportEntityTypesMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportEntityTypesMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IExportEntityTypesMetadata): google.cloud.dialogflow.cx.v3.ExportEntityTypesMetadata;

                        /**
                         * Encodes the specified ExportEntityTypesMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportEntityTypesMetadata.verify|verify} messages.
                         * @param message ExportEntityTypesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IExportEntityTypesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportEntityTypesMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportEntityTypesMetadata.verify|verify} messages.
                         * @param message ExportEntityTypesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IExportEntityTypesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportEntityTypesMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportEntityTypesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ExportEntityTypesMetadata;

                        /**
                         * Decodes an ExportEntityTypesMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportEntityTypesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ExportEntityTypesMetadata;

                        /**
                         * Verifies an ExportEntityTypesMetadata message.
                         * @param message Plain 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 ExportEntityTypesMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportEntityTypesMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ExportEntityTypesMetadata;

                        /**
                         * Creates a plain object from an ExportEntityTypesMetadata message. Also converts values to other types if specified.
                         * @param message ExportEntityTypesMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ExportEntityTypesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportEntityTypesMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportEntityTypesMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ImportEntityTypesRequest. */
                    interface IImportEntityTypesRequest {

                        /** ImportEntityTypesRequest parent */
                        parent?: (string|null);

                        /** ImportEntityTypesRequest entityTypesUri */
                        entityTypesUri?: (string|null);

                        /** ImportEntityTypesRequest entityTypesContent */
                        entityTypesContent?: (google.cloud.dialogflow.cx.v3.IInlineSource|null);

                        /** ImportEntityTypesRequest mergeOption */
                        mergeOption?: (google.cloud.dialogflow.cx.v3.ImportEntityTypesRequest.MergeOption|keyof typeof google.cloud.dialogflow.cx.v3.ImportEntityTypesRequest.MergeOption|null);

                        /** ImportEntityTypesRequest targetEntityType */
                        targetEntityType?: (string|null);
                    }

                    /** Represents an ImportEntityTypesRequest. */
                    class ImportEntityTypesRequest implements IImportEntityTypesRequest {

                        /**
                         * Constructs a new ImportEntityTypesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IImportEntityTypesRequest);

                        /** ImportEntityTypesRequest parent. */
                        public parent: string;

                        /** ImportEntityTypesRequest entityTypesUri. */
                        public entityTypesUri?: (string|null);

                        /** ImportEntityTypesRequest entityTypesContent. */
                        public entityTypesContent?: (google.cloud.dialogflow.cx.v3.IInlineSource|null);

                        /** ImportEntityTypesRequest mergeOption. */
                        public mergeOption: (google.cloud.dialogflow.cx.v3.ImportEntityTypesRequest.MergeOption|keyof typeof google.cloud.dialogflow.cx.v3.ImportEntityTypesRequest.MergeOption);

                        /** ImportEntityTypesRequest targetEntityType. */
                        public targetEntityType: string;

                        /** ImportEntityTypesRequest entityTypes. */
                        public entityTypes?: ("entityTypesUri"|"entityTypesContent");

                        /**
                         * Creates a new ImportEntityTypesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportEntityTypesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IImportEntityTypesRequest): google.cloud.dialogflow.cx.v3.ImportEntityTypesRequest;

                        /**
                         * Encodes the specified ImportEntityTypesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportEntityTypesRequest.verify|verify} messages.
                         * @param message ImportEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IImportEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportEntityTypesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportEntityTypesRequest.verify|verify} messages.
                         * @param message ImportEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IImportEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportEntityTypesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ImportEntityTypesRequest;

                        /**
                         * Decodes an ImportEntityTypesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ImportEntityTypesRequest;

                        /**
                         * Verifies an ImportEntityTypesRequest message.
                         * @param message Plain 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 ImportEntityTypesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportEntityTypesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ImportEntityTypesRequest;

                        /**
                         * Creates a plain object from an ImportEntityTypesRequest message. Also converts values to other types if specified.
                         * @param message ImportEntityTypesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ImportEntityTypesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportEntityTypesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportEntityTypesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ImportEntityTypesRequest {

                        /** MergeOption enum. */
                        enum MergeOption {
                            MERGE_OPTION_UNSPECIFIED = 0,
                            REPLACE = 1,
                            MERGE = 2,
                            RENAME = 3,
                            REPORT_CONFLICT = 4,
                            KEEP = 5
                        }
                    }

                    /** Properties of an ImportEntityTypesResponse. */
                    interface IImportEntityTypesResponse {

                        /** ImportEntityTypesResponse entityTypes */
                        entityTypes?: (string[]|null);

                        /** ImportEntityTypesResponse conflictingResources */
                        conflictingResources?: (google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse.IConflictingResources|null);
                    }

                    /** Represents an ImportEntityTypesResponse. */
                    class ImportEntityTypesResponse implements IImportEntityTypesResponse {

                        /**
                         * Constructs a new ImportEntityTypesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IImportEntityTypesResponse);

                        /** ImportEntityTypesResponse entityTypes. */
                        public entityTypes: string[];

                        /** ImportEntityTypesResponse conflictingResources. */
                        public conflictingResources?: (google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse.IConflictingResources|null);

                        /**
                         * Creates a new ImportEntityTypesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportEntityTypesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IImportEntityTypesResponse): google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse;

                        /**
                         * Encodes the specified ImportEntityTypesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse.verify|verify} messages.
                         * @param message ImportEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IImportEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportEntityTypesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse.verify|verify} messages.
                         * @param message ImportEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IImportEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportEntityTypesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse;

                        /**
                         * Decodes an ImportEntityTypesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse;

                        /**
                         * Verifies an ImportEntityTypesResponse message.
                         * @param message Plain 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 ImportEntityTypesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportEntityTypesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse;

                        /**
                         * Creates a plain object from an ImportEntityTypesResponse message. Also converts values to other types if specified.
                         * @param message ImportEntityTypesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportEntityTypesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportEntityTypesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ImportEntityTypesResponse {

                        /** Properties of a ConflictingResources. */
                        interface IConflictingResources {

                            /** ConflictingResources entityTypeDisplayNames */
                            entityTypeDisplayNames?: (string[]|null);

                            /** ConflictingResources entityDisplayNames */
                            entityDisplayNames?: (string[]|null);
                        }

                        /** Represents a ConflictingResources. */
                        class ConflictingResources implements IConflictingResources {

                            /**
                             * Constructs a new ConflictingResources.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse.IConflictingResources);

                            /** ConflictingResources entityTypeDisplayNames. */
                            public entityTypeDisplayNames: string[];

                            /** ConflictingResources entityDisplayNames. */
                            public entityDisplayNames: string[];

                            /**
                             * Creates a new ConflictingResources instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ConflictingResources instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse.IConflictingResources): google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse.ConflictingResources;

                            /**
                             * Encodes the specified ConflictingResources message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse.ConflictingResources.verify|verify} messages.
                             * @param message ConflictingResources message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse.IConflictingResources, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ConflictingResources message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse.ConflictingResources.verify|verify} messages.
                             * @param message ConflictingResources message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse.IConflictingResources, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ConflictingResources message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ConflictingResources
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse.ConflictingResources;

                            /**
                             * Decodes a ConflictingResources message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ConflictingResources
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse.ConflictingResources;

                            /**
                             * Verifies a ConflictingResources message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ConflictingResources message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ConflictingResources
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse.ConflictingResources;

                            /**
                             * Creates a plain object from a ConflictingResources message. Also converts values to other types if specified.
                             * @param message ConflictingResources
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.ImportEntityTypesResponse.ConflictingResources, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ConflictingResources to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ConflictingResources
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of an ImportEntityTypesMetadata. */
                    interface IImportEntityTypesMetadata {
                    }

                    /** Represents an ImportEntityTypesMetadata. */
                    class ImportEntityTypesMetadata implements IImportEntityTypesMetadata {

                        /**
                         * Constructs a new ImportEntityTypesMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IImportEntityTypesMetadata);

                        /**
                         * Creates a new ImportEntityTypesMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportEntityTypesMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IImportEntityTypesMetadata): google.cloud.dialogflow.cx.v3.ImportEntityTypesMetadata;

                        /**
                         * Encodes the specified ImportEntityTypesMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportEntityTypesMetadata.verify|verify} messages.
                         * @param message ImportEntityTypesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IImportEntityTypesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportEntityTypesMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportEntityTypesMetadata.verify|verify} messages.
                         * @param message ImportEntityTypesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IImportEntityTypesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportEntityTypesMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportEntityTypesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ImportEntityTypesMetadata;

                        /**
                         * Decodes an ImportEntityTypesMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportEntityTypesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ImportEntityTypesMetadata;

                        /**
                         * Verifies an ImportEntityTypesMetadata message.
                         * @param message Plain 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 ImportEntityTypesMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportEntityTypesMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ImportEntityTypesMetadata;

                        /**
                         * Creates a plain object from an ImportEntityTypesMetadata message. Also converts values to other types if specified.
                         * @param message ImportEntityTypesMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ImportEntityTypesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportEntityTypesMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportEntityTypesMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListEntityTypesRequest. */
                    interface IListEntityTypesRequest {

                        /** ListEntityTypesRequest parent */
                        parent?: (string|null);

                        /** ListEntityTypesRequest languageCode */
                        languageCode?: (string|null);

                        /** ListEntityTypesRequest pageSize */
                        pageSize?: (number|null);

                        /** ListEntityTypesRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListEntityTypesRequest. */
                    class ListEntityTypesRequest implements IListEntityTypesRequest {

                        /**
                         * Constructs a new ListEntityTypesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListEntityTypesRequest);

                        /** ListEntityTypesRequest parent. */
                        public parent: string;

                        /** ListEntityTypesRequest languageCode. */
                        public languageCode: string;

                        /** ListEntityTypesRequest pageSize. */
                        public pageSize: number;

                        /** ListEntityTypesRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListEntityTypesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListEntityTypesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListEntityTypesRequest): google.cloud.dialogflow.cx.v3.ListEntityTypesRequest;

                        /**
                         * Encodes the specified ListEntityTypesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListEntityTypesRequest.verify|verify} messages.
                         * @param message ListEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListEntityTypesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListEntityTypesRequest.verify|verify} messages.
                         * @param message ListEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListEntityTypesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListEntityTypesRequest;

                        /**
                         * Decodes a ListEntityTypesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListEntityTypesRequest;

                        /**
                         * Verifies a ListEntityTypesRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListEntityTypesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListEntityTypesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListEntityTypesRequest;

                        /**
                         * Creates a plain object from a ListEntityTypesRequest message. Also converts values to other types if specified.
                         * @param message ListEntityTypesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListEntityTypesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListEntityTypesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListEntityTypesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListEntityTypesResponse. */
                    interface IListEntityTypesResponse {

                        /** ListEntityTypesResponse entityTypes */
                        entityTypes?: (google.cloud.dialogflow.cx.v3.IEntityType[]|null);

                        /** ListEntityTypesResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListEntityTypesResponse. */
                    class ListEntityTypesResponse implements IListEntityTypesResponse {

                        /**
                         * Constructs a new ListEntityTypesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListEntityTypesResponse);

                        /** ListEntityTypesResponse entityTypes. */
                        public entityTypes: google.cloud.dialogflow.cx.v3.IEntityType[];

                        /** ListEntityTypesResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListEntityTypesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListEntityTypesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListEntityTypesResponse): google.cloud.dialogflow.cx.v3.ListEntityTypesResponse;

                        /**
                         * Encodes the specified ListEntityTypesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListEntityTypesResponse.verify|verify} messages.
                         * @param message ListEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListEntityTypesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListEntityTypesResponse.verify|verify} messages.
                         * @param message ListEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListEntityTypesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListEntityTypesResponse;

                        /**
                         * Decodes a ListEntityTypesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListEntityTypesResponse;

                        /**
                         * Verifies a ListEntityTypesResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListEntityTypesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListEntityTypesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListEntityTypesResponse;

                        /**
                         * Creates a plain object from a ListEntityTypesResponse message. Also converts values to other types if specified.
                         * @param message ListEntityTypesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListEntityTypesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListEntityTypesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListEntityTypesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetEntityTypeRequest. */
                    interface IGetEntityTypeRequest {

                        /** GetEntityTypeRequest name */
                        name?: (string|null);

                        /** GetEntityTypeRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetEntityTypeRequest. */
                    class GetEntityTypeRequest implements IGetEntityTypeRequest {

                        /**
                         * Constructs a new GetEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetEntityTypeRequest);

                        /** GetEntityTypeRequest name. */
                        public name: string;

                        /** GetEntityTypeRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetEntityTypeRequest): google.cloud.dialogflow.cx.v3.GetEntityTypeRequest;

                        /**
                         * Encodes the specified GetEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetEntityTypeRequest.verify|verify} messages.
                         * @param message GetEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetEntityTypeRequest.verify|verify} messages.
                         * @param message GetEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.GetEntityTypeRequest;

                        /**
                         * Decodes a GetEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.GetEntityTypeRequest;

                        /**
                         * Verifies a GetEntityTypeRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GetEntityTypeRequest;

                        /**
                         * Creates a plain object from a GetEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message GetEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.GetEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateEntityTypeRequest. */
                    interface ICreateEntityTypeRequest {

                        /** CreateEntityTypeRequest parent */
                        parent?: (string|null);

                        /** CreateEntityTypeRequest entityType */
                        entityType?: (google.cloud.dialogflow.cx.v3.IEntityType|null);

                        /** CreateEntityTypeRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a CreateEntityTypeRequest. */
                    class CreateEntityTypeRequest implements ICreateEntityTypeRequest {

                        /**
                         * Constructs a new CreateEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICreateEntityTypeRequest);

                        /** CreateEntityTypeRequest parent. */
                        public parent: string;

                        /** CreateEntityTypeRequest entityType. */
                        public entityType?: (google.cloud.dialogflow.cx.v3.IEntityType|null);

                        /** CreateEntityTypeRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new CreateEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICreateEntityTypeRequest): google.cloud.dialogflow.cx.v3.CreateEntityTypeRequest;

                        /**
                         * Encodes the specified CreateEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateEntityTypeRequest.verify|verify} messages.
                         * @param message CreateEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICreateEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateEntityTypeRequest.verify|verify} messages.
                         * @param message CreateEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICreateEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CreateEntityTypeRequest;

                        /**
                         * Decodes a CreateEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CreateEntityTypeRequest;

                        /**
                         * Verifies a CreateEntityTypeRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CreateEntityTypeRequest;

                        /**
                         * Creates a plain object from a CreateEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message CreateEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CreateEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateEntityTypeRequest. */
                    interface IUpdateEntityTypeRequest {

                        /** UpdateEntityTypeRequest entityType */
                        entityType?: (google.cloud.dialogflow.cx.v3.IEntityType|null);

                        /** UpdateEntityTypeRequest languageCode */
                        languageCode?: (string|null);

                        /** UpdateEntityTypeRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateEntityTypeRequest. */
                    class UpdateEntityTypeRequest implements IUpdateEntityTypeRequest {

                        /**
                         * Constructs a new UpdateEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IUpdateEntityTypeRequest);

                        /** UpdateEntityTypeRequest entityType. */
                        public entityType?: (google.cloud.dialogflow.cx.v3.IEntityType|null);

                        /** UpdateEntityTypeRequest languageCode. */
                        public languageCode: string;

                        /** UpdateEntityTypeRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IUpdateEntityTypeRequest): google.cloud.dialogflow.cx.v3.UpdateEntityTypeRequest;

                        /**
                         * Encodes the specified UpdateEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateEntityTypeRequest.verify|verify} messages.
                         * @param message UpdateEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IUpdateEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateEntityTypeRequest.verify|verify} messages.
                         * @param message UpdateEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IUpdateEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.UpdateEntityTypeRequest;

                        /**
                         * Decodes an UpdateEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.UpdateEntityTypeRequest;

                        /**
                         * Verifies an UpdateEntityTypeRequest message.
                         * @param message Plain 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 UpdateEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.UpdateEntityTypeRequest;

                        /**
                         * Creates a plain object from an UpdateEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message UpdateEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.UpdateEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteEntityTypeRequest. */
                    interface IDeleteEntityTypeRequest {

                        /** DeleteEntityTypeRequest name */
                        name?: (string|null);

                        /** DeleteEntityTypeRequest force */
                        force?: (boolean|null);
                    }

                    /** Represents a DeleteEntityTypeRequest. */
                    class DeleteEntityTypeRequest implements IDeleteEntityTypeRequest {

                        /**
                         * Constructs a new DeleteEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeleteEntityTypeRequest);

                        /** DeleteEntityTypeRequest name. */
                        public name: string;

                        /** DeleteEntityTypeRequest force. */
                        public force: boolean;

                        /**
                         * Creates a new DeleteEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeleteEntityTypeRequest): google.cloud.dialogflow.cx.v3.DeleteEntityTypeRequest;

                        /**
                         * Encodes the specified DeleteEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteEntityTypeRequest.verify|verify} messages.
                         * @param message DeleteEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeleteEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteEntityTypeRequest.verify|verify} messages.
                         * @param message DeleteEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeleteEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DeleteEntityTypeRequest;

                        /**
                         * Decodes a DeleteEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DeleteEntityTypeRequest;

                        /**
                         * Verifies a DeleteEntityTypeRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DeleteEntityTypeRequest;

                        /**
                         * Creates a plain object from a DeleteEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message DeleteEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DeleteEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an InlineDestination. */
                    interface IInlineDestination {

                        /** InlineDestination content */
                        content?: (Uint8Array|Buffer|string|null);
                    }

                    /** Represents an InlineDestination. */
                    class InlineDestination implements IInlineDestination {

                        /**
                         * Constructs a new InlineDestination.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IInlineDestination);

                        /** InlineDestination content. */
                        public content: (Uint8Array|Buffer|string);

                        /**
                         * Creates a new InlineDestination instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns InlineDestination instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IInlineDestination): google.cloud.dialogflow.cx.v3.InlineDestination;

                        /**
                         * Encodes the specified InlineDestination message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.InlineDestination.verify|verify} messages.
                         * @param message InlineDestination message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IInlineDestination, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified InlineDestination message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.InlineDestination.verify|verify} messages.
                         * @param message InlineDestination message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IInlineDestination, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an InlineDestination message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns InlineDestination
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.InlineDestination;

                        /**
                         * Decodes an InlineDestination message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns InlineDestination
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.InlineDestination;

                        /**
                         * Verifies an InlineDestination message.
                         * @param message Plain 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 InlineDestination message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns InlineDestination
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.InlineDestination;

                        /**
                         * Creates a plain object from an InlineDestination message. Also converts values to other types if specified.
                         * @param message InlineDestination
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.InlineDestination, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this InlineDestination to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for InlineDestination
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an InlineSource. */
                    interface IInlineSource {

                        /** InlineSource content */
                        content?: (Uint8Array|Buffer|string|null);
                    }

                    /** Represents an InlineSource. */
                    class InlineSource implements IInlineSource {

                        /**
                         * Constructs a new InlineSource.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IInlineSource);

                        /** InlineSource content. */
                        public content: (Uint8Array|Buffer|string);

                        /**
                         * Creates a new InlineSource instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns InlineSource instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IInlineSource): google.cloud.dialogflow.cx.v3.InlineSource;

                        /**
                         * Encodes the specified InlineSource message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.InlineSource.verify|verify} messages.
                         * @param message InlineSource message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified InlineSource message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.InlineSource.verify|verify} messages.
                         * @param message InlineSource message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an InlineSource message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns InlineSource
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.InlineSource;

                        /**
                         * Decodes an InlineSource message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns InlineSource
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.InlineSource;

                        /**
                         * Verifies an InlineSource message.
                         * @param message Plain 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 InlineSource message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns InlineSource
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.InlineSource;

                        /**
                         * Creates a plain object from an InlineSource message. Also converts values to other types if specified.
                         * @param message InlineSource
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.InlineSource, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this InlineSource to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for InlineSource
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents an Environments */
                    class Environments extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Environments 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 Environments 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): Environments;

                        /**
                         * Calls ListEnvironments.
                         * @param request ListEnvironmentsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListEnvironmentsResponse
                         */
                        public listEnvironments(request: google.cloud.dialogflow.cx.v3.IListEnvironmentsRequest, callback: google.cloud.dialogflow.cx.v3.Environments.ListEnvironmentsCallback): void;

                        /**
                         * Calls ListEnvironments.
                         * @param request ListEnvironmentsRequest message or plain object
                         * @returns Promise
                         */
                        public listEnvironments(request: google.cloud.dialogflow.cx.v3.IListEnvironmentsRequest): Promise<google.cloud.dialogflow.cx.v3.ListEnvironmentsResponse>;

                        /**
                         * Calls GetEnvironment.
                         * @param request GetEnvironmentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Environment
                         */
                        public getEnvironment(request: google.cloud.dialogflow.cx.v3.IGetEnvironmentRequest, callback: google.cloud.dialogflow.cx.v3.Environments.GetEnvironmentCallback): void;

                        /**
                         * Calls GetEnvironment.
                         * @param request GetEnvironmentRequest message or plain object
                         * @returns Promise
                         */
                        public getEnvironment(request: google.cloud.dialogflow.cx.v3.IGetEnvironmentRequest): Promise<google.cloud.dialogflow.cx.v3.Environment>;

                        /**
                         * Calls CreateEnvironment.
                         * @param request CreateEnvironmentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public createEnvironment(request: google.cloud.dialogflow.cx.v3.ICreateEnvironmentRequest, callback: google.cloud.dialogflow.cx.v3.Environments.CreateEnvironmentCallback): void;

                        /**
                         * Calls CreateEnvironment.
                         * @param request CreateEnvironmentRequest message or plain object
                         * @returns Promise
                         */
                        public createEnvironment(request: google.cloud.dialogflow.cx.v3.ICreateEnvironmentRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls UpdateEnvironment.
                         * @param request UpdateEnvironmentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public updateEnvironment(request: google.cloud.dialogflow.cx.v3.IUpdateEnvironmentRequest, callback: google.cloud.dialogflow.cx.v3.Environments.UpdateEnvironmentCallback): void;

                        /**
                         * Calls UpdateEnvironment.
                         * @param request UpdateEnvironmentRequest message or plain object
                         * @returns Promise
                         */
                        public updateEnvironment(request: google.cloud.dialogflow.cx.v3.IUpdateEnvironmentRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls DeleteEnvironment.
                         * @param request DeleteEnvironmentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteEnvironment(request: google.cloud.dialogflow.cx.v3.IDeleteEnvironmentRequest, callback: google.cloud.dialogflow.cx.v3.Environments.DeleteEnvironmentCallback): void;

                        /**
                         * Calls DeleteEnvironment.
                         * @param request DeleteEnvironmentRequest message or plain object
                         * @returns Promise
                         */
                        public deleteEnvironment(request: google.cloud.dialogflow.cx.v3.IDeleteEnvironmentRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls LookupEnvironmentHistory.
                         * @param request LookupEnvironmentHistoryRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and LookupEnvironmentHistoryResponse
                         */
                        public lookupEnvironmentHistory(request: google.cloud.dialogflow.cx.v3.ILookupEnvironmentHistoryRequest, callback: google.cloud.dialogflow.cx.v3.Environments.LookupEnvironmentHistoryCallback): void;

                        /**
                         * Calls LookupEnvironmentHistory.
                         * @param request LookupEnvironmentHistoryRequest message or plain object
                         * @returns Promise
                         */
                        public lookupEnvironmentHistory(request: google.cloud.dialogflow.cx.v3.ILookupEnvironmentHistoryRequest): Promise<google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryResponse>;

                        /**
                         * Calls RunContinuousTest.
                         * @param request RunContinuousTestRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public runContinuousTest(request: google.cloud.dialogflow.cx.v3.IRunContinuousTestRequest, callback: google.cloud.dialogflow.cx.v3.Environments.RunContinuousTestCallback): void;

                        /**
                         * Calls RunContinuousTest.
                         * @param request RunContinuousTestRequest message or plain object
                         * @returns Promise
                         */
                        public runContinuousTest(request: google.cloud.dialogflow.cx.v3.IRunContinuousTestRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ListContinuousTestResults.
                         * @param request ListContinuousTestResultsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListContinuousTestResultsResponse
                         */
                        public listContinuousTestResults(request: google.cloud.dialogflow.cx.v3.IListContinuousTestResultsRequest, callback: google.cloud.dialogflow.cx.v3.Environments.ListContinuousTestResultsCallback): void;

                        /**
                         * Calls ListContinuousTestResults.
                         * @param request ListContinuousTestResultsRequest message or plain object
                         * @returns Promise
                         */
                        public listContinuousTestResults(request: google.cloud.dialogflow.cx.v3.IListContinuousTestResultsRequest): Promise<google.cloud.dialogflow.cx.v3.ListContinuousTestResultsResponse>;

                        /**
                         * Calls DeployFlow.
                         * @param request DeployFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public deployFlow(request: google.cloud.dialogflow.cx.v3.IDeployFlowRequest, callback: google.cloud.dialogflow.cx.v3.Environments.DeployFlowCallback): void;

                        /**
                         * Calls DeployFlow.
                         * @param request DeployFlowRequest message or plain object
                         * @returns Promise
                         */
                        public deployFlow(request: google.cloud.dialogflow.cx.v3.IDeployFlowRequest): Promise<google.longrunning.Operation>;
                    }

                    namespace Environments {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Environments|listEnvironments}.
                         * @param error Error, if any
                         * @param [response] ListEnvironmentsResponse
                         */
                        type ListEnvironmentsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListEnvironmentsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Environments|getEnvironment}.
                         * @param error Error, if any
                         * @param [response] Environment
                         */
                        type GetEnvironmentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Environment) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Environments|createEnvironment}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type CreateEnvironmentCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Environments|updateEnvironment}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type UpdateEnvironmentCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Environments|deleteEnvironment}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteEnvironmentCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Environments|lookupEnvironmentHistory}.
                         * @param error Error, if any
                         * @param [response] LookupEnvironmentHistoryResponse
                         */
                        type LookupEnvironmentHistoryCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Environments|runContinuousTest}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type RunContinuousTestCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Environments|listContinuousTestResults}.
                         * @param error Error, if any
                         * @param [response] ListContinuousTestResultsResponse
                         */
                        type ListContinuousTestResultsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListContinuousTestResultsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Environments|deployFlow}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type DeployFlowCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
                    }

                    /** Properties of an Environment. */
                    interface IEnvironment {

                        /** Environment name */
                        name?: (string|null);

                        /** Environment displayName */
                        displayName?: (string|null);

                        /** Environment description */
                        description?: (string|null);

                        /** Environment versionConfigs */
                        versionConfigs?: (google.cloud.dialogflow.cx.v3.Environment.IVersionConfig[]|null);

                        /** Environment updateTime */
                        updateTime?: (google.protobuf.ITimestamp|null);

                        /** Environment testCasesConfig */
                        testCasesConfig?: (google.cloud.dialogflow.cx.v3.Environment.ITestCasesConfig|null);

                        /** Environment webhookConfig */
                        webhookConfig?: (google.cloud.dialogflow.cx.v3.Environment.IWebhookConfig|null);
                    }

                    /** Represents an Environment. */
                    class Environment implements IEnvironment {

                        /**
                         * Constructs a new Environment.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IEnvironment);

                        /** Environment name. */
                        public name: string;

                        /** Environment displayName. */
                        public displayName: string;

                        /** Environment description. */
                        public description: string;

                        /** Environment versionConfigs. */
                        public versionConfigs: google.cloud.dialogflow.cx.v3.Environment.IVersionConfig[];

                        /** Environment updateTime. */
                        public updateTime?: (google.protobuf.ITimestamp|null);

                        /** Environment testCasesConfig. */
                        public testCasesConfig?: (google.cloud.dialogflow.cx.v3.Environment.ITestCasesConfig|null);

                        /** Environment webhookConfig. */
                        public webhookConfig?: (google.cloud.dialogflow.cx.v3.Environment.IWebhookConfig|null);

                        /**
                         * Creates a new Environment instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Environment instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IEnvironment): google.cloud.dialogflow.cx.v3.Environment;

                        /**
                         * Encodes the specified Environment message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Environment.verify|verify} messages.
                         * @param message Environment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IEnvironment, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Environment message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Environment.verify|verify} messages.
                         * @param message Environment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IEnvironment, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an Environment message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Environment
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Environment;

                        /**
                         * Decodes an Environment message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Environment
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Environment;

                        /**
                         * Verifies an Environment message.
                         * @param message Plain 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 Environment message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Environment
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Environment;

                        /**
                         * Creates a plain object from an Environment message. Also converts values to other types if specified.
                         * @param message Environment
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.Environment, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Environment to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Environment
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Environment {

                        /** Properties of a VersionConfig. */
                        interface IVersionConfig {

                            /** VersionConfig version */
                            version?: (string|null);
                        }

                        /** Represents a VersionConfig. */
                        class VersionConfig implements IVersionConfig {

                            /**
                             * Constructs a new VersionConfig.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Environment.IVersionConfig);

                            /** VersionConfig version. */
                            public version: string;

                            /**
                             * Creates a new VersionConfig instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns VersionConfig instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Environment.IVersionConfig): google.cloud.dialogflow.cx.v3.Environment.VersionConfig;

                            /**
                             * Encodes the specified VersionConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Environment.VersionConfig.verify|verify} messages.
                             * @param message VersionConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Environment.IVersionConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified VersionConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Environment.VersionConfig.verify|verify} messages.
                             * @param message VersionConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Environment.IVersionConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a VersionConfig message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns VersionConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Environment.VersionConfig;

                            /**
                             * Decodes a VersionConfig message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns VersionConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Environment.VersionConfig;

                            /**
                             * Verifies a VersionConfig message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a VersionConfig message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns VersionConfig
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Environment.VersionConfig;

                            /**
                             * Creates a plain object from a VersionConfig message. Also converts values to other types if specified.
                             * @param message VersionConfig
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.Environment.VersionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this VersionConfig to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for VersionConfig
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a TestCasesConfig. */
                        interface ITestCasesConfig {

                            /** TestCasesConfig testCases */
                            testCases?: (string[]|null);

                            /** TestCasesConfig enableContinuousRun */
                            enableContinuousRun?: (boolean|null);

                            /** TestCasesConfig enablePredeploymentRun */
                            enablePredeploymentRun?: (boolean|null);
                        }

                        /** Represents a TestCasesConfig. */
                        class TestCasesConfig implements ITestCasesConfig {

                            /**
                             * Constructs a new TestCasesConfig.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Environment.ITestCasesConfig);

                            /** TestCasesConfig testCases. */
                            public testCases: string[];

                            /** TestCasesConfig enableContinuousRun. */
                            public enableContinuousRun: boolean;

                            /** TestCasesConfig enablePredeploymentRun. */
                            public enablePredeploymentRun: boolean;

                            /**
                             * Creates a new TestCasesConfig instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns TestCasesConfig instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Environment.ITestCasesConfig): google.cloud.dialogflow.cx.v3.Environment.TestCasesConfig;

                            /**
                             * Encodes the specified TestCasesConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Environment.TestCasesConfig.verify|verify} messages.
                             * @param message TestCasesConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Environment.ITestCasesConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified TestCasesConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Environment.TestCasesConfig.verify|verify} messages.
                             * @param message TestCasesConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Environment.ITestCasesConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a TestCasesConfig message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns TestCasesConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Environment.TestCasesConfig;

                            /**
                             * Decodes a TestCasesConfig message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns TestCasesConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Environment.TestCasesConfig;

                            /**
                             * Verifies a TestCasesConfig message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a TestCasesConfig message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns TestCasesConfig
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Environment.TestCasesConfig;

                            /**
                             * Creates a plain object from a TestCasesConfig message. Also converts values to other types if specified.
                             * @param message TestCasesConfig
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.Environment.TestCasesConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this TestCasesConfig to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for TestCasesConfig
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a WebhookConfig. */
                        interface IWebhookConfig {

                            /** WebhookConfig webhookOverrides */
                            webhookOverrides?: (google.cloud.dialogflow.cx.v3.IWebhook[]|null);
                        }

                        /** Represents a WebhookConfig. */
                        class WebhookConfig implements IWebhookConfig {

                            /**
                             * Constructs a new WebhookConfig.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Environment.IWebhookConfig);

                            /** WebhookConfig webhookOverrides. */
                            public webhookOverrides: google.cloud.dialogflow.cx.v3.IWebhook[];

                            /**
                             * Creates a new WebhookConfig instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns WebhookConfig instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Environment.IWebhookConfig): google.cloud.dialogflow.cx.v3.Environment.WebhookConfig;

                            /**
                             * Encodes the specified WebhookConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Environment.WebhookConfig.verify|verify} messages.
                             * @param message WebhookConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Environment.IWebhookConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified WebhookConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Environment.WebhookConfig.verify|verify} messages.
                             * @param message WebhookConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Environment.IWebhookConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a WebhookConfig message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns WebhookConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Environment.WebhookConfig;

                            /**
                             * Decodes a WebhookConfig message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns WebhookConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Environment.WebhookConfig;

                            /**
                             * Verifies a WebhookConfig message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a WebhookConfig message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns WebhookConfig
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Environment.WebhookConfig;

                            /**
                             * Creates a plain object from a WebhookConfig message. Also converts values to other types if specified.
                             * @param message WebhookConfig
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.Environment.WebhookConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this WebhookConfig to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for WebhookConfig
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a ListEnvironmentsRequest. */
                    interface IListEnvironmentsRequest {

                        /** ListEnvironmentsRequest parent */
                        parent?: (string|null);

                        /** ListEnvironmentsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListEnvironmentsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListEnvironmentsRequest. */
                    class ListEnvironmentsRequest implements IListEnvironmentsRequest {

                        /**
                         * Constructs a new ListEnvironmentsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListEnvironmentsRequest);

                        /** ListEnvironmentsRequest parent. */
                        public parent: string;

                        /** ListEnvironmentsRequest pageSize. */
                        public pageSize: number;

                        /** ListEnvironmentsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListEnvironmentsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListEnvironmentsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListEnvironmentsRequest): google.cloud.dialogflow.cx.v3.ListEnvironmentsRequest;

                        /**
                         * Encodes the specified ListEnvironmentsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListEnvironmentsRequest.verify|verify} messages.
                         * @param message ListEnvironmentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListEnvironmentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListEnvironmentsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListEnvironmentsRequest.verify|verify} messages.
                         * @param message ListEnvironmentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListEnvironmentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListEnvironmentsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListEnvironmentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListEnvironmentsRequest;

                        /**
                         * Decodes a ListEnvironmentsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListEnvironmentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListEnvironmentsRequest;

                        /**
                         * Verifies a ListEnvironmentsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListEnvironmentsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListEnvironmentsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListEnvironmentsRequest;

                        /**
                         * Creates a plain object from a ListEnvironmentsRequest message. Also converts values to other types if specified.
                         * @param message ListEnvironmentsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListEnvironmentsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListEnvironmentsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListEnvironmentsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListEnvironmentsResponse. */
                    interface IListEnvironmentsResponse {

                        /** ListEnvironmentsResponse environments */
                        environments?: (google.cloud.dialogflow.cx.v3.IEnvironment[]|null);

                        /** ListEnvironmentsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListEnvironmentsResponse. */
                    class ListEnvironmentsResponse implements IListEnvironmentsResponse {

                        /**
                         * Constructs a new ListEnvironmentsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListEnvironmentsResponse);

                        /** ListEnvironmentsResponse environments. */
                        public environments: google.cloud.dialogflow.cx.v3.IEnvironment[];

                        /** ListEnvironmentsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListEnvironmentsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListEnvironmentsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListEnvironmentsResponse): google.cloud.dialogflow.cx.v3.ListEnvironmentsResponse;

                        /**
                         * Encodes the specified ListEnvironmentsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListEnvironmentsResponse.verify|verify} messages.
                         * @param message ListEnvironmentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListEnvironmentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListEnvironmentsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListEnvironmentsResponse.verify|verify} messages.
                         * @param message ListEnvironmentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListEnvironmentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListEnvironmentsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListEnvironmentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListEnvironmentsResponse;

                        /**
                         * Decodes a ListEnvironmentsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListEnvironmentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListEnvironmentsResponse;

                        /**
                         * Verifies a ListEnvironmentsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListEnvironmentsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListEnvironmentsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListEnvironmentsResponse;

                        /**
                         * Creates a plain object from a ListEnvironmentsResponse message. Also converts values to other types if specified.
                         * @param message ListEnvironmentsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListEnvironmentsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListEnvironmentsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListEnvironmentsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetEnvironmentRequest. */
                    interface IGetEnvironmentRequest {

                        /** GetEnvironmentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetEnvironmentRequest. */
                    class GetEnvironmentRequest implements IGetEnvironmentRequest {

                        /**
                         * Constructs a new GetEnvironmentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetEnvironmentRequest);

                        /** GetEnvironmentRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetEnvironmentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetEnvironmentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetEnvironmentRequest): google.cloud.dialogflow.cx.v3.GetEnvironmentRequest;

                        /**
                         * Encodes the specified GetEnvironmentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetEnvironmentRequest.verify|verify} messages.
                         * @param message GetEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetEnvironmentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetEnvironmentRequest.verify|verify} messages.
                         * @param message GetEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetEnvironmentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.GetEnvironmentRequest;

                        /**
                         * Decodes a GetEnvironmentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.GetEnvironmentRequest;

                        /**
                         * Verifies a GetEnvironmentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetEnvironmentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetEnvironmentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GetEnvironmentRequest;

                        /**
                         * Creates a plain object from a GetEnvironmentRequest message. Also converts values to other types if specified.
                         * @param message GetEnvironmentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.GetEnvironmentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetEnvironmentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetEnvironmentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateEnvironmentRequest. */
                    interface ICreateEnvironmentRequest {

                        /** CreateEnvironmentRequest parent */
                        parent?: (string|null);

                        /** CreateEnvironmentRequest environment */
                        environment?: (google.cloud.dialogflow.cx.v3.IEnvironment|null);
                    }

                    /** Represents a CreateEnvironmentRequest. */
                    class CreateEnvironmentRequest implements ICreateEnvironmentRequest {

                        /**
                         * Constructs a new CreateEnvironmentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICreateEnvironmentRequest);

                        /** CreateEnvironmentRequest parent. */
                        public parent: string;

                        /** CreateEnvironmentRequest environment. */
                        public environment?: (google.cloud.dialogflow.cx.v3.IEnvironment|null);

                        /**
                         * Creates a new CreateEnvironmentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateEnvironmentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICreateEnvironmentRequest): google.cloud.dialogflow.cx.v3.CreateEnvironmentRequest;

                        /**
                         * Encodes the specified CreateEnvironmentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateEnvironmentRequest.verify|verify} messages.
                         * @param message CreateEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICreateEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateEnvironmentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateEnvironmentRequest.verify|verify} messages.
                         * @param message CreateEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICreateEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateEnvironmentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CreateEnvironmentRequest;

                        /**
                         * Decodes a CreateEnvironmentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CreateEnvironmentRequest;

                        /**
                         * Verifies a CreateEnvironmentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateEnvironmentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateEnvironmentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CreateEnvironmentRequest;

                        /**
                         * Creates a plain object from a CreateEnvironmentRequest message. Also converts values to other types if specified.
                         * @param message CreateEnvironmentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CreateEnvironmentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateEnvironmentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateEnvironmentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateEnvironmentRequest. */
                    interface IUpdateEnvironmentRequest {

                        /** UpdateEnvironmentRequest environment */
                        environment?: (google.cloud.dialogflow.cx.v3.IEnvironment|null);

                        /** UpdateEnvironmentRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateEnvironmentRequest. */
                    class UpdateEnvironmentRequest implements IUpdateEnvironmentRequest {

                        /**
                         * Constructs a new UpdateEnvironmentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IUpdateEnvironmentRequest);

                        /** UpdateEnvironmentRequest environment. */
                        public environment?: (google.cloud.dialogflow.cx.v3.IEnvironment|null);

                        /** UpdateEnvironmentRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateEnvironmentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateEnvironmentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IUpdateEnvironmentRequest): google.cloud.dialogflow.cx.v3.UpdateEnvironmentRequest;

                        /**
                         * Encodes the specified UpdateEnvironmentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateEnvironmentRequest.verify|verify} messages.
                         * @param message UpdateEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IUpdateEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateEnvironmentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateEnvironmentRequest.verify|verify} messages.
                         * @param message UpdateEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IUpdateEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateEnvironmentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.UpdateEnvironmentRequest;

                        /**
                         * Decodes an UpdateEnvironmentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.UpdateEnvironmentRequest;

                        /**
                         * Verifies an UpdateEnvironmentRequest message.
                         * @param message Plain 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 UpdateEnvironmentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateEnvironmentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.UpdateEnvironmentRequest;

                        /**
                         * Creates a plain object from an UpdateEnvironmentRequest message. Also converts values to other types if specified.
                         * @param message UpdateEnvironmentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.UpdateEnvironmentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateEnvironmentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateEnvironmentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteEnvironmentRequest. */
                    interface IDeleteEnvironmentRequest {

                        /** DeleteEnvironmentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeleteEnvironmentRequest. */
                    class DeleteEnvironmentRequest implements IDeleteEnvironmentRequest {

                        /**
                         * Constructs a new DeleteEnvironmentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeleteEnvironmentRequest);

                        /** DeleteEnvironmentRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeleteEnvironmentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteEnvironmentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeleteEnvironmentRequest): google.cloud.dialogflow.cx.v3.DeleteEnvironmentRequest;

                        /**
                         * Encodes the specified DeleteEnvironmentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteEnvironmentRequest.verify|verify} messages.
                         * @param message DeleteEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeleteEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteEnvironmentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteEnvironmentRequest.verify|verify} messages.
                         * @param message DeleteEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeleteEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteEnvironmentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DeleteEnvironmentRequest;

                        /**
                         * Decodes a DeleteEnvironmentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DeleteEnvironmentRequest;

                        /**
                         * Verifies a DeleteEnvironmentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteEnvironmentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteEnvironmentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DeleteEnvironmentRequest;

                        /**
                         * Creates a plain object from a DeleteEnvironmentRequest message. Also converts values to other types if specified.
                         * @param message DeleteEnvironmentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DeleteEnvironmentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteEnvironmentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteEnvironmentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a LookupEnvironmentHistoryRequest. */
                    interface ILookupEnvironmentHistoryRequest {

                        /** LookupEnvironmentHistoryRequest name */
                        name?: (string|null);

                        /** LookupEnvironmentHistoryRequest pageSize */
                        pageSize?: (number|null);

                        /** LookupEnvironmentHistoryRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a LookupEnvironmentHistoryRequest. */
                    class LookupEnvironmentHistoryRequest implements ILookupEnvironmentHistoryRequest {

                        /**
                         * Constructs a new LookupEnvironmentHistoryRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ILookupEnvironmentHistoryRequest);

                        /** LookupEnvironmentHistoryRequest name. */
                        public name: string;

                        /** LookupEnvironmentHistoryRequest pageSize. */
                        public pageSize: number;

                        /** LookupEnvironmentHistoryRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new LookupEnvironmentHistoryRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns LookupEnvironmentHistoryRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ILookupEnvironmentHistoryRequest): google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryRequest;

                        /**
                         * Encodes the specified LookupEnvironmentHistoryRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryRequest.verify|verify} messages.
                         * @param message LookupEnvironmentHistoryRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ILookupEnvironmentHistoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified LookupEnvironmentHistoryRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryRequest.verify|verify} messages.
                         * @param message LookupEnvironmentHistoryRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ILookupEnvironmentHistoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a LookupEnvironmentHistoryRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns LookupEnvironmentHistoryRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryRequest;

                        /**
                         * Decodes a LookupEnvironmentHistoryRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns LookupEnvironmentHistoryRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryRequest;

                        /**
                         * Verifies a LookupEnvironmentHistoryRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a LookupEnvironmentHistoryRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns LookupEnvironmentHistoryRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryRequest;

                        /**
                         * Creates a plain object from a LookupEnvironmentHistoryRequest message. Also converts values to other types if specified.
                         * @param message LookupEnvironmentHistoryRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this LookupEnvironmentHistoryRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for LookupEnvironmentHistoryRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a LookupEnvironmentHistoryResponse. */
                    interface ILookupEnvironmentHistoryResponse {

                        /** LookupEnvironmentHistoryResponse environments */
                        environments?: (google.cloud.dialogflow.cx.v3.IEnvironment[]|null);

                        /** LookupEnvironmentHistoryResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a LookupEnvironmentHistoryResponse. */
                    class LookupEnvironmentHistoryResponse implements ILookupEnvironmentHistoryResponse {

                        /**
                         * Constructs a new LookupEnvironmentHistoryResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ILookupEnvironmentHistoryResponse);

                        /** LookupEnvironmentHistoryResponse environments. */
                        public environments: google.cloud.dialogflow.cx.v3.IEnvironment[];

                        /** LookupEnvironmentHistoryResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new LookupEnvironmentHistoryResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns LookupEnvironmentHistoryResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ILookupEnvironmentHistoryResponse): google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryResponse;

                        /**
                         * Encodes the specified LookupEnvironmentHistoryResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryResponse.verify|verify} messages.
                         * @param message LookupEnvironmentHistoryResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ILookupEnvironmentHistoryResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified LookupEnvironmentHistoryResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryResponse.verify|verify} messages.
                         * @param message LookupEnvironmentHistoryResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ILookupEnvironmentHistoryResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a LookupEnvironmentHistoryResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns LookupEnvironmentHistoryResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryResponse;

                        /**
                         * Decodes a LookupEnvironmentHistoryResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns LookupEnvironmentHistoryResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryResponse;

                        /**
                         * Verifies a LookupEnvironmentHistoryResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a LookupEnvironmentHistoryResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns LookupEnvironmentHistoryResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryResponse;

                        /**
                         * Creates a plain object from a LookupEnvironmentHistoryResponse message. Also converts values to other types if specified.
                         * @param message LookupEnvironmentHistoryResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.LookupEnvironmentHistoryResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this LookupEnvironmentHistoryResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for LookupEnvironmentHistoryResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ContinuousTestResult. */
                    interface IContinuousTestResult {

                        /** ContinuousTestResult name */
                        name?: (string|null);

                        /** ContinuousTestResult result */
                        result?: (google.cloud.dialogflow.cx.v3.ContinuousTestResult.AggregatedTestResult|keyof typeof google.cloud.dialogflow.cx.v3.ContinuousTestResult.AggregatedTestResult|null);

                        /** ContinuousTestResult testCaseResults */
                        testCaseResults?: (string[]|null);

                        /** ContinuousTestResult runTime */
                        runTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a ContinuousTestResult. */
                    class ContinuousTestResult implements IContinuousTestResult {

                        /**
                         * Constructs a new ContinuousTestResult.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IContinuousTestResult);

                        /** ContinuousTestResult name. */
                        public name: string;

                        /** ContinuousTestResult result. */
                        public result: (google.cloud.dialogflow.cx.v3.ContinuousTestResult.AggregatedTestResult|keyof typeof google.cloud.dialogflow.cx.v3.ContinuousTestResult.AggregatedTestResult);

                        /** ContinuousTestResult testCaseResults. */
                        public testCaseResults: string[];

                        /** ContinuousTestResult runTime. */
                        public runTime?: (google.protobuf.ITimestamp|null);

                        /**
                         * Creates a new ContinuousTestResult instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ContinuousTestResult instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IContinuousTestResult): google.cloud.dialogflow.cx.v3.ContinuousTestResult;

                        /**
                         * Encodes the specified ContinuousTestResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ContinuousTestResult.verify|verify} messages.
                         * @param message ContinuousTestResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IContinuousTestResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ContinuousTestResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ContinuousTestResult.verify|verify} messages.
                         * @param message ContinuousTestResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IContinuousTestResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ContinuousTestResult message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ContinuousTestResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ContinuousTestResult;

                        /**
                         * Decodes a ContinuousTestResult message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ContinuousTestResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ContinuousTestResult;

                        /**
                         * Verifies a ContinuousTestResult message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ContinuousTestResult message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ContinuousTestResult
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ContinuousTestResult;

                        /**
                         * Creates a plain object from a ContinuousTestResult message. Also converts values to other types if specified.
                         * @param message ContinuousTestResult
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ContinuousTestResult, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ContinuousTestResult to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ContinuousTestResult
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ContinuousTestResult {

                        /** AggregatedTestResult enum. */
                        enum AggregatedTestResult {
                            AGGREGATED_TEST_RESULT_UNSPECIFIED = 0,
                            PASSED = 1,
                            FAILED = 2
                        }
                    }

                    /** Properties of a RunContinuousTestRequest. */
                    interface IRunContinuousTestRequest {

                        /** RunContinuousTestRequest environment */
                        environment?: (string|null);
                    }

                    /** Represents a RunContinuousTestRequest. */
                    class RunContinuousTestRequest implements IRunContinuousTestRequest {

                        /**
                         * Constructs a new RunContinuousTestRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IRunContinuousTestRequest);

                        /** RunContinuousTestRequest environment. */
                        public environment: string;

                        /**
                         * Creates a new RunContinuousTestRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RunContinuousTestRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IRunContinuousTestRequest): google.cloud.dialogflow.cx.v3.RunContinuousTestRequest;

                        /**
                         * Encodes the specified RunContinuousTestRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RunContinuousTestRequest.verify|verify} messages.
                         * @param message RunContinuousTestRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IRunContinuousTestRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RunContinuousTestRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RunContinuousTestRequest.verify|verify} messages.
                         * @param message RunContinuousTestRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IRunContinuousTestRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RunContinuousTestRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RunContinuousTestRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.RunContinuousTestRequest;

                        /**
                         * Decodes a RunContinuousTestRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RunContinuousTestRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.RunContinuousTestRequest;

                        /**
                         * Verifies a RunContinuousTestRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RunContinuousTestRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RunContinuousTestRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.RunContinuousTestRequest;

                        /**
                         * Creates a plain object from a RunContinuousTestRequest message. Also converts values to other types if specified.
                         * @param message RunContinuousTestRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.RunContinuousTestRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RunContinuousTestRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RunContinuousTestRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a RunContinuousTestResponse. */
                    interface IRunContinuousTestResponse {

                        /** RunContinuousTestResponse continuousTestResult */
                        continuousTestResult?: (google.cloud.dialogflow.cx.v3.IContinuousTestResult|null);
                    }

                    /** Represents a RunContinuousTestResponse. */
                    class RunContinuousTestResponse implements IRunContinuousTestResponse {

                        /**
                         * Constructs a new RunContinuousTestResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IRunContinuousTestResponse);

                        /** RunContinuousTestResponse continuousTestResult. */
                        public continuousTestResult?: (google.cloud.dialogflow.cx.v3.IContinuousTestResult|null);

                        /**
                         * Creates a new RunContinuousTestResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RunContinuousTestResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IRunContinuousTestResponse): google.cloud.dialogflow.cx.v3.RunContinuousTestResponse;

                        /**
                         * Encodes the specified RunContinuousTestResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RunContinuousTestResponse.verify|verify} messages.
                         * @param message RunContinuousTestResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IRunContinuousTestResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RunContinuousTestResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RunContinuousTestResponse.verify|verify} messages.
                         * @param message RunContinuousTestResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IRunContinuousTestResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RunContinuousTestResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RunContinuousTestResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.RunContinuousTestResponse;

                        /**
                         * Decodes a RunContinuousTestResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RunContinuousTestResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.RunContinuousTestResponse;

                        /**
                         * Verifies a RunContinuousTestResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RunContinuousTestResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RunContinuousTestResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.RunContinuousTestResponse;

                        /**
                         * Creates a plain object from a RunContinuousTestResponse message. Also converts values to other types if specified.
                         * @param message RunContinuousTestResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.RunContinuousTestResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RunContinuousTestResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RunContinuousTestResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a RunContinuousTestMetadata. */
                    interface IRunContinuousTestMetadata {

                        /** RunContinuousTestMetadata errors */
                        errors?: (google.cloud.dialogflow.cx.v3.ITestError[]|null);
                    }

                    /** Represents a RunContinuousTestMetadata. */
                    class RunContinuousTestMetadata implements IRunContinuousTestMetadata {

                        /**
                         * Constructs a new RunContinuousTestMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IRunContinuousTestMetadata);

                        /** RunContinuousTestMetadata errors. */
                        public errors: google.cloud.dialogflow.cx.v3.ITestError[];

                        /**
                         * Creates a new RunContinuousTestMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RunContinuousTestMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IRunContinuousTestMetadata): google.cloud.dialogflow.cx.v3.RunContinuousTestMetadata;

                        /**
                         * Encodes the specified RunContinuousTestMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RunContinuousTestMetadata.verify|verify} messages.
                         * @param message RunContinuousTestMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IRunContinuousTestMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RunContinuousTestMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RunContinuousTestMetadata.verify|verify} messages.
                         * @param message RunContinuousTestMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IRunContinuousTestMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RunContinuousTestMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RunContinuousTestMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.RunContinuousTestMetadata;

                        /**
                         * Decodes a RunContinuousTestMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RunContinuousTestMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.RunContinuousTestMetadata;

                        /**
                         * Verifies a RunContinuousTestMetadata message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RunContinuousTestMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RunContinuousTestMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.RunContinuousTestMetadata;

                        /**
                         * Creates a plain object from a RunContinuousTestMetadata message. Also converts values to other types if specified.
                         * @param message RunContinuousTestMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.RunContinuousTestMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RunContinuousTestMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RunContinuousTestMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListContinuousTestResultsRequest. */
                    interface IListContinuousTestResultsRequest {

                        /** ListContinuousTestResultsRequest parent */
                        parent?: (string|null);

                        /** ListContinuousTestResultsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListContinuousTestResultsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListContinuousTestResultsRequest. */
                    class ListContinuousTestResultsRequest implements IListContinuousTestResultsRequest {

                        /**
                         * Constructs a new ListContinuousTestResultsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListContinuousTestResultsRequest);

                        /** ListContinuousTestResultsRequest parent. */
                        public parent: string;

                        /** ListContinuousTestResultsRequest pageSize. */
                        public pageSize: number;

                        /** ListContinuousTestResultsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListContinuousTestResultsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListContinuousTestResultsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListContinuousTestResultsRequest): google.cloud.dialogflow.cx.v3.ListContinuousTestResultsRequest;

                        /**
                         * Encodes the specified ListContinuousTestResultsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListContinuousTestResultsRequest.verify|verify} messages.
                         * @param message ListContinuousTestResultsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListContinuousTestResultsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListContinuousTestResultsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListContinuousTestResultsRequest.verify|verify} messages.
                         * @param message ListContinuousTestResultsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListContinuousTestResultsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListContinuousTestResultsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListContinuousTestResultsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListContinuousTestResultsRequest;

                        /**
                         * Decodes a ListContinuousTestResultsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListContinuousTestResultsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListContinuousTestResultsRequest;

                        /**
                         * Verifies a ListContinuousTestResultsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListContinuousTestResultsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListContinuousTestResultsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListContinuousTestResultsRequest;

                        /**
                         * Creates a plain object from a ListContinuousTestResultsRequest message. Also converts values to other types if specified.
                         * @param message ListContinuousTestResultsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListContinuousTestResultsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListContinuousTestResultsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListContinuousTestResultsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListContinuousTestResultsResponse. */
                    interface IListContinuousTestResultsResponse {

                        /** ListContinuousTestResultsResponse continuousTestResults */
                        continuousTestResults?: (google.cloud.dialogflow.cx.v3.IContinuousTestResult[]|null);

                        /** ListContinuousTestResultsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListContinuousTestResultsResponse. */
                    class ListContinuousTestResultsResponse implements IListContinuousTestResultsResponse {

                        /**
                         * Constructs a new ListContinuousTestResultsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListContinuousTestResultsResponse);

                        /** ListContinuousTestResultsResponse continuousTestResults. */
                        public continuousTestResults: google.cloud.dialogflow.cx.v3.IContinuousTestResult[];

                        /** ListContinuousTestResultsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListContinuousTestResultsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListContinuousTestResultsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListContinuousTestResultsResponse): google.cloud.dialogflow.cx.v3.ListContinuousTestResultsResponse;

                        /**
                         * Encodes the specified ListContinuousTestResultsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListContinuousTestResultsResponse.verify|verify} messages.
                         * @param message ListContinuousTestResultsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListContinuousTestResultsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListContinuousTestResultsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListContinuousTestResultsResponse.verify|verify} messages.
                         * @param message ListContinuousTestResultsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListContinuousTestResultsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListContinuousTestResultsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListContinuousTestResultsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListContinuousTestResultsResponse;

                        /**
                         * Decodes a ListContinuousTestResultsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListContinuousTestResultsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListContinuousTestResultsResponse;

                        /**
                         * Verifies a ListContinuousTestResultsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListContinuousTestResultsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListContinuousTestResultsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListContinuousTestResultsResponse;

                        /**
                         * Creates a plain object from a ListContinuousTestResultsResponse message. Also converts values to other types if specified.
                         * @param message ListContinuousTestResultsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListContinuousTestResultsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListContinuousTestResultsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListContinuousTestResultsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeployFlowRequest. */
                    interface IDeployFlowRequest {

                        /** DeployFlowRequest environment */
                        environment?: (string|null);

                        /** DeployFlowRequest flowVersion */
                        flowVersion?: (string|null);
                    }

                    /** Represents a DeployFlowRequest. */
                    class DeployFlowRequest implements IDeployFlowRequest {

                        /**
                         * Constructs a new DeployFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeployFlowRequest);

                        /** DeployFlowRequest environment. */
                        public environment: string;

                        /** DeployFlowRequest flowVersion. */
                        public flowVersion: string;

                        /**
                         * Creates a new DeployFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeployFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeployFlowRequest): google.cloud.dialogflow.cx.v3.DeployFlowRequest;

                        /**
                         * Encodes the specified DeployFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeployFlowRequest.verify|verify} messages.
                         * @param message DeployFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeployFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeployFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeployFlowRequest.verify|verify} messages.
                         * @param message DeployFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeployFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeployFlowRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeployFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DeployFlowRequest;

                        /**
                         * Decodes a DeployFlowRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeployFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DeployFlowRequest;

                        /**
                         * Verifies a DeployFlowRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeployFlowRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeployFlowRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DeployFlowRequest;

                        /**
                         * Creates a plain object from a DeployFlowRequest message. Also converts values to other types if specified.
                         * @param message DeployFlowRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DeployFlowRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeployFlowRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeployFlowRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeployFlowResponse. */
                    interface IDeployFlowResponse {

                        /** DeployFlowResponse environment */
                        environment?: (google.cloud.dialogflow.cx.v3.IEnvironment|null);

                        /** DeployFlowResponse deployment */
                        deployment?: (string|null);
                    }

                    /** Represents a DeployFlowResponse. */
                    class DeployFlowResponse implements IDeployFlowResponse {

                        /**
                         * Constructs a new DeployFlowResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeployFlowResponse);

                        /** DeployFlowResponse environment. */
                        public environment?: (google.cloud.dialogflow.cx.v3.IEnvironment|null);

                        /** DeployFlowResponse deployment. */
                        public deployment: string;

                        /**
                         * Creates a new DeployFlowResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeployFlowResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeployFlowResponse): google.cloud.dialogflow.cx.v3.DeployFlowResponse;

                        /**
                         * Encodes the specified DeployFlowResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeployFlowResponse.verify|verify} messages.
                         * @param message DeployFlowResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeployFlowResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeployFlowResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeployFlowResponse.verify|verify} messages.
                         * @param message DeployFlowResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeployFlowResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeployFlowResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeployFlowResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DeployFlowResponse;

                        /**
                         * Decodes a DeployFlowResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeployFlowResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DeployFlowResponse;

                        /**
                         * Verifies a DeployFlowResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeployFlowResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeployFlowResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DeployFlowResponse;

                        /**
                         * Creates a plain object from a DeployFlowResponse message. Also converts values to other types if specified.
                         * @param message DeployFlowResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DeployFlowResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeployFlowResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeployFlowResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeployFlowMetadata. */
                    interface IDeployFlowMetadata {

                        /** DeployFlowMetadata testErrors */
                        testErrors?: (google.cloud.dialogflow.cx.v3.ITestError[]|null);
                    }

                    /** Represents a DeployFlowMetadata. */
                    class DeployFlowMetadata implements IDeployFlowMetadata {

                        /**
                         * Constructs a new DeployFlowMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeployFlowMetadata);

                        /** DeployFlowMetadata testErrors. */
                        public testErrors: google.cloud.dialogflow.cx.v3.ITestError[];

                        /**
                         * Creates a new DeployFlowMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeployFlowMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeployFlowMetadata): google.cloud.dialogflow.cx.v3.DeployFlowMetadata;

                        /**
                         * Encodes the specified DeployFlowMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeployFlowMetadata.verify|verify} messages.
                         * @param message DeployFlowMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeployFlowMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeployFlowMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeployFlowMetadata.verify|verify} messages.
                         * @param message DeployFlowMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeployFlowMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeployFlowMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeployFlowMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DeployFlowMetadata;

                        /**
                         * Decodes a DeployFlowMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeployFlowMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DeployFlowMetadata;

                        /**
                         * Verifies a DeployFlowMetadata message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeployFlowMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeployFlowMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DeployFlowMetadata;

                        /**
                         * Creates a plain object from a DeployFlowMetadata message. Also converts values to other types if specified.
                         * @param message DeployFlowMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DeployFlowMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeployFlowMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeployFlowMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a TestCases */
                    class TestCases extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new TestCases 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 TestCases 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): TestCases;

                        /**
                         * Calls ListTestCases.
                         * @param request ListTestCasesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListTestCasesResponse
                         */
                        public listTestCases(request: google.cloud.dialogflow.cx.v3.IListTestCasesRequest, callback: google.cloud.dialogflow.cx.v3.TestCases.ListTestCasesCallback): void;

                        /**
                         * Calls ListTestCases.
                         * @param request ListTestCasesRequest message or plain object
                         * @returns Promise
                         */
                        public listTestCases(request: google.cloud.dialogflow.cx.v3.IListTestCasesRequest): Promise<google.cloud.dialogflow.cx.v3.ListTestCasesResponse>;

                        /**
                         * Calls BatchDeleteTestCases.
                         * @param request BatchDeleteTestCasesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public batchDeleteTestCases(request: google.cloud.dialogflow.cx.v3.IBatchDeleteTestCasesRequest, callback: google.cloud.dialogflow.cx.v3.TestCases.BatchDeleteTestCasesCallback): void;

                        /**
                         * Calls BatchDeleteTestCases.
                         * @param request BatchDeleteTestCasesRequest message or plain object
                         * @returns Promise
                         */
                        public batchDeleteTestCases(request: google.cloud.dialogflow.cx.v3.IBatchDeleteTestCasesRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls GetTestCase.
                         * @param request GetTestCaseRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and TestCase
                         */
                        public getTestCase(request: google.cloud.dialogflow.cx.v3.IGetTestCaseRequest, callback: google.cloud.dialogflow.cx.v3.TestCases.GetTestCaseCallback): void;

                        /**
                         * Calls GetTestCase.
                         * @param request GetTestCaseRequest message or plain object
                         * @returns Promise
                         */
                        public getTestCase(request: google.cloud.dialogflow.cx.v3.IGetTestCaseRequest): Promise<google.cloud.dialogflow.cx.v3.TestCase>;

                        /**
                         * Calls CreateTestCase.
                         * @param request CreateTestCaseRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and TestCase
                         */
                        public createTestCase(request: google.cloud.dialogflow.cx.v3.ICreateTestCaseRequest, callback: google.cloud.dialogflow.cx.v3.TestCases.CreateTestCaseCallback): void;

                        /**
                         * Calls CreateTestCase.
                         * @param request CreateTestCaseRequest message or plain object
                         * @returns Promise
                         */
                        public createTestCase(request: google.cloud.dialogflow.cx.v3.ICreateTestCaseRequest): Promise<google.cloud.dialogflow.cx.v3.TestCase>;

                        /**
                         * Calls UpdateTestCase.
                         * @param request UpdateTestCaseRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and TestCase
                         */
                        public updateTestCase(request: google.cloud.dialogflow.cx.v3.IUpdateTestCaseRequest, callback: google.cloud.dialogflow.cx.v3.TestCases.UpdateTestCaseCallback): void;

                        /**
                         * Calls UpdateTestCase.
                         * @param request UpdateTestCaseRequest message or plain object
                         * @returns Promise
                         */
                        public updateTestCase(request: google.cloud.dialogflow.cx.v3.IUpdateTestCaseRequest): Promise<google.cloud.dialogflow.cx.v3.TestCase>;

                        /**
                         * Calls RunTestCase.
                         * @param request RunTestCaseRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public runTestCase(request: google.cloud.dialogflow.cx.v3.IRunTestCaseRequest, callback: google.cloud.dialogflow.cx.v3.TestCases.RunTestCaseCallback): void;

                        /**
                         * Calls RunTestCase.
                         * @param request RunTestCaseRequest message or plain object
                         * @returns Promise
                         */
                        public runTestCase(request: google.cloud.dialogflow.cx.v3.IRunTestCaseRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls BatchRunTestCases.
                         * @param request BatchRunTestCasesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public batchRunTestCases(request: google.cloud.dialogflow.cx.v3.IBatchRunTestCasesRequest, callback: google.cloud.dialogflow.cx.v3.TestCases.BatchRunTestCasesCallback): void;

                        /**
                         * Calls BatchRunTestCases.
                         * @param request BatchRunTestCasesRequest message or plain object
                         * @returns Promise
                         */
                        public batchRunTestCases(request: google.cloud.dialogflow.cx.v3.IBatchRunTestCasesRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls CalculateCoverage.
                         * @param request CalculateCoverageRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and CalculateCoverageResponse
                         */
                        public calculateCoverage(request: google.cloud.dialogflow.cx.v3.ICalculateCoverageRequest, callback: google.cloud.dialogflow.cx.v3.TestCases.CalculateCoverageCallback): void;

                        /**
                         * Calls CalculateCoverage.
                         * @param request CalculateCoverageRequest message or plain object
                         * @returns Promise
                         */
                        public calculateCoverage(request: google.cloud.dialogflow.cx.v3.ICalculateCoverageRequest): Promise<google.cloud.dialogflow.cx.v3.CalculateCoverageResponse>;

                        /**
                         * Calls ImportTestCases.
                         * @param request ImportTestCasesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public importTestCases(request: google.cloud.dialogflow.cx.v3.IImportTestCasesRequest, callback: google.cloud.dialogflow.cx.v3.TestCases.ImportTestCasesCallback): void;

                        /**
                         * Calls ImportTestCases.
                         * @param request ImportTestCasesRequest message or plain object
                         * @returns Promise
                         */
                        public importTestCases(request: google.cloud.dialogflow.cx.v3.IImportTestCasesRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ExportTestCases.
                         * @param request ExportTestCasesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public exportTestCases(request: google.cloud.dialogflow.cx.v3.IExportTestCasesRequest, callback: google.cloud.dialogflow.cx.v3.TestCases.ExportTestCasesCallback): void;

                        /**
                         * Calls ExportTestCases.
                         * @param request ExportTestCasesRequest message or plain object
                         * @returns Promise
                         */
                        public exportTestCases(request: google.cloud.dialogflow.cx.v3.IExportTestCasesRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ListTestCaseResults.
                         * @param request ListTestCaseResultsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListTestCaseResultsResponse
                         */
                        public listTestCaseResults(request: google.cloud.dialogflow.cx.v3.IListTestCaseResultsRequest, callback: google.cloud.dialogflow.cx.v3.TestCases.ListTestCaseResultsCallback): void;

                        /**
                         * Calls ListTestCaseResults.
                         * @param request ListTestCaseResultsRequest message or plain object
                         * @returns Promise
                         */
                        public listTestCaseResults(request: google.cloud.dialogflow.cx.v3.IListTestCaseResultsRequest): Promise<google.cloud.dialogflow.cx.v3.ListTestCaseResultsResponse>;

                        /**
                         * Calls GetTestCaseResult.
                         * @param request GetTestCaseResultRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and TestCaseResult
                         */
                        public getTestCaseResult(request: google.cloud.dialogflow.cx.v3.IGetTestCaseResultRequest, callback: google.cloud.dialogflow.cx.v3.TestCases.GetTestCaseResultCallback): void;

                        /**
                         * Calls GetTestCaseResult.
                         * @param request GetTestCaseResultRequest message or plain object
                         * @returns Promise
                         */
                        public getTestCaseResult(request: google.cloud.dialogflow.cx.v3.IGetTestCaseResultRequest): Promise<google.cloud.dialogflow.cx.v3.TestCaseResult>;
                    }

                    namespace TestCases {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TestCases|listTestCases}.
                         * @param error Error, if any
                         * @param [response] ListTestCasesResponse
                         */
                        type ListTestCasesCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListTestCasesResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TestCases|batchDeleteTestCases}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type BatchDeleteTestCasesCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TestCases|getTestCase}.
                         * @param error Error, if any
                         * @param [response] TestCase
                         */
                        type GetTestCaseCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.TestCase) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TestCases|createTestCase}.
                         * @param error Error, if any
                         * @param [response] TestCase
                         */
                        type CreateTestCaseCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.TestCase) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TestCases|updateTestCase}.
                         * @param error Error, if any
                         * @param [response] TestCase
                         */
                        type UpdateTestCaseCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.TestCase) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TestCases|runTestCase}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type RunTestCaseCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TestCases|batchRunTestCases}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type BatchRunTestCasesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TestCases|calculateCoverage}.
                         * @param error Error, if any
                         * @param [response] CalculateCoverageResponse
                         */
                        type CalculateCoverageCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.CalculateCoverageResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TestCases|importTestCases}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ImportTestCasesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TestCases|exportTestCases}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ExportTestCasesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TestCases|listTestCaseResults}.
                         * @param error Error, if any
                         * @param [response] ListTestCaseResultsResponse
                         */
                        type ListTestCaseResultsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListTestCaseResultsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TestCases|getTestCaseResult}.
                         * @param error Error, if any
                         * @param [response] TestCaseResult
                         */
                        type GetTestCaseResultCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.TestCaseResult) => void;
                    }

                    /** Properties of a TestCase. */
                    interface ITestCase {

                        /** TestCase name */
                        name?: (string|null);

                        /** TestCase tags */
                        tags?: (string[]|null);

                        /** TestCase displayName */
                        displayName?: (string|null);

                        /** TestCase notes */
                        notes?: (string|null);

                        /** TestCase testConfig */
                        testConfig?: (google.cloud.dialogflow.cx.v3.ITestConfig|null);

                        /** TestCase testCaseConversationTurns */
                        testCaseConversationTurns?: (google.cloud.dialogflow.cx.v3.IConversationTurn[]|null);

                        /** TestCase creationTime */
                        creationTime?: (google.protobuf.ITimestamp|null);

                        /** TestCase lastTestResult */
                        lastTestResult?: (google.cloud.dialogflow.cx.v3.ITestCaseResult|null);
                    }

                    /** Represents a TestCase. */
                    class TestCase implements ITestCase {

                        /**
                         * Constructs a new TestCase.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ITestCase);

                        /** TestCase name. */
                        public name: string;

                        /** TestCase tags. */
                        public tags: string[];

                        /** TestCase displayName. */
                        public displayName: string;

                        /** TestCase notes. */
                        public notes: string;

                        /** TestCase testConfig. */
                        public testConfig?: (google.cloud.dialogflow.cx.v3.ITestConfig|null);

                        /** TestCase testCaseConversationTurns. */
                        public testCaseConversationTurns: google.cloud.dialogflow.cx.v3.IConversationTurn[];

                        /** TestCase creationTime. */
                        public creationTime?: (google.protobuf.ITimestamp|null);

                        /** TestCase lastTestResult. */
                        public lastTestResult?: (google.cloud.dialogflow.cx.v3.ITestCaseResult|null);

                        /**
                         * Creates a new TestCase instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TestCase instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ITestCase): google.cloud.dialogflow.cx.v3.TestCase;

                        /**
                         * Encodes the specified TestCase message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TestCase.verify|verify} messages.
                         * @param message TestCase message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ITestCase, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TestCase message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TestCase.verify|verify} messages.
                         * @param message TestCase message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ITestCase, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TestCase message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TestCase
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.TestCase;

                        /**
                         * Decodes a TestCase message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TestCase
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.TestCase;

                        /**
                         * Verifies a TestCase message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TestCase message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TestCase
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.TestCase;

                        /**
                         * Creates a plain object from a TestCase message. Also converts values to other types if specified.
                         * @param message TestCase
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.TestCase, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TestCase to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TestCase
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a TestCaseResult. */
                    interface ITestCaseResult {

                        /** TestCaseResult name */
                        name?: (string|null);

                        /** TestCaseResult environment */
                        environment?: (string|null);

                        /** TestCaseResult conversationTurns */
                        conversationTurns?: (google.cloud.dialogflow.cx.v3.IConversationTurn[]|null);

                        /** TestCaseResult testResult */
                        testResult?: (google.cloud.dialogflow.cx.v3.TestResult|keyof typeof google.cloud.dialogflow.cx.v3.TestResult|null);

                        /** TestCaseResult testTime */
                        testTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a TestCaseResult. */
                    class TestCaseResult implements ITestCaseResult {

                        /**
                         * Constructs a new TestCaseResult.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ITestCaseResult);

                        /** TestCaseResult name. */
                        public name: string;

                        /** TestCaseResult environment. */
                        public environment: string;

                        /** TestCaseResult conversationTurns. */
                        public conversationTurns: google.cloud.dialogflow.cx.v3.IConversationTurn[];

                        /** TestCaseResult testResult. */
                        public testResult: (google.cloud.dialogflow.cx.v3.TestResult|keyof typeof google.cloud.dialogflow.cx.v3.TestResult);

                        /** TestCaseResult testTime. */
                        public testTime?: (google.protobuf.ITimestamp|null);

                        /**
                         * Creates a new TestCaseResult instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TestCaseResult instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ITestCaseResult): google.cloud.dialogflow.cx.v3.TestCaseResult;

                        /**
                         * Encodes the specified TestCaseResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TestCaseResult.verify|verify} messages.
                         * @param message TestCaseResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ITestCaseResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TestCaseResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TestCaseResult.verify|verify} messages.
                         * @param message TestCaseResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ITestCaseResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TestCaseResult message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TestCaseResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.TestCaseResult;

                        /**
                         * Decodes a TestCaseResult message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TestCaseResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.TestCaseResult;

                        /**
                         * Verifies a TestCaseResult message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TestCaseResult message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TestCaseResult
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.TestCaseResult;

                        /**
                         * Creates a plain object from a TestCaseResult message. Also converts values to other types if specified.
                         * @param message TestCaseResult
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.TestCaseResult, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TestCaseResult to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TestCaseResult
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a TestConfig. */
                    interface ITestConfig {

                        /** TestConfig trackingParameters */
                        trackingParameters?: (string[]|null);

                        /** TestConfig flow */
                        flow?: (string|null);

                        /** TestConfig page */
                        page?: (string|null);
                    }

                    /** Represents a TestConfig. */
                    class TestConfig implements ITestConfig {

                        /**
                         * Constructs a new TestConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ITestConfig);

                        /** TestConfig trackingParameters. */
                        public trackingParameters: string[];

                        /** TestConfig flow. */
                        public flow: string;

                        /** TestConfig page. */
                        public page: string;

                        /**
                         * Creates a new TestConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TestConfig instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ITestConfig): google.cloud.dialogflow.cx.v3.TestConfig;

                        /**
                         * Encodes the specified TestConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TestConfig.verify|verify} messages.
                         * @param message TestConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ITestConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TestConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TestConfig.verify|verify} messages.
                         * @param message TestConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ITestConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TestConfig message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TestConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.TestConfig;

                        /**
                         * Decodes a TestConfig message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TestConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.TestConfig;

                        /**
                         * Verifies a TestConfig message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TestConfig message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TestConfig
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.TestConfig;

                        /**
                         * Creates a plain object from a TestConfig message. Also converts values to other types if specified.
                         * @param message TestConfig
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.TestConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TestConfig to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TestConfig
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ConversationTurn. */
                    interface IConversationTurn {

                        /** ConversationTurn userInput */
                        userInput?: (google.cloud.dialogflow.cx.v3.ConversationTurn.IUserInput|null);

                        /** ConversationTurn virtualAgentOutput */
                        virtualAgentOutput?: (google.cloud.dialogflow.cx.v3.ConversationTurn.IVirtualAgentOutput|null);
                    }

                    /** Represents a ConversationTurn. */
                    class ConversationTurn implements IConversationTurn {

                        /**
                         * Constructs a new ConversationTurn.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IConversationTurn);

                        /** ConversationTurn userInput. */
                        public userInput?: (google.cloud.dialogflow.cx.v3.ConversationTurn.IUserInput|null);

                        /** ConversationTurn virtualAgentOutput. */
                        public virtualAgentOutput?: (google.cloud.dialogflow.cx.v3.ConversationTurn.IVirtualAgentOutput|null);

                        /**
                         * Creates a new ConversationTurn instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ConversationTurn instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IConversationTurn): google.cloud.dialogflow.cx.v3.ConversationTurn;

                        /**
                         * Encodes the specified ConversationTurn message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ConversationTurn.verify|verify} messages.
                         * @param message ConversationTurn message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IConversationTurn, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ConversationTurn message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ConversationTurn.verify|verify} messages.
                         * @param message ConversationTurn message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IConversationTurn, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ConversationTurn message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ConversationTurn
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ConversationTurn;

                        /**
                         * Decodes a ConversationTurn message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ConversationTurn
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ConversationTurn;

                        /**
                         * Verifies a ConversationTurn message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ConversationTurn message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ConversationTurn
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ConversationTurn;

                        /**
                         * Creates a plain object from a ConversationTurn message. Also converts values to other types if specified.
                         * @param message ConversationTurn
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ConversationTurn, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ConversationTurn to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ConversationTurn
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ConversationTurn {

                        /** Properties of a UserInput. */
                        interface IUserInput {

                            /** UserInput input */
                            input?: (google.cloud.dialogflow.cx.v3.IQueryInput|null);

                            /** UserInput injectedParameters */
                            injectedParameters?: (google.protobuf.IStruct|null);

                            /** UserInput isWebhookEnabled */
                            isWebhookEnabled?: (boolean|null);

                            /** UserInput enableSentimentAnalysis */
                            enableSentimentAnalysis?: (boolean|null);
                        }

                        /** Represents a UserInput. */
                        class UserInput implements IUserInput {

                            /**
                             * Constructs a new UserInput.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.ConversationTurn.IUserInput);

                            /** UserInput input. */
                            public input?: (google.cloud.dialogflow.cx.v3.IQueryInput|null);

                            /** UserInput injectedParameters. */
                            public injectedParameters?: (google.protobuf.IStruct|null);

                            /** UserInput isWebhookEnabled. */
                            public isWebhookEnabled: boolean;

                            /** UserInput enableSentimentAnalysis. */
                            public enableSentimentAnalysis: boolean;

                            /**
                             * Creates a new UserInput instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns UserInput instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.ConversationTurn.IUserInput): google.cloud.dialogflow.cx.v3.ConversationTurn.UserInput;

                            /**
                             * Encodes the specified UserInput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ConversationTurn.UserInput.verify|verify} messages.
                             * @param message UserInput message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.ConversationTurn.IUserInput, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified UserInput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ConversationTurn.UserInput.verify|verify} messages.
                             * @param message UserInput message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ConversationTurn.IUserInput, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a UserInput message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns UserInput
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ConversationTurn.UserInput;

                            /**
                             * Decodes a UserInput message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns UserInput
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ConversationTurn.UserInput;

                            /**
                             * Verifies a UserInput message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a UserInput message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns UserInput
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ConversationTurn.UserInput;

                            /**
                             * Creates a plain object from a UserInput message. Also converts values to other types if specified.
                             * @param message UserInput
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.ConversationTurn.UserInput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this UserInput to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for UserInput
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a VirtualAgentOutput. */
                        interface IVirtualAgentOutput {

                            /** VirtualAgentOutput sessionParameters */
                            sessionParameters?: (google.protobuf.IStruct|null);

                            /** VirtualAgentOutput differences */
                            differences?: (google.cloud.dialogflow.cx.v3.ITestRunDifference[]|null);

                            /** VirtualAgentOutput diagnosticInfo */
                            diagnosticInfo?: (google.protobuf.IStruct|null);

                            /** VirtualAgentOutput triggeredIntent */
                            triggeredIntent?: (google.cloud.dialogflow.cx.v3.IIntent|null);

                            /** VirtualAgentOutput currentPage */
                            currentPage?: (google.cloud.dialogflow.cx.v3.IPage|null);

                            /** VirtualAgentOutput textResponses */
                            textResponses?: (google.cloud.dialogflow.cx.v3.ResponseMessage.IText[]|null);

                            /** VirtualAgentOutput status */
                            status?: (google.rpc.IStatus|null);
                        }

                        /** Represents a VirtualAgentOutput. */
                        class VirtualAgentOutput implements IVirtualAgentOutput {

                            /**
                             * Constructs a new VirtualAgentOutput.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.ConversationTurn.IVirtualAgentOutput);

                            /** VirtualAgentOutput sessionParameters. */
                            public sessionParameters?: (google.protobuf.IStruct|null);

                            /** VirtualAgentOutput differences. */
                            public differences: google.cloud.dialogflow.cx.v3.ITestRunDifference[];

                            /** VirtualAgentOutput diagnosticInfo. */
                            public diagnosticInfo?: (google.protobuf.IStruct|null);

                            /** VirtualAgentOutput triggeredIntent. */
                            public triggeredIntent?: (google.cloud.dialogflow.cx.v3.IIntent|null);

                            /** VirtualAgentOutput currentPage. */
                            public currentPage?: (google.cloud.dialogflow.cx.v3.IPage|null);

                            /** VirtualAgentOutput textResponses. */
                            public textResponses: google.cloud.dialogflow.cx.v3.ResponseMessage.IText[];

                            /** VirtualAgentOutput status. */
                            public status?: (google.rpc.IStatus|null);

                            /**
                             * Creates a new VirtualAgentOutput instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns VirtualAgentOutput instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.ConversationTurn.IVirtualAgentOutput): google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput;

                            /**
                             * Encodes the specified VirtualAgentOutput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.verify|verify} messages.
                             * @param message VirtualAgentOutput message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.ConversationTurn.IVirtualAgentOutput, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified VirtualAgentOutput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput.verify|verify} messages.
                             * @param message VirtualAgentOutput message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ConversationTurn.IVirtualAgentOutput, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a VirtualAgentOutput message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns VirtualAgentOutput
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput;

                            /**
                             * Decodes a VirtualAgentOutput message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns VirtualAgentOutput
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput;

                            /**
                             * Verifies a VirtualAgentOutput message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a VirtualAgentOutput message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns VirtualAgentOutput
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput;

                            /**
                             * Creates a plain object from a VirtualAgentOutput message. Also converts values to other types if specified.
                             * @param message VirtualAgentOutput
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.ConversationTurn.VirtualAgentOutput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this VirtualAgentOutput to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for VirtualAgentOutput
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a TestRunDifference. */
                    interface ITestRunDifference {

                        /** TestRunDifference type */
                        type?: (google.cloud.dialogflow.cx.v3.TestRunDifference.DiffType|keyof typeof google.cloud.dialogflow.cx.v3.TestRunDifference.DiffType|null);

                        /** TestRunDifference description */
                        description?: (string|null);
                    }

                    /** Represents a TestRunDifference. */
                    class TestRunDifference implements ITestRunDifference {

                        /**
                         * Constructs a new TestRunDifference.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ITestRunDifference);

                        /** TestRunDifference type. */
                        public type: (google.cloud.dialogflow.cx.v3.TestRunDifference.DiffType|keyof typeof google.cloud.dialogflow.cx.v3.TestRunDifference.DiffType);

                        /** TestRunDifference description. */
                        public description: string;

                        /**
                         * Creates a new TestRunDifference instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TestRunDifference instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ITestRunDifference): google.cloud.dialogflow.cx.v3.TestRunDifference;

                        /**
                         * Encodes the specified TestRunDifference message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TestRunDifference.verify|verify} messages.
                         * @param message TestRunDifference message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ITestRunDifference, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TestRunDifference message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TestRunDifference.verify|verify} messages.
                         * @param message TestRunDifference message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ITestRunDifference, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TestRunDifference message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TestRunDifference
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.TestRunDifference;

                        /**
                         * Decodes a TestRunDifference message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TestRunDifference
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.TestRunDifference;

                        /**
                         * Verifies a TestRunDifference message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TestRunDifference message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TestRunDifference
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.TestRunDifference;

                        /**
                         * Creates a plain object from a TestRunDifference message. Also converts values to other types if specified.
                         * @param message TestRunDifference
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.TestRunDifference, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TestRunDifference to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TestRunDifference
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace TestRunDifference {

                        /** DiffType enum. */
                        enum DiffType {
                            DIFF_TYPE_UNSPECIFIED = 0,
                            INTENT = 1,
                            PAGE = 2,
                            PARAMETERS = 3,
                            UTTERANCE = 4,
                            FLOW = 5
                        }
                    }

                    /** Properties of a TransitionCoverage. */
                    interface ITransitionCoverage {

                        /** TransitionCoverage transitions */
                        transitions?: (google.cloud.dialogflow.cx.v3.TransitionCoverage.ITransition[]|null);

                        /** TransitionCoverage coverageScore */
                        coverageScore?: (number|null);
                    }

                    /** Represents a TransitionCoverage. */
                    class TransitionCoverage implements ITransitionCoverage {

                        /**
                         * Constructs a new TransitionCoverage.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ITransitionCoverage);

                        /** TransitionCoverage transitions. */
                        public transitions: google.cloud.dialogflow.cx.v3.TransitionCoverage.ITransition[];

                        /** TransitionCoverage coverageScore. */
                        public coverageScore: number;

                        /**
                         * Creates a new TransitionCoverage instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TransitionCoverage instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ITransitionCoverage): google.cloud.dialogflow.cx.v3.TransitionCoverage;

                        /**
                         * Encodes the specified TransitionCoverage message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionCoverage.verify|verify} messages.
                         * @param message TransitionCoverage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ITransitionCoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TransitionCoverage message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionCoverage.verify|verify} messages.
                         * @param message TransitionCoverage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ITransitionCoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TransitionCoverage message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TransitionCoverage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.TransitionCoverage;

                        /**
                         * Decodes a TransitionCoverage message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TransitionCoverage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.TransitionCoverage;

                        /**
                         * Verifies a TransitionCoverage message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TransitionCoverage message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TransitionCoverage
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.TransitionCoverage;

                        /**
                         * Creates a plain object from a TransitionCoverage message. Also converts values to other types if specified.
                         * @param message TransitionCoverage
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.TransitionCoverage, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TransitionCoverage to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TransitionCoverage
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace TransitionCoverage {

                        /** Properties of a TransitionNode. */
                        interface ITransitionNode {

                            /** TransitionNode page */
                            page?: (google.cloud.dialogflow.cx.v3.IPage|null);

                            /** TransitionNode flow */
                            flow?: (google.cloud.dialogflow.cx.v3.IFlow|null);
                        }

                        /** Represents a TransitionNode. */
                        class TransitionNode implements ITransitionNode {

                            /**
                             * Constructs a new TransitionNode.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.TransitionCoverage.ITransitionNode);

                            /** TransitionNode page. */
                            public page?: (google.cloud.dialogflow.cx.v3.IPage|null);

                            /** TransitionNode flow. */
                            public flow?: (google.cloud.dialogflow.cx.v3.IFlow|null);

                            /** TransitionNode kind. */
                            public kind?: ("page"|"flow");

                            /**
                             * Creates a new TransitionNode instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns TransitionNode instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.TransitionCoverage.ITransitionNode): google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode;

                            /**
                             * Encodes the specified TransitionNode message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode.verify|verify} messages.
                             * @param message TransitionNode message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.TransitionCoverage.ITransitionNode, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified TransitionNode message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode.verify|verify} messages.
                             * @param message TransitionNode message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.TransitionCoverage.ITransitionNode, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a TransitionNode message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns TransitionNode
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode;

                            /**
                             * Decodes a TransitionNode message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns TransitionNode
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode;

                            /**
                             * Verifies a TransitionNode message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a TransitionNode message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns TransitionNode
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode;

                            /**
                             * Creates a plain object from a TransitionNode message. Also converts values to other types if specified.
                             * @param message TransitionNode
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.TransitionCoverage.TransitionNode, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this TransitionNode to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for TransitionNode
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a Transition. */
                        interface ITransition {

                            /** Transition source */
                            source?: (google.cloud.dialogflow.cx.v3.TransitionCoverage.ITransitionNode|null);

                            /** Transition index */
                            index?: (number|null);

                            /** Transition target */
                            target?: (google.cloud.dialogflow.cx.v3.TransitionCoverage.ITransitionNode|null);

                            /** Transition covered */
                            covered?: (boolean|null);

                            /** Transition transitionRoute */
                            transitionRoute?: (google.cloud.dialogflow.cx.v3.ITransitionRoute|null);

                            /** Transition eventHandler */
                            eventHandler?: (google.cloud.dialogflow.cx.v3.IEventHandler|null);
                        }

                        /** Represents a Transition. */
                        class Transition implements ITransition {

                            /**
                             * Constructs a new Transition.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.TransitionCoverage.ITransition);

                            /** Transition source. */
                            public source?: (google.cloud.dialogflow.cx.v3.TransitionCoverage.ITransitionNode|null);

                            /** Transition index. */
                            public index: number;

                            /** Transition target. */
                            public target?: (google.cloud.dialogflow.cx.v3.TransitionCoverage.ITransitionNode|null);

                            /** Transition covered. */
                            public covered: boolean;

                            /** Transition transitionRoute. */
                            public transitionRoute?: (google.cloud.dialogflow.cx.v3.ITransitionRoute|null);

                            /** Transition eventHandler. */
                            public eventHandler?: (google.cloud.dialogflow.cx.v3.IEventHandler|null);

                            /** Transition detail. */
                            public detail?: ("transitionRoute"|"eventHandler");

                            /**
                             * Creates a new Transition instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Transition instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.TransitionCoverage.ITransition): google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition;

                            /**
                             * Encodes the specified Transition message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition.verify|verify} messages.
                             * @param message Transition message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.TransitionCoverage.ITransition, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Transition message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition.verify|verify} messages.
                             * @param message Transition message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.TransitionCoverage.ITransition, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Transition message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Transition
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition;

                            /**
                             * Decodes a Transition message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Transition
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition;

                            /**
                             * Verifies a Transition message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Transition message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Transition
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition;

                            /**
                             * Creates a plain object from a Transition message. Also converts values to other types if specified.
                             * @param message Transition
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.TransitionCoverage.Transition, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Transition to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Transition
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a TransitionRouteGroupCoverage. */
                    interface ITransitionRouteGroupCoverage {

                        /** TransitionRouteGroupCoverage coverages */
                        coverages?: (google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.ICoverage[]|null);

                        /** TransitionRouteGroupCoverage coverageScore */
                        coverageScore?: (number|null);
                    }

                    /** Represents a TransitionRouteGroupCoverage. */
                    class TransitionRouteGroupCoverage implements ITransitionRouteGroupCoverage {

                        /**
                         * Constructs a new TransitionRouteGroupCoverage.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ITransitionRouteGroupCoverage);

                        /** TransitionRouteGroupCoverage coverages. */
                        public coverages: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.ICoverage[];

                        /** TransitionRouteGroupCoverage coverageScore. */
                        public coverageScore: number;

                        /**
                         * Creates a new TransitionRouteGroupCoverage instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TransitionRouteGroupCoverage instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ITransitionRouteGroupCoverage): google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage;

                        /**
                         * Encodes the specified TransitionRouteGroupCoverage message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.verify|verify} messages.
                         * @param message TransitionRouteGroupCoverage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ITransitionRouteGroupCoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TransitionRouteGroupCoverage message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.verify|verify} messages.
                         * @param message TransitionRouteGroupCoverage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ITransitionRouteGroupCoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TransitionRouteGroupCoverage message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TransitionRouteGroupCoverage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage;

                        /**
                         * Decodes a TransitionRouteGroupCoverage message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TransitionRouteGroupCoverage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage;

                        /**
                         * Verifies a TransitionRouteGroupCoverage message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TransitionRouteGroupCoverage message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TransitionRouteGroupCoverage
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage;

                        /**
                         * Creates a plain object from a TransitionRouteGroupCoverage message. Also converts values to other types if specified.
                         * @param message TransitionRouteGroupCoverage
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TransitionRouteGroupCoverage to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TransitionRouteGroupCoverage
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace TransitionRouteGroupCoverage {

                        /** Properties of a Coverage. */
                        interface ICoverage {

                            /** Coverage routeGroup */
                            routeGroup?: (google.cloud.dialogflow.cx.v3.ITransitionRouteGroup|null);

                            /** Coverage transitions */
                            transitions?: (google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.ITransition[]|null);

                            /** Coverage coverageScore */
                            coverageScore?: (number|null);
                        }

                        /** Represents a Coverage. */
                        class Coverage implements ICoverage {

                            /**
                             * Constructs a new Coverage.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.ICoverage);

                            /** Coverage routeGroup. */
                            public routeGroup?: (google.cloud.dialogflow.cx.v3.ITransitionRouteGroup|null);

                            /** Coverage transitions. */
                            public transitions: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.ITransition[];

                            /** Coverage coverageScore. */
                            public coverageScore: number;

                            /**
                             * Creates a new Coverage instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Coverage instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.ICoverage): google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage;

                            /**
                             * Encodes the specified Coverage message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.verify|verify} messages.
                             * @param message Coverage message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.ICoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Coverage message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.verify|verify} messages.
                             * @param message Coverage message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.ICoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Coverage message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Coverage
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage;

                            /**
                             * Decodes a Coverage message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Coverage
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage;

                            /**
                             * Verifies a Coverage message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Coverage message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Coverage
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage;

                            /**
                             * Creates a plain object from a Coverage message. Also converts values to other types if specified.
                             * @param message Coverage
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Coverage to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Coverage
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace Coverage {

                            /** Properties of a Transition. */
                            interface ITransition {

                                /** Transition transitionRoute */
                                transitionRoute?: (google.cloud.dialogflow.cx.v3.ITransitionRoute|null);

                                /** Transition covered */
                                covered?: (boolean|null);
                            }

                            /** Represents a Transition. */
                            class Transition implements ITransition {

                                /**
                                 * Constructs a new Transition.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.ITransition);

                                /** Transition transitionRoute. */
                                public transitionRoute?: (google.cloud.dialogflow.cx.v3.ITransitionRoute|null);

                                /** Transition covered. */
                                public covered: boolean;

                                /**
                                 * Creates a new Transition instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns Transition instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.ITransition): google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.Transition;

                                /**
                                 * Encodes the specified Transition message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.Transition.verify|verify} messages.
                                 * @param message Transition message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.ITransition, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified Transition message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.Transition.verify|verify} messages.
                                 * @param message Transition message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.ITransition, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a Transition message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns Transition
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.Transition;

                                /**
                                 * Decodes a Transition message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns Transition
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.Transition;

                                /**
                                 * Verifies a Transition message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a Transition message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns Transition
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.Transition;

                                /**
                                 * Creates a plain object from a Transition message. Also converts values to other types if specified.
                                 * @param message Transition
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3.TransitionRouteGroupCoverage.Coverage.Transition, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this Transition to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for Transition
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }
                    }

                    /** Properties of an IntentCoverage. */
                    interface IIntentCoverage {

                        /** IntentCoverage intents */
                        intents?: (google.cloud.dialogflow.cx.v3.IntentCoverage.IIntent[]|null);

                        /** IntentCoverage coverageScore */
                        coverageScore?: (number|null);
                    }

                    /** Represents an IntentCoverage. */
                    class IntentCoverage implements IIntentCoverage {

                        /**
                         * Constructs a new IntentCoverage.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IIntentCoverage);

                        /** IntentCoverage intents. */
                        public intents: google.cloud.dialogflow.cx.v3.IntentCoverage.IIntent[];

                        /** IntentCoverage coverageScore. */
                        public coverageScore: number;

                        /**
                         * Creates a new IntentCoverage instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns IntentCoverage instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IIntentCoverage): google.cloud.dialogflow.cx.v3.IntentCoverage;

                        /**
                         * Encodes the specified IntentCoverage message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.IntentCoverage.verify|verify} messages.
                         * @param message IntentCoverage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IIntentCoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified IntentCoverage message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.IntentCoverage.verify|verify} messages.
                         * @param message IntentCoverage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IIntentCoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an IntentCoverage message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns IntentCoverage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.IntentCoverage;

                        /**
                         * Decodes an IntentCoverage message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns IntentCoverage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.IntentCoverage;

                        /**
                         * Verifies an IntentCoverage message.
                         * @param message Plain 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 IntentCoverage message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns IntentCoverage
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.IntentCoverage;

                        /**
                         * Creates a plain object from an IntentCoverage message. Also converts values to other types if specified.
                         * @param message IntentCoverage
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.IntentCoverage, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this IntentCoverage to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for IntentCoverage
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace IntentCoverage {

                        /** Properties of an Intent. */
                        interface IIntent {

                            /** Intent intent */
                            intent?: (string|null);

                            /** Intent covered */
                            covered?: (boolean|null);
                        }

                        /** Represents an Intent. */
                        class Intent implements IIntent {

                            /**
                             * Constructs a new Intent.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.IntentCoverage.IIntent);

                            /** Intent intent. */
                            public intent: string;

                            /** Intent covered. */
                            public covered: boolean;

                            /**
                             * Creates a new Intent instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Intent instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.IntentCoverage.IIntent): google.cloud.dialogflow.cx.v3.IntentCoverage.Intent;

                            /**
                             * Encodes the specified Intent message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.IntentCoverage.Intent.verify|verify} messages.
                             * @param message Intent message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.IntentCoverage.IIntent, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Intent message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.IntentCoverage.Intent.verify|verify} messages.
                             * @param message Intent message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IntentCoverage.IIntent, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an Intent message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Intent
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.IntentCoverage.Intent;

                            /**
                             * Decodes an Intent message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Intent
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.IntentCoverage.Intent;

                            /**
                             * Verifies an Intent message.
                             * @param message Plain 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 Intent message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Intent
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.IntentCoverage.Intent;

                            /**
                             * Creates a plain object from an Intent message. Also converts values to other types if specified.
                             * @param message Intent
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.IntentCoverage.Intent, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Intent to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Intent
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a CalculateCoverageRequest. */
                    interface ICalculateCoverageRequest {

                        /** CalculateCoverageRequest agent */
                        agent?: (string|null);

                        /** CalculateCoverageRequest type */
                        type?: (google.cloud.dialogflow.cx.v3.CalculateCoverageRequest.CoverageType|keyof typeof google.cloud.dialogflow.cx.v3.CalculateCoverageRequest.CoverageType|null);
                    }

                    /** Represents a CalculateCoverageRequest. */
                    class CalculateCoverageRequest implements ICalculateCoverageRequest {

                        /**
                         * Constructs a new CalculateCoverageRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICalculateCoverageRequest);

                        /** CalculateCoverageRequest agent. */
                        public agent: string;

                        /** CalculateCoverageRequest type. */
                        public type: (google.cloud.dialogflow.cx.v3.CalculateCoverageRequest.CoverageType|keyof typeof google.cloud.dialogflow.cx.v3.CalculateCoverageRequest.CoverageType);

                        /**
                         * Creates a new CalculateCoverageRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CalculateCoverageRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICalculateCoverageRequest): google.cloud.dialogflow.cx.v3.CalculateCoverageRequest;

                        /**
                         * Encodes the specified CalculateCoverageRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CalculateCoverageRequest.verify|verify} messages.
                         * @param message CalculateCoverageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICalculateCoverageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CalculateCoverageRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CalculateCoverageRequest.verify|verify} messages.
                         * @param message CalculateCoverageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICalculateCoverageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CalculateCoverageRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CalculateCoverageRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CalculateCoverageRequest;

                        /**
                         * Decodes a CalculateCoverageRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CalculateCoverageRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CalculateCoverageRequest;

                        /**
                         * Verifies a CalculateCoverageRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CalculateCoverageRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CalculateCoverageRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CalculateCoverageRequest;

                        /**
                         * Creates a plain object from a CalculateCoverageRequest message. Also converts values to other types if specified.
                         * @param message CalculateCoverageRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CalculateCoverageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CalculateCoverageRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CalculateCoverageRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace CalculateCoverageRequest {

                        /** CoverageType enum. */
                        enum CoverageType {
                            COVERAGE_TYPE_UNSPECIFIED = 0,
                            INTENT = 1,
                            PAGE_TRANSITION = 2,
                            TRANSITION_ROUTE_GROUP = 3
                        }
                    }

                    /** Properties of a CalculateCoverageResponse. */
                    interface ICalculateCoverageResponse {

                        /** CalculateCoverageResponse agent */
                        agent?: (string|null);

                        /** CalculateCoverageResponse intentCoverage */
                        intentCoverage?: (google.cloud.dialogflow.cx.v3.IIntentCoverage|null);

                        /** CalculateCoverageResponse transitionCoverage */
                        transitionCoverage?: (google.cloud.dialogflow.cx.v3.ITransitionCoverage|null);

                        /** CalculateCoverageResponse routeGroupCoverage */
                        routeGroupCoverage?: (google.cloud.dialogflow.cx.v3.ITransitionRouteGroupCoverage|null);
                    }

                    /** Represents a CalculateCoverageResponse. */
                    class CalculateCoverageResponse implements ICalculateCoverageResponse {

                        /**
                         * Constructs a new CalculateCoverageResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICalculateCoverageResponse);

                        /** CalculateCoverageResponse agent. */
                        public agent: string;

                        /** CalculateCoverageResponse intentCoverage. */
                        public intentCoverage?: (google.cloud.dialogflow.cx.v3.IIntentCoverage|null);

                        /** CalculateCoverageResponse transitionCoverage. */
                        public transitionCoverage?: (google.cloud.dialogflow.cx.v3.ITransitionCoverage|null);

                        /** CalculateCoverageResponse routeGroupCoverage. */
                        public routeGroupCoverage?: (google.cloud.dialogflow.cx.v3.ITransitionRouteGroupCoverage|null);

                        /** CalculateCoverageResponse coverageType. */
                        public coverageType?: ("intentCoverage"|"transitionCoverage"|"routeGroupCoverage");

                        /**
                         * Creates a new CalculateCoverageResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CalculateCoverageResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICalculateCoverageResponse): google.cloud.dialogflow.cx.v3.CalculateCoverageResponse;

                        /**
                         * Encodes the specified CalculateCoverageResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CalculateCoverageResponse.verify|verify} messages.
                         * @param message CalculateCoverageResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICalculateCoverageResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CalculateCoverageResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CalculateCoverageResponse.verify|verify} messages.
                         * @param message CalculateCoverageResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICalculateCoverageResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CalculateCoverageResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CalculateCoverageResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CalculateCoverageResponse;

                        /**
                         * Decodes a CalculateCoverageResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CalculateCoverageResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CalculateCoverageResponse;

                        /**
                         * Verifies a CalculateCoverageResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CalculateCoverageResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CalculateCoverageResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CalculateCoverageResponse;

                        /**
                         * Creates a plain object from a CalculateCoverageResponse message. Also converts values to other types if specified.
                         * @param message CalculateCoverageResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CalculateCoverageResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CalculateCoverageResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CalculateCoverageResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListTestCasesRequest. */
                    interface IListTestCasesRequest {

                        /** ListTestCasesRequest parent */
                        parent?: (string|null);

                        /** ListTestCasesRequest pageSize */
                        pageSize?: (number|null);

                        /** ListTestCasesRequest pageToken */
                        pageToken?: (string|null);

                        /** ListTestCasesRequest view */
                        view?: (google.cloud.dialogflow.cx.v3.ListTestCasesRequest.TestCaseView|keyof typeof google.cloud.dialogflow.cx.v3.ListTestCasesRequest.TestCaseView|null);
                    }

                    /** Represents a ListTestCasesRequest. */
                    class ListTestCasesRequest implements IListTestCasesRequest {

                        /**
                         * Constructs a new ListTestCasesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListTestCasesRequest);

                        /** ListTestCasesRequest parent. */
                        public parent: string;

                        /** ListTestCasesRequest pageSize. */
                        public pageSize: number;

                        /** ListTestCasesRequest pageToken. */
                        public pageToken: string;

                        /** ListTestCasesRequest view. */
                        public view: (google.cloud.dialogflow.cx.v3.ListTestCasesRequest.TestCaseView|keyof typeof google.cloud.dialogflow.cx.v3.ListTestCasesRequest.TestCaseView);

                        /**
                         * Creates a new ListTestCasesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListTestCasesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListTestCasesRequest): google.cloud.dialogflow.cx.v3.ListTestCasesRequest;

                        /**
                         * Encodes the specified ListTestCasesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListTestCasesRequest.verify|verify} messages.
                         * @param message ListTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListTestCasesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListTestCasesRequest.verify|verify} messages.
                         * @param message ListTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListTestCasesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListTestCasesRequest;

                        /**
                         * Decodes a ListTestCasesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListTestCasesRequest;

                        /**
                         * Verifies a ListTestCasesRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListTestCasesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListTestCasesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListTestCasesRequest;

                        /**
                         * Creates a plain object from a ListTestCasesRequest message. Also converts values to other types if specified.
                         * @param message ListTestCasesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListTestCasesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListTestCasesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListTestCasesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ListTestCasesRequest {

                        /** TestCaseView enum. */
                        enum TestCaseView {
                            TEST_CASE_VIEW_UNSPECIFIED = 0,
                            BASIC = 1,
                            FULL = 2
                        }
                    }

                    /** Properties of a ListTestCasesResponse. */
                    interface IListTestCasesResponse {

                        /** ListTestCasesResponse testCases */
                        testCases?: (google.cloud.dialogflow.cx.v3.ITestCase[]|null);

                        /** ListTestCasesResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListTestCasesResponse. */
                    class ListTestCasesResponse implements IListTestCasesResponse {

                        /**
                         * Constructs a new ListTestCasesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListTestCasesResponse);

                        /** ListTestCasesResponse testCases. */
                        public testCases: google.cloud.dialogflow.cx.v3.ITestCase[];

                        /** ListTestCasesResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListTestCasesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListTestCasesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListTestCasesResponse): google.cloud.dialogflow.cx.v3.ListTestCasesResponse;

                        /**
                         * Encodes the specified ListTestCasesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListTestCasesResponse.verify|verify} messages.
                         * @param message ListTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListTestCasesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListTestCasesResponse.verify|verify} messages.
                         * @param message ListTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListTestCasesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListTestCasesResponse;

                        /**
                         * Decodes a ListTestCasesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListTestCasesResponse;

                        /**
                         * Verifies a ListTestCasesResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListTestCasesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListTestCasesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListTestCasesResponse;

                        /**
                         * Creates a plain object from a ListTestCasesResponse message. Also converts values to other types if specified.
                         * @param message ListTestCasesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListTestCasesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListTestCasesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListTestCasesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a BatchDeleteTestCasesRequest. */
                    interface IBatchDeleteTestCasesRequest {

                        /** BatchDeleteTestCasesRequest parent */
                        parent?: (string|null);

                        /** BatchDeleteTestCasesRequest names */
                        names?: (string[]|null);
                    }

                    /** Represents a BatchDeleteTestCasesRequest. */
                    class BatchDeleteTestCasesRequest implements IBatchDeleteTestCasesRequest {

                        /**
                         * Constructs a new BatchDeleteTestCasesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IBatchDeleteTestCasesRequest);

                        /** BatchDeleteTestCasesRequest parent. */
                        public parent: string;

                        /** BatchDeleteTestCasesRequest names. */
                        public names: string[];

                        /**
                         * Creates a new BatchDeleteTestCasesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BatchDeleteTestCasesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IBatchDeleteTestCasesRequest): google.cloud.dialogflow.cx.v3.BatchDeleteTestCasesRequest;

                        /**
                         * Encodes the specified BatchDeleteTestCasesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BatchDeleteTestCasesRequest.verify|verify} messages.
                         * @param message BatchDeleteTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IBatchDeleteTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BatchDeleteTestCasesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BatchDeleteTestCasesRequest.verify|verify} messages.
                         * @param message BatchDeleteTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IBatchDeleteTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a BatchDeleteTestCasesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns BatchDeleteTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.BatchDeleteTestCasesRequest;

                        /**
                         * Decodes a BatchDeleteTestCasesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns BatchDeleteTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.BatchDeleteTestCasesRequest;

                        /**
                         * Verifies a BatchDeleteTestCasesRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a BatchDeleteTestCasesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns BatchDeleteTestCasesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.BatchDeleteTestCasesRequest;

                        /**
                         * Creates a plain object from a BatchDeleteTestCasesRequest message. Also converts values to other types if specified.
                         * @param message BatchDeleteTestCasesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.BatchDeleteTestCasesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this BatchDeleteTestCasesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for BatchDeleteTestCasesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateTestCaseRequest. */
                    interface ICreateTestCaseRequest {

                        /** CreateTestCaseRequest parent */
                        parent?: (string|null);

                        /** CreateTestCaseRequest testCase */
                        testCase?: (google.cloud.dialogflow.cx.v3.ITestCase|null);
                    }

                    /** Represents a CreateTestCaseRequest. */
                    class CreateTestCaseRequest implements ICreateTestCaseRequest {

                        /**
                         * Constructs a new CreateTestCaseRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICreateTestCaseRequest);

                        /** CreateTestCaseRequest parent. */
                        public parent: string;

                        /** CreateTestCaseRequest testCase. */
                        public testCase?: (google.cloud.dialogflow.cx.v3.ITestCase|null);

                        /**
                         * Creates a new CreateTestCaseRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateTestCaseRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICreateTestCaseRequest): google.cloud.dialogflow.cx.v3.CreateTestCaseRequest;

                        /**
                         * Encodes the specified CreateTestCaseRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateTestCaseRequest.verify|verify} messages.
                         * @param message CreateTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICreateTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateTestCaseRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateTestCaseRequest.verify|verify} messages.
                         * @param message CreateTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICreateTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateTestCaseRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CreateTestCaseRequest;

                        /**
                         * Decodes a CreateTestCaseRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CreateTestCaseRequest;

                        /**
                         * Verifies a CreateTestCaseRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateTestCaseRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateTestCaseRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CreateTestCaseRequest;

                        /**
                         * Creates a plain object from a CreateTestCaseRequest message. Also converts values to other types if specified.
                         * @param message CreateTestCaseRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CreateTestCaseRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateTestCaseRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateTestCaseRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateTestCaseRequest. */
                    interface IUpdateTestCaseRequest {

                        /** UpdateTestCaseRequest testCase */
                        testCase?: (google.cloud.dialogflow.cx.v3.ITestCase|null);

                        /** UpdateTestCaseRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateTestCaseRequest. */
                    class UpdateTestCaseRequest implements IUpdateTestCaseRequest {

                        /**
                         * Constructs a new UpdateTestCaseRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IUpdateTestCaseRequest);

                        /** UpdateTestCaseRequest testCase. */
                        public testCase?: (google.cloud.dialogflow.cx.v3.ITestCase|null);

                        /** UpdateTestCaseRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateTestCaseRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateTestCaseRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IUpdateTestCaseRequest): google.cloud.dialogflow.cx.v3.UpdateTestCaseRequest;

                        /**
                         * Encodes the specified UpdateTestCaseRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateTestCaseRequest.verify|verify} messages.
                         * @param message UpdateTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IUpdateTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateTestCaseRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateTestCaseRequest.verify|verify} messages.
                         * @param message UpdateTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IUpdateTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateTestCaseRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.UpdateTestCaseRequest;

                        /**
                         * Decodes an UpdateTestCaseRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.UpdateTestCaseRequest;

                        /**
                         * Verifies an UpdateTestCaseRequest message.
                         * @param message Plain 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 UpdateTestCaseRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateTestCaseRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.UpdateTestCaseRequest;

                        /**
                         * Creates a plain object from an UpdateTestCaseRequest message. Also converts values to other types if specified.
                         * @param message UpdateTestCaseRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.UpdateTestCaseRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateTestCaseRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateTestCaseRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetTestCaseRequest. */
                    interface IGetTestCaseRequest {

                        /** GetTestCaseRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetTestCaseRequest. */
                    class GetTestCaseRequest implements IGetTestCaseRequest {

                        /**
                         * Constructs a new GetTestCaseRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetTestCaseRequest);

                        /** GetTestCaseRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetTestCaseRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetTestCaseRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetTestCaseRequest): google.cloud.dialogflow.cx.v3.GetTestCaseRequest;

                        /**
                         * Encodes the specified GetTestCaseRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetTestCaseRequest.verify|verify} messages.
                         * @param message GetTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetTestCaseRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetTestCaseRequest.verify|verify} messages.
                         * @param message GetTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetTestCaseRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.GetTestCaseRequest;

                        /**
                         * Decodes a GetTestCaseRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.GetTestCaseRequest;

                        /**
                         * Verifies a GetTestCaseRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetTestCaseRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetTestCaseRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GetTestCaseRequest;

                        /**
                         * Creates a plain object from a GetTestCaseRequest message. Also converts values to other types if specified.
                         * @param message GetTestCaseRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.GetTestCaseRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetTestCaseRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetTestCaseRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a RunTestCaseRequest. */
                    interface IRunTestCaseRequest {

                        /** RunTestCaseRequest name */
                        name?: (string|null);

                        /** RunTestCaseRequest environment */
                        environment?: (string|null);
                    }

                    /** Represents a RunTestCaseRequest. */
                    class RunTestCaseRequest implements IRunTestCaseRequest {

                        /**
                         * Constructs a new RunTestCaseRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IRunTestCaseRequest);

                        /** RunTestCaseRequest name. */
                        public name: string;

                        /** RunTestCaseRequest environment. */
                        public environment: string;

                        /**
                         * Creates a new RunTestCaseRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RunTestCaseRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IRunTestCaseRequest): google.cloud.dialogflow.cx.v3.RunTestCaseRequest;

                        /**
                         * Encodes the specified RunTestCaseRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RunTestCaseRequest.verify|verify} messages.
                         * @param message RunTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IRunTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RunTestCaseRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RunTestCaseRequest.verify|verify} messages.
                         * @param message RunTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IRunTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RunTestCaseRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RunTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.RunTestCaseRequest;

                        /**
                         * Decodes a RunTestCaseRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RunTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.RunTestCaseRequest;

                        /**
                         * Verifies a RunTestCaseRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RunTestCaseRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RunTestCaseRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.RunTestCaseRequest;

                        /**
                         * Creates a plain object from a RunTestCaseRequest message. Also converts values to other types if specified.
                         * @param message RunTestCaseRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.RunTestCaseRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RunTestCaseRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RunTestCaseRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a RunTestCaseResponse. */
                    interface IRunTestCaseResponse {

                        /** RunTestCaseResponse result */
                        result?: (google.cloud.dialogflow.cx.v3.ITestCaseResult|null);
                    }

                    /** Represents a RunTestCaseResponse. */
                    class RunTestCaseResponse implements IRunTestCaseResponse {

                        /**
                         * Constructs a new RunTestCaseResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IRunTestCaseResponse);

                        /** RunTestCaseResponse result. */
                        public result?: (google.cloud.dialogflow.cx.v3.ITestCaseResult|null);

                        /**
                         * Creates a new RunTestCaseResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RunTestCaseResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IRunTestCaseResponse): google.cloud.dialogflow.cx.v3.RunTestCaseResponse;

                        /**
                         * Encodes the specified RunTestCaseResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RunTestCaseResponse.verify|verify} messages.
                         * @param message RunTestCaseResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IRunTestCaseResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RunTestCaseResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RunTestCaseResponse.verify|verify} messages.
                         * @param message RunTestCaseResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IRunTestCaseResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RunTestCaseResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RunTestCaseResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.RunTestCaseResponse;

                        /**
                         * Decodes a RunTestCaseResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RunTestCaseResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.RunTestCaseResponse;

                        /**
                         * Verifies a RunTestCaseResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RunTestCaseResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RunTestCaseResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.RunTestCaseResponse;

                        /**
                         * Creates a plain object from a RunTestCaseResponse message. Also converts values to other types if specified.
                         * @param message RunTestCaseResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.RunTestCaseResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RunTestCaseResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RunTestCaseResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a RunTestCaseMetadata. */
                    interface IRunTestCaseMetadata {
                    }

                    /** Represents a RunTestCaseMetadata. */
                    class RunTestCaseMetadata implements IRunTestCaseMetadata {

                        /**
                         * Constructs a new RunTestCaseMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IRunTestCaseMetadata);

                        /**
                         * Creates a new RunTestCaseMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RunTestCaseMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IRunTestCaseMetadata): google.cloud.dialogflow.cx.v3.RunTestCaseMetadata;

                        /**
                         * Encodes the specified RunTestCaseMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RunTestCaseMetadata.verify|verify} messages.
                         * @param message RunTestCaseMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IRunTestCaseMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RunTestCaseMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RunTestCaseMetadata.verify|verify} messages.
                         * @param message RunTestCaseMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IRunTestCaseMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RunTestCaseMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RunTestCaseMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.RunTestCaseMetadata;

                        /**
                         * Decodes a RunTestCaseMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RunTestCaseMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.RunTestCaseMetadata;

                        /**
                         * Verifies a RunTestCaseMetadata message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RunTestCaseMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RunTestCaseMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.RunTestCaseMetadata;

                        /**
                         * Creates a plain object from a RunTestCaseMetadata message. Also converts values to other types if specified.
                         * @param message RunTestCaseMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.RunTestCaseMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RunTestCaseMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RunTestCaseMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a BatchRunTestCasesRequest. */
                    interface IBatchRunTestCasesRequest {

                        /** BatchRunTestCasesRequest parent */
                        parent?: (string|null);

                        /** BatchRunTestCasesRequest environment */
                        environment?: (string|null);

                        /** BatchRunTestCasesRequest testCases */
                        testCases?: (string[]|null);
                    }

                    /** Represents a BatchRunTestCasesRequest. */
                    class BatchRunTestCasesRequest implements IBatchRunTestCasesRequest {

                        /**
                         * Constructs a new BatchRunTestCasesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IBatchRunTestCasesRequest);

                        /** BatchRunTestCasesRequest parent. */
                        public parent: string;

                        /** BatchRunTestCasesRequest environment. */
                        public environment: string;

                        /** BatchRunTestCasesRequest testCases. */
                        public testCases: string[];

                        /**
                         * Creates a new BatchRunTestCasesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BatchRunTestCasesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IBatchRunTestCasesRequest): google.cloud.dialogflow.cx.v3.BatchRunTestCasesRequest;

                        /**
                         * Encodes the specified BatchRunTestCasesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BatchRunTestCasesRequest.verify|verify} messages.
                         * @param message BatchRunTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IBatchRunTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BatchRunTestCasesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BatchRunTestCasesRequest.verify|verify} messages.
                         * @param message BatchRunTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IBatchRunTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a BatchRunTestCasesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns BatchRunTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.BatchRunTestCasesRequest;

                        /**
                         * Decodes a BatchRunTestCasesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns BatchRunTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.BatchRunTestCasesRequest;

                        /**
                         * Verifies a BatchRunTestCasesRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a BatchRunTestCasesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns BatchRunTestCasesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.BatchRunTestCasesRequest;

                        /**
                         * Creates a plain object from a BatchRunTestCasesRequest message. Also converts values to other types if specified.
                         * @param message BatchRunTestCasesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.BatchRunTestCasesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this BatchRunTestCasesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for BatchRunTestCasesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a BatchRunTestCasesResponse. */
                    interface IBatchRunTestCasesResponse {

                        /** BatchRunTestCasesResponse results */
                        results?: (google.cloud.dialogflow.cx.v3.ITestCaseResult[]|null);
                    }

                    /** Represents a BatchRunTestCasesResponse. */
                    class BatchRunTestCasesResponse implements IBatchRunTestCasesResponse {

                        /**
                         * Constructs a new BatchRunTestCasesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IBatchRunTestCasesResponse);

                        /** BatchRunTestCasesResponse results. */
                        public results: google.cloud.dialogflow.cx.v3.ITestCaseResult[];

                        /**
                         * Creates a new BatchRunTestCasesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BatchRunTestCasesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IBatchRunTestCasesResponse): google.cloud.dialogflow.cx.v3.BatchRunTestCasesResponse;

                        /**
                         * Encodes the specified BatchRunTestCasesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BatchRunTestCasesResponse.verify|verify} messages.
                         * @param message BatchRunTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IBatchRunTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BatchRunTestCasesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BatchRunTestCasesResponse.verify|verify} messages.
                         * @param message BatchRunTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IBatchRunTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a BatchRunTestCasesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns BatchRunTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.BatchRunTestCasesResponse;

                        /**
                         * Decodes a BatchRunTestCasesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns BatchRunTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.BatchRunTestCasesResponse;

                        /**
                         * Verifies a BatchRunTestCasesResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a BatchRunTestCasesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns BatchRunTestCasesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.BatchRunTestCasesResponse;

                        /**
                         * Creates a plain object from a BatchRunTestCasesResponse message. Also converts values to other types if specified.
                         * @param message BatchRunTestCasesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.BatchRunTestCasesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this BatchRunTestCasesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for BatchRunTestCasesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a BatchRunTestCasesMetadata. */
                    interface IBatchRunTestCasesMetadata {

                        /** BatchRunTestCasesMetadata errors */
                        errors?: (google.cloud.dialogflow.cx.v3.ITestError[]|null);
                    }

                    /** Represents a BatchRunTestCasesMetadata. */
                    class BatchRunTestCasesMetadata implements IBatchRunTestCasesMetadata {

                        /**
                         * Constructs a new BatchRunTestCasesMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IBatchRunTestCasesMetadata);

                        /** BatchRunTestCasesMetadata errors. */
                        public errors: google.cloud.dialogflow.cx.v3.ITestError[];

                        /**
                         * Creates a new BatchRunTestCasesMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BatchRunTestCasesMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IBatchRunTestCasesMetadata): google.cloud.dialogflow.cx.v3.BatchRunTestCasesMetadata;

                        /**
                         * Encodes the specified BatchRunTestCasesMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BatchRunTestCasesMetadata.verify|verify} messages.
                         * @param message BatchRunTestCasesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IBatchRunTestCasesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BatchRunTestCasesMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BatchRunTestCasesMetadata.verify|verify} messages.
                         * @param message BatchRunTestCasesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IBatchRunTestCasesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a BatchRunTestCasesMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns BatchRunTestCasesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.BatchRunTestCasesMetadata;

                        /**
                         * Decodes a BatchRunTestCasesMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns BatchRunTestCasesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.BatchRunTestCasesMetadata;

                        /**
                         * Verifies a BatchRunTestCasesMetadata message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a BatchRunTestCasesMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns BatchRunTestCasesMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.BatchRunTestCasesMetadata;

                        /**
                         * Creates a plain object from a BatchRunTestCasesMetadata message. Also converts values to other types if specified.
                         * @param message BatchRunTestCasesMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.BatchRunTestCasesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this BatchRunTestCasesMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for BatchRunTestCasesMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a TestError. */
                    interface ITestError {

                        /** TestError testCase */
                        testCase?: (string|null);

                        /** TestError status */
                        status?: (google.rpc.IStatus|null);

                        /** TestError testTime */
                        testTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a TestError. */
                    class TestError implements ITestError {

                        /**
                         * Constructs a new TestError.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ITestError);

                        /** TestError testCase. */
                        public testCase: string;

                        /** TestError status. */
                        public status?: (google.rpc.IStatus|null);

                        /** TestError testTime. */
                        public testTime?: (google.protobuf.ITimestamp|null);

                        /**
                         * Creates a new TestError instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TestError instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ITestError): google.cloud.dialogflow.cx.v3.TestError;

                        /**
                         * Encodes the specified TestError message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TestError.verify|verify} messages.
                         * @param message TestError message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ITestError, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TestError message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TestError.verify|verify} messages.
                         * @param message TestError message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ITestError, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TestError message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TestError
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.TestError;

                        /**
                         * Decodes a TestError message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TestError
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.TestError;

                        /**
                         * Verifies a TestError message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TestError message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TestError
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.TestError;

                        /**
                         * Creates a plain object from a TestError message. Also converts values to other types if specified.
                         * @param message TestError
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.TestError, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TestError to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TestError
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ImportTestCasesRequest. */
                    interface IImportTestCasesRequest {

                        /** ImportTestCasesRequest parent */
                        parent?: (string|null);

                        /** ImportTestCasesRequest gcsUri */
                        gcsUri?: (string|null);

                        /** ImportTestCasesRequest content */
                        content?: (Uint8Array|Buffer|string|null);
                    }

                    /** Represents an ImportTestCasesRequest. */
                    class ImportTestCasesRequest implements IImportTestCasesRequest {

                        /**
                         * Constructs a new ImportTestCasesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IImportTestCasesRequest);

                        /** ImportTestCasesRequest parent. */
                        public parent: string;

                        /** ImportTestCasesRequest gcsUri. */
                        public gcsUri?: (string|null);

                        /** ImportTestCasesRequest content. */
                        public content?: (Uint8Array|Buffer|string|null);

                        /** ImportTestCasesRequest source. */
                        public source?: ("gcsUri"|"content");

                        /**
                         * Creates a new ImportTestCasesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportTestCasesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IImportTestCasesRequest): google.cloud.dialogflow.cx.v3.ImportTestCasesRequest;

                        /**
                         * Encodes the specified ImportTestCasesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportTestCasesRequest.verify|verify} messages.
                         * @param message ImportTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IImportTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportTestCasesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportTestCasesRequest.verify|verify} messages.
                         * @param message ImportTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IImportTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportTestCasesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ImportTestCasesRequest;

                        /**
                         * Decodes an ImportTestCasesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ImportTestCasesRequest;

                        /**
                         * Verifies an ImportTestCasesRequest message.
                         * @param message Plain 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 ImportTestCasesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportTestCasesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ImportTestCasesRequest;

                        /**
                         * Creates a plain object from an ImportTestCasesRequest message. Also converts values to other types if specified.
                         * @param message ImportTestCasesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ImportTestCasesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportTestCasesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportTestCasesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ImportTestCasesResponse. */
                    interface IImportTestCasesResponse {

                        /** ImportTestCasesResponse names */
                        names?: (string[]|null);
                    }

                    /** Represents an ImportTestCasesResponse. */
                    class ImportTestCasesResponse implements IImportTestCasesResponse {

                        /**
                         * Constructs a new ImportTestCasesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IImportTestCasesResponse);

                        /** ImportTestCasesResponse names. */
                        public names: string[];

                        /**
                         * Creates a new ImportTestCasesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportTestCasesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IImportTestCasesResponse): google.cloud.dialogflow.cx.v3.ImportTestCasesResponse;

                        /**
                         * Encodes the specified ImportTestCasesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportTestCasesResponse.verify|verify} messages.
                         * @param message ImportTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IImportTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportTestCasesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportTestCasesResponse.verify|verify} messages.
                         * @param message ImportTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IImportTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportTestCasesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ImportTestCasesResponse;

                        /**
                         * Decodes an ImportTestCasesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ImportTestCasesResponse;

                        /**
                         * Verifies an ImportTestCasesResponse message.
                         * @param message Plain 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 ImportTestCasesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportTestCasesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ImportTestCasesResponse;

                        /**
                         * Creates a plain object from an ImportTestCasesResponse message. Also converts values to other types if specified.
                         * @param message ImportTestCasesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ImportTestCasesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportTestCasesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportTestCasesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ImportTestCasesMetadata. */
                    interface IImportTestCasesMetadata {

                        /** ImportTestCasesMetadata errors */
                        errors?: (google.cloud.dialogflow.cx.v3.ITestCaseError[]|null);
                    }

                    /** Represents an ImportTestCasesMetadata. */
                    class ImportTestCasesMetadata implements IImportTestCasesMetadata {

                        /**
                         * Constructs a new ImportTestCasesMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IImportTestCasesMetadata);

                        /** ImportTestCasesMetadata errors. */
                        public errors: google.cloud.dialogflow.cx.v3.ITestCaseError[];

                        /**
                         * Creates a new ImportTestCasesMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportTestCasesMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IImportTestCasesMetadata): google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata;

                        /**
                         * Encodes the specified ImportTestCasesMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata.verify|verify} messages.
                         * @param message ImportTestCasesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IImportTestCasesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportTestCasesMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata.verify|verify} messages.
                         * @param message ImportTestCasesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IImportTestCasesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportTestCasesMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportTestCasesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata;

                        /**
                         * Decodes an ImportTestCasesMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportTestCasesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata;

                        /**
                         * Verifies an ImportTestCasesMetadata message.
                         * @param message Plain 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 ImportTestCasesMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportTestCasesMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata;

                        /**
                         * Creates a plain object from an ImportTestCasesMetadata message. Also converts values to other types if specified.
                         * @param message ImportTestCasesMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ImportTestCasesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportTestCasesMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportTestCasesMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a TestCaseError. */
                    interface ITestCaseError {

                        /** TestCaseError testCase */
                        testCase?: (google.cloud.dialogflow.cx.v3.ITestCase|null);

                        /** TestCaseError status */
                        status?: (google.rpc.IStatus|null);
                    }

                    /** Represents a TestCaseError. */
                    class TestCaseError implements ITestCaseError {

                        /**
                         * Constructs a new TestCaseError.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ITestCaseError);

                        /** TestCaseError testCase. */
                        public testCase?: (google.cloud.dialogflow.cx.v3.ITestCase|null);

                        /** TestCaseError status. */
                        public status?: (google.rpc.IStatus|null);

                        /**
                         * Creates a new TestCaseError instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TestCaseError instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ITestCaseError): google.cloud.dialogflow.cx.v3.TestCaseError;

                        /**
                         * Encodes the specified TestCaseError message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TestCaseError.verify|verify} messages.
                         * @param message TestCaseError message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ITestCaseError, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TestCaseError message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TestCaseError.verify|verify} messages.
                         * @param message TestCaseError message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ITestCaseError, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TestCaseError message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TestCaseError
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.TestCaseError;

                        /**
                         * Decodes a TestCaseError message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TestCaseError
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.TestCaseError;

                        /**
                         * Verifies a TestCaseError message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TestCaseError message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TestCaseError
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.TestCaseError;

                        /**
                         * Creates a plain object from a TestCaseError message. Also converts values to other types if specified.
                         * @param message TestCaseError
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.TestCaseError, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TestCaseError to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TestCaseError
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ExportTestCasesRequest. */
                    interface IExportTestCasesRequest {

                        /** ExportTestCasesRequest parent */
                        parent?: (string|null);

                        /** ExportTestCasesRequest gcsUri */
                        gcsUri?: (string|null);

                        /** ExportTestCasesRequest dataFormat */
                        dataFormat?: (google.cloud.dialogflow.cx.v3.ExportTestCasesRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3.ExportTestCasesRequest.DataFormat|null);

                        /** ExportTestCasesRequest filter */
                        filter?: (string|null);
                    }

                    /** Represents an ExportTestCasesRequest. */
                    class ExportTestCasesRequest implements IExportTestCasesRequest {

                        /**
                         * Constructs a new ExportTestCasesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IExportTestCasesRequest);

                        /** ExportTestCasesRequest parent. */
                        public parent: string;

                        /** ExportTestCasesRequest gcsUri. */
                        public gcsUri?: (string|null);

                        /** ExportTestCasesRequest dataFormat. */
                        public dataFormat: (google.cloud.dialogflow.cx.v3.ExportTestCasesRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3.ExportTestCasesRequest.DataFormat);

                        /** ExportTestCasesRequest filter. */
                        public filter: string;

                        /** ExportTestCasesRequest destination. */
                        public destination?: "gcsUri";

                        /**
                         * Creates a new ExportTestCasesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportTestCasesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IExportTestCasesRequest): google.cloud.dialogflow.cx.v3.ExportTestCasesRequest;

                        /**
                         * Encodes the specified ExportTestCasesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportTestCasesRequest.verify|verify} messages.
                         * @param message ExportTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IExportTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportTestCasesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportTestCasesRequest.verify|verify} messages.
                         * @param message ExportTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IExportTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportTestCasesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ExportTestCasesRequest;

                        /**
                         * Decodes an ExportTestCasesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ExportTestCasesRequest;

                        /**
                         * Verifies an ExportTestCasesRequest message.
                         * @param message Plain 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 ExportTestCasesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportTestCasesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ExportTestCasesRequest;

                        /**
                         * Creates a plain object from an ExportTestCasesRequest message. Also converts values to other types if specified.
                         * @param message ExportTestCasesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ExportTestCasesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportTestCasesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportTestCasesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ExportTestCasesRequest {

                        /** DataFormat enum. */
                        enum DataFormat {
                            DATA_FORMAT_UNSPECIFIED = 0,
                            BLOB = 1,
                            JSON = 2
                        }
                    }

                    /** Properties of an ExportTestCasesResponse. */
                    interface IExportTestCasesResponse {

                        /** ExportTestCasesResponse gcsUri */
                        gcsUri?: (string|null);

                        /** ExportTestCasesResponse content */
                        content?: (Uint8Array|Buffer|string|null);
                    }

                    /** Represents an ExportTestCasesResponse. */
                    class ExportTestCasesResponse implements IExportTestCasesResponse {

                        /**
                         * Constructs a new ExportTestCasesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IExportTestCasesResponse);

                        /** ExportTestCasesResponse gcsUri. */
                        public gcsUri?: (string|null);

                        /** ExportTestCasesResponse content. */
                        public content?: (Uint8Array|Buffer|string|null);

                        /** ExportTestCasesResponse destination. */
                        public destination?: ("gcsUri"|"content");

                        /**
                         * Creates a new ExportTestCasesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportTestCasesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IExportTestCasesResponse): google.cloud.dialogflow.cx.v3.ExportTestCasesResponse;

                        /**
                         * Encodes the specified ExportTestCasesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportTestCasesResponse.verify|verify} messages.
                         * @param message ExportTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IExportTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportTestCasesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportTestCasesResponse.verify|verify} messages.
                         * @param message ExportTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IExportTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportTestCasesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ExportTestCasesResponse;

                        /**
                         * Decodes an ExportTestCasesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ExportTestCasesResponse;

                        /**
                         * Verifies an ExportTestCasesResponse message.
                         * @param message Plain 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 ExportTestCasesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportTestCasesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ExportTestCasesResponse;

                        /**
                         * Creates a plain object from an ExportTestCasesResponse message. Also converts values to other types if specified.
                         * @param message ExportTestCasesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ExportTestCasesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportTestCasesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportTestCasesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ExportTestCasesMetadata. */
                    interface IExportTestCasesMetadata {
                    }

                    /** Represents an ExportTestCasesMetadata. */
                    class ExportTestCasesMetadata implements IExportTestCasesMetadata {

                        /**
                         * Constructs a new ExportTestCasesMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IExportTestCasesMetadata);

                        /**
                         * Creates a new ExportTestCasesMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportTestCasesMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IExportTestCasesMetadata): google.cloud.dialogflow.cx.v3.ExportTestCasesMetadata;

                        /**
                         * Encodes the specified ExportTestCasesMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportTestCasesMetadata.verify|verify} messages.
                         * @param message ExportTestCasesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IExportTestCasesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportTestCasesMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportTestCasesMetadata.verify|verify} messages.
                         * @param message ExportTestCasesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IExportTestCasesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportTestCasesMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportTestCasesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ExportTestCasesMetadata;

                        /**
                         * Decodes an ExportTestCasesMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportTestCasesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ExportTestCasesMetadata;

                        /**
                         * Verifies an ExportTestCasesMetadata message.
                         * @param message Plain 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 ExportTestCasesMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportTestCasesMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ExportTestCasesMetadata;

                        /**
                         * Creates a plain object from an ExportTestCasesMetadata message. Also converts values to other types if specified.
                         * @param message ExportTestCasesMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ExportTestCasesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportTestCasesMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportTestCasesMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListTestCaseResultsRequest. */
                    interface IListTestCaseResultsRequest {

                        /** ListTestCaseResultsRequest parent */
                        parent?: (string|null);

                        /** ListTestCaseResultsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListTestCaseResultsRequest pageToken */
                        pageToken?: (string|null);

                        /** ListTestCaseResultsRequest filter */
                        filter?: (string|null);
                    }

                    /** Represents a ListTestCaseResultsRequest. */
                    class ListTestCaseResultsRequest implements IListTestCaseResultsRequest {

                        /**
                         * Constructs a new ListTestCaseResultsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListTestCaseResultsRequest);

                        /** ListTestCaseResultsRequest parent. */
                        public parent: string;

                        /** ListTestCaseResultsRequest pageSize. */
                        public pageSize: number;

                        /** ListTestCaseResultsRequest pageToken. */
                        public pageToken: string;

                        /** ListTestCaseResultsRequest filter. */
                        public filter: string;

                        /**
                         * Creates a new ListTestCaseResultsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListTestCaseResultsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListTestCaseResultsRequest): google.cloud.dialogflow.cx.v3.ListTestCaseResultsRequest;

                        /**
                         * Encodes the specified ListTestCaseResultsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListTestCaseResultsRequest.verify|verify} messages.
                         * @param message ListTestCaseResultsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListTestCaseResultsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListTestCaseResultsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListTestCaseResultsRequest.verify|verify} messages.
                         * @param message ListTestCaseResultsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListTestCaseResultsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListTestCaseResultsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListTestCaseResultsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListTestCaseResultsRequest;

                        /**
                         * Decodes a ListTestCaseResultsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListTestCaseResultsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListTestCaseResultsRequest;

                        /**
                         * Verifies a ListTestCaseResultsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListTestCaseResultsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListTestCaseResultsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListTestCaseResultsRequest;

                        /**
                         * Creates a plain object from a ListTestCaseResultsRequest message. Also converts values to other types if specified.
                         * @param message ListTestCaseResultsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListTestCaseResultsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListTestCaseResultsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListTestCaseResultsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListTestCaseResultsResponse. */
                    interface IListTestCaseResultsResponse {

                        /** ListTestCaseResultsResponse testCaseResults */
                        testCaseResults?: (google.cloud.dialogflow.cx.v3.ITestCaseResult[]|null);

                        /** ListTestCaseResultsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListTestCaseResultsResponse. */
                    class ListTestCaseResultsResponse implements IListTestCaseResultsResponse {

                        /**
                         * Constructs a new ListTestCaseResultsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListTestCaseResultsResponse);

                        /** ListTestCaseResultsResponse testCaseResults. */
                        public testCaseResults: google.cloud.dialogflow.cx.v3.ITestCaseResult[];

                        /** ListTestCaseResultsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListTestCaseResultsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListTestCaseResultsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListTestCaseResultsResponse): google.cloud.dialogflow.cx.v3.ListTestCaseResultsResponse;

                        /**
                         * Encodes the specified ListTestCaseResultsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListTestCaseResultsResponse.verify|verify} messages.
                         * @param message ListTestCaseResultsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListTestCaseResultsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListTestCaseResultsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListTestCaseResultsResponse.verify|verify} messages.
                         * @param message ListTestCaseResultsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListTestCaseResultsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListTestCaseResultsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListTestCaseResultsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListTestCaseResultsResponse;

                        /**
                         * Decodes a ListTestCaseResultsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListTestCaseResultsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListTestCaseResultsResponse;

                        /**
                         * Verifies a ListTestCaseResultsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListTestCaseResultsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListTestCaseResultsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListTestCaseResultsResponse;

                        /**
                         * Creates a plain object from a ListTestCaseResultsResponse message. Also converts values to other types if specified.
                         * @param message ListTestCaseResultsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListTestCaseResultsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListTestCaseResultsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListTestCaseResultsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetTestCaseResultRequest. */
                    interface IGetTestCaseResultRequest {

                        /** GetTestCaseResultRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetTestCaseResultRequest. */
                    class GetTestCaseResultRequest implements IGetTestCaseResultRequest {

                        /**
                         * Constructs a new GetTestCaseResultRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetTestCaseResultRequest);

                        /** GetTestCaseResultRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetTestCaseResultRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetTestCaseResultRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetTestCaseResultRequest): google.cloud.dialogflow.cx.v3.GetTestCaseResultRequest;

                        /**
                         * Encodes the specified GetTestCaseResultRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetTestCaseResultRequest.verify|verify} messages.
                         * @param message GetTestCaseResultRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetTestCaseResultRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetTestCaseResultRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetTestCaseResultRequest.verify|verify} messages.
                         * @param message GetTestCaseResultRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetTestCaseResultRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetTestCaseResultRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetTestCaseResultRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.GetTestCaseResultRequest;

                        /**
                         * Decodes a GetTestCaseResultRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetTestCaseResultRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.GetTestCaseResultRequest;

                        /**
                         * Verifies a GetTestCaseResultRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetTestCaseResultRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetTestCaseResultRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GetTestCaseResultRequest;

                        /**
                         * Creates a plain object from a GetTestCaseResultRequest message. Also converts values to other types if specified.
                         * @param message GetTestCaseResultRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.GetTestCaseResultRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetTestCaseResultRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetTestCaseResultRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** TestResult enum. */
                    enum TestResult {
                        TEST_RESULT_UNSPECIFIED = 0,
                        PASSED = 1,
                        FAILED = 2
                    }

                    /** Represents an Intents */
                    class Intents extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Intents 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 Intents 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): Intents;

                        /**
                         * Calls ListIntents.
                         * @param request ListIntentsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListIntentsResponse
                         */
                        public listIntents(request: google.cloud.dialogflow.cx.v3.IListIntentsRequest, callback: google.cloud.dialogflow.cx.v3.Intents.ListIntentsCallback): void;

                        /**
                         * Calls ListIntents.
                         * @param request ListIntentsRequest message or plain object
                         * @returns Promise
                         */
                        public listIntents(request: google.cloud.dialogflow.cx.v3.IListIntentsRequest): Promise<google.cloud.dialogflow.cx.v3.ListIntentsResponse>;

                        /**
                         * Calls GetIntent.
                         * @param request GetIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Intent
                         */
                        public getIntent(request: google.cloud.dialogflow.cx.v3.IGetIntentRequest, callback: google.cloud.dialogflow.cx.v3.Intents.GetIntentCallback): void;

                        /**
                         * Calls GetIntent.
                         * @param request GetIntentRequest message or plain object
                         * @returns Promise
                         */
                        public getIntent(request: google.cloud.dialogflow.cx.v3.IGetIntentRequest): Promise<google.cloud.dialogflow.cx.v3.Intent>;

                        /**
                         * Calls CreateIntent.
                         * @param request CreateIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Intent
                         */
                        public createIntent(request: google.cloud.dialogflow.cx.v3.ICreateIntentRequest, callback: google.cloud.dialogflow.cx.v3.Intents.CreateIntentCallback): void;

                        /**
                         * Calls CreateIntent.
                         * @param request CreateIntentRequest message or plain object
                         * @returns Promise
                         */
                        public createIntent(request: google.cloud.dialogflow.cx.v3.ICreateIntentRequest): Promise<google.cloud.dialogflow.cx.v3.Intent>;

                        /**
                         * Calls UpdateIntent.
                         * @param request UpdateIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Intent
                         */
                        public updateIntent(request: google.cloud.dialogflow.cx.v3.IUpdateIntentRequest, callback: google.cloud.dialogflow.cx.v3.Intents.UpdateIntentCallback): void;

                        /**
                         * Calls UpdateIntent.
                         * @param request UpdateIntentRequest message or plain object
                         * @returns Promise
                         */
                        public updateIntent(request: google.cloud.dialogflow.cx.v3.IUpdateIntentRequest): Promise<google.cloud.dialogflow.cx.v3.Intent>;

                        /**
                         * Calls DeleteIntent.
                         * @param request DeleteIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteIntent(request: google.cloud.dialogflow.cx.v3.IDeleteIntentRequest, callback: google.cloud.dialogflow.cx.v3.Intents.DeleteIntentCallback): void;

                        /**
                         * Calls DeleteIntent.
                         * @param request DeleteIntentRequest message or plain object
                         * @returns Promise
                         */
                        public deleteIntent(request: google.cloud.dialogflow.cx.v3.IDeleteIntentRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls ImportIntents.
                         * @param request ImportIntentsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public importIntents(request: google.cloud.dialogflow.cx.v3.IImportIntentsRequest, callback: google.cloud.dialogflow.cx.v3.Intents.ImportIntentsCallback): void;

                        /**
                         * Calls ImportIntents.
                         * @param request ImportIntentsRequest message or plain object
                         * @returns Promise
                         */
                        public importIntents(request: google.cloud.dialogflow.cx.v3.IImportIntentsRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ExportIntents.
                         * @param request ExportIntentsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public exportIntents(request: google.cloud.dialogflow.cx.v3.IExportIntentsRequest, callback: google.cloud.dialogflow.cx.v3.Intents.ExportIntentsCallback): void;

                        /**
                         * Calls ExportIntents.
                         * @param request ExportIntentsRequest message or plain object
                         * @returns Promise
                         */
                        public exportIntents(request: google.cloud.dialogflow.cx.v3.IExportIntentsRequest): Promise<google.longrunning.Operation>;
                    }

                    namespace Intents {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Intents|listIntents}.
                         * @param error Error, if any
                         * @param [response] ListIntentsResponse
                         */
                        type ListIntentsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListIntentsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Intents|getIntent}.
                         * @param error Error, if any
                         * @param [response] Intent
                         */
                        type GetIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Intent) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Intents|createIntent}.
                         * @param error Error, if any
                         * @param [response] Intent
                         */
                        type CreateIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Intent) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Intents|updateIntent}.
                         * @param error Error, if any
                         * @param [response] Intent
                         */
                        type UpdateIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Intent) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Intents|deleteIntent}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteIntentCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Intents|importIntents}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ImportIntentsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Intents|exportIntents}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ExportIntentsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
                    }

                    /** Properties of an Intent. */
                    interface IIntent {

                        /** Intent name */
                        name?: (string|null);

                        /** Intent displayName */
                        displayName?: (string|null);

                        /** Intent trainingPhrases */
                        trainingPhrases?: (google.cloud.dialogflow.cx.v3.Intent.ITrainingPhrase[]|null);

                        /** Intent parameters */
                        parameters?: (google.cloud.dialogflow.cx.v3.Intent.IParameter[]|null);

                        /** Intent priority */
                        priority?: (number|null);

                        /** Intent isFallback */
                        isFallback?: (boolean|null);

                        /** Intent labels */
                        labels?: ({ [k: string]: string }|null);

                        /** Intent description */
                        description?: (string|null);
                    }

                    /** Represents an Intent. */
                    class Intent implements IIntent {

                        /**
                         * Constructs a new Intent.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IIntent);

                        /** Intent name. */
                        public name: string;

                        /** Intent displayName. */
                        public displayName: string;

                        /** Intent trainingPhrases. */
                        public trainingPhrases: google.cloud.dialogflow.cx.v3.Intent.ITrainingPhrase[];

                        /** Intent parameters. */
                        public parameters: google.cloud.dialogflow.cx.v3.Intent.IParameter[];

                        /** Intent priority. */
                        public priority: number;

                        /** Intent isFallback. */
                        public isFallback: boolean;

                        /** Intent labels. */
                        public labels: { [k: string]: string };

                        /** Intent description. */
                        public description: string;

                        /**
                         * Creates a new Intent instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Intent instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IIntent): google.cloud.dialogflow.cx.v3.Intent;

                        /**
                         * Encodes the specified Intent message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Intent.verify|verify} messages.
                         * @param message Intent message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IIntent, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Intent message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Intent.verify|verify} messages.
                         * @param message Intent message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IIntent, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an Intent message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Intent
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Intent;

                        /**
                         * Decodes an Intent message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Intent
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Intent;

                        /**
                         * Verifies an Intent message.
                         * @param message Plain 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 Intent message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Intent
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Intent;

                        /**
                         * Creates a plain object from an Intent message. Also converts values to other types if specified.
                         * @param message Intent
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.Intent, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Intent to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Intent
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Intent {

                        /** Properties of a TrainingPhrase. */
                        interface ITrainingPhrase {

                            /** TrainingPhrase id */
                            id?: (string|null);

                            /** TrainingPhrase parts */
                            parts?: (google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.IPart[]|null);

                            /** TrainingPhrase repeatCount */
                            repeatCount?: (number|null);
                        }

                        /** Represents a TrainingPhrase. */
                        class TrainingPhrase implements ITrainingPhrase {

                            /**
                             * Constructs a new TrainingPhrase.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Intent.ITrainingPhrase);

                            /** TrainingPhrase id. */
                            public id: string;

                            /** TrainingPhrase parts. */
                            public parts: google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.IPart[];

                            /** TrainingPhrase repeatCount. */
                            public repeatCount: number;

                            /**
                             * Creates a new TrainingPhrase instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns TrainingPhrase instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Intent.ITrainingPhrase): google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase;

                            /**
                             * Encodes the specified TrainingPhrase message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.verify|verify} messages.
                             * @param message TrainingPhrase message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Intent.ITrainingPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified TrainingPhrase message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.verify|verify} messages.
                             * @param message TrainingPhrase message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Intent.ITrainingPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a TrainingPhrase message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns TrainingPhrase
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase;

                            /**
                             * Decodes a TrainingPhrase message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns TrainingPhrase
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase;

                            /**
                             * Verifies a TrainingPhrase message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a TrainingPhrase message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns TrainingPhrase
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase;

                            /**
                             * Creates a plain object from a TrainingPhrase message. Also converts values to other types if specified.
                             * @param message TrainingPhrase
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this TrainingPhrase to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for TrainingPhrase
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace TrainingPhrase {

                            /** Properties of a Part. */
                            interface IPart {

                                /** Part text */
                                text?: (string|null);

                                /** Part parameterId */
                                parameterId?: (string|null);
                            }

                            /** Represents a Part. */
                            class Part implements IPart {

                                /**
                                 * Constructs a new Part.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.IPart);

                                /** Part text. */
                                public text: string;

                                /** Part parameterId. */
                                public parameterId: string;

                                /**
                                 * Creates a new Part instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns Part instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.IPart): google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.Part;

                                /**
                                 * Encodes the specified Part message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.Part.verify|verify} messages.
                                 * @param message Part message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.IPart, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified Part message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.Part.verify|verify} messages.
                                 * @param message Part message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.IPart, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a Part message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns Part
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.Part;

                                /**
                                 * Decodes a Part message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns Part
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.Part;

                                /**
                                 * Verifies a Part message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a Part message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns Part
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.Part;

                                /**
                                 * Creates a plain object from a Part message. Also converts values to other types if specified.
                                 * @param message Part
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3.Intent.TrainingPhrase.Part, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this Part to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for Part
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }

                        /** Properties of a Parameter. */
                        interface IParameter {

                            /** Parameter id */
                            id?: (string|null);

                            /** Parameter entityType */
                            entityType?: (string|null);

                            /** Parameter isList */
                            isList?: (boolean|null);

                            /** Parameter redact */
                            redact?: (boolean|null);
                        }

                        /** Represents a Parameter. */
                        class Parameter implements IParameter {

                            /**
                             * Constructs a new Parameter.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Intent.IParameter);

                            /** Parameter id. */
                            public id: string;

                            /** Parameter entityType. */
                            public entityType: string;

                            /** Parameter isList. */
                            public isList: boolean;

                            /** Parameter redact. */
                            public redact: boolean;

                            /**
                             * Creates a new Parameter instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Parameter instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Intent.IParameter): google.cloud.dialogflow.cx.v3.Intent.Parameter;

                            /**
                             * Encodes the specified Parameter message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Intent.Parameter.verify|verify} messages.
                             * @param message Parameter message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Intent.IParameter, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Parameter message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Intent.Parameter.verify|verify} messages.
                             * @param message Parameter message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Intent.IParameter, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Parameter message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Parameter
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Intent.Parameter;

                            /**
                             * Decodes a Parameter message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Parameter
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Intent.Parameter;

                            /**
                             * Verifies a Parameter message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Parameter message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Parameter
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Intent.Parameter;

                            /**
                             * Creates a plain object from a Parameter message. Also converts values to other types if specified.
                             * @param message Parameter
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.Intent.Parameter, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Parameter to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Parameter
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a ListIntentsRequest. */
                    interface IListIntentsRequest {

                        /** ListIntentsRequest parent */
                        parent?: (string|null);

                        /** ListIntentsRequest languageCode */
                        languageCode?: (string|null);

                        /** ListIntentsRequest intentView */
                        intentView?: (google.cloud.dialogflow.cx.v3.IntentView|keyof typeof google.cloud.dialogflow.cx.v3.IntentView|null);

                        /** ListIntentsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListIntentsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListIntentsRequest. */
                    class ListIntentsRequest implements IListIntentsRequest {

                        /**
                         * Constructs a new ListIntentsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListIntentsRequest);

                        /** ListIntentsRequest parent. */
                        public parent: string;

                        /** ListIntentsRequest languageCode. */
                        public languageCode: string;

                        /** ListIntentsRequest intentView. */
                        public intentView: (google.cloud.dialogflow.cx.v3.IntentView|keyof typeof google.cloud.dialogflow.cx.v3.IntentView);

                        /** ListIntentsRequest pageSize. */
                        public pageSize: number;

                        /** ListIntentsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListIntentsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListIntentsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListIntentsRequest): google.cloud.dialogflow.cx.v3.ListIntentsRequest;

                        /**
                         * Encodes the specified ListIntentsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListIntentsRequest.verify|verify} messages.
                         * @param message ListIntentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListIntentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListIntentsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListIntentsRequest.verify|verify} messages.
                         * @param message ListIntentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListIntentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListIntentsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListIntentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListIntentsRequest;

                        /**
                         * Decodes a ListIntentsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListIntentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListIntentsRequest;

                        /**
                         * Verifies a ListIntentsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListIntentsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListIntentsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListIntentsRequest;

                        /**
                         * Creates a plain object from a ListIntentsRequest message. Also converts values to other types if specified.
                         * @param message ListIntentsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListIntentsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListIntentsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListIntentsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListIntentsResponse. */
                    interface IListIntentsResponse {

                        /** ListIntentsResponse intents */
                        intents?: (google.cloud.dialogflow.cx.v3.IIntent[]|null);

                        /** ListIntentsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListIntentsResponse. */
                    class ListIntentsResponse implements IListIntentsResponse {

                        /**
                         * Constructs a new ListIntentsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListIntentsResponse);

                        /** ListIntentsResponse intents. */
                        public intents: google.cloud.dialogflow.cx.v3.IIntent[];

                        /** ListIntentsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListIntentsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListIntentsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListIntentsResponse): google.cloud.dialogflow.cx.v3.ListIntentsResponse;

                        /**
                         * Encodes the specified ListIntentsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListIntentsResponse.verify|verify} messages.
                         * @param message ListIntentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListIntentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListIntentsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListIntentsResponse.verify|verify} messages.
                         * @param message ListIntentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListIntentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListIntentsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListIntentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListIntentsResponse;

                        /**
                         * Decodes a ListIntentsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListIntentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListIntentsResponse;

                        /**
                         * Verifies a ListIntentsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListIntentsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListIntentsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListIntentsResponse;

                        /**
                         * Creates a plain object from a ListIntentsResponse message. Also converts values to other types if specified.
                         * @param message ListIntentsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListIntentsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListIntentsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListIntentsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetIntentRequest. */
                    interface IGetIntentRequest {

                        /** GetIntentRequest name */
                        name?: (string|null);

                        /** GetIntentRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetIntentRequest. */
                    class GetIntentRequest implements IGetIntentRequest {

                        /**
                         * Constructs a new GetIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetIntentRequest);

                        /** GetIntentRequest name. */
                        public name: string;

                        /** GetIntentRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetIntentRequest): google.cloud.dialogflow.cx.v3.GetIntentRequest;

                        /**
                         * Encodes the specified GetIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetIntentRequest.verify|verify} messages.
                         * @param message GetIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetIntentRequest.verify|verify} messages.
                         * @param message GetIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.GetIntentRequest;

                        /**
                         * Decodes a GetIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.GetIntentRequest;

                        /**
                         * Verifies a GetIntentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GetIntentRequest;

                        /**
                         * Creates a plain object from a GetIntentRequest message. Also converts values to other types if specified.
                         * @param message GetIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.GetIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateIntentRequest. */
                    interface ICreateIntentRequest {

                        /** CreateIntentRequest parent */
                        parent?: (string|null);

                        /** CreateIntentRequest intent */
                        intent?: (google.cloud.dialogflow.cx.v3.IIntent|null);

                        /** CreateIntentRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a CreateIntentRequest. */
                    class CreateIntentRequest implements ICreateIntentRequest {

                        /**
                         * Constructs a new CreateIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICreateIntentRequest);

                        /** CreateIntentRequest parent. */
                        public parent: string;

                        /** CreateIntentRequest intent. */
                        public intent?: (google.cloud.dialogflow.cx.v3.IIntent|null);

                        /** CreateIntentRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new CreateIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICreateIntentRequest): google.cloud.dialogflow.cx.v3.CreateIntentRequest;

                        /**
                         * Encodes the specified CreateIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateIntentRequest.verify|verify} messages.
                         * @param message CreateIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICreateIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateIntentRequest.verify|verify} messages.
                         * @param message CreateIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICreateIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CreateIntentRequest;

                        /**
                         * Decodes a CreateIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CreateIntentRequest;

                        /**
                         * Verifies a CreateIntentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CreateIntentRequest;

                        /**
                         * Creates a plain object from a CreateIntentRequest message. Also converts values to other types if specified.
                         * @param message CreateIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CreateIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateIntentRequest. */
                    interface IUpdateIntentRequest {

                        /** UpdateIntentRequest intent */
                        intent?: (google.cloud.dialogflow.cx.v3.IIntent|null);

                        /** UpdateIntentRequest languageCode */
                        languageCode?: (string|null);

                        /** UpdateIntentRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateIntentRequest. */
                    class UpdateIntentRequest implements IUpdateIntentRequest {

                        /**
                         * Constructs a new UpdateIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IUpdateIntentRequest);

                        /** UpdateIntentRequest intent. */
                        public intent?: (google.cloud.dialogflow.cx.v3.IIntent|null);

                        /** UpdateIntentRequest languageCode. */
                        public languageCode: string;

                        /** UpdateIntentRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IUpdateIntentRequest): google.cloud.dialogflow.cx.v3.UpdateIntentRequest;

                        /**
                         * Encodes the specified UpdateIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateIntentRequest.verify|verify} messages.
                         * @param message UpdateIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IUpdateIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateIntentRequest.verify|verify} messages.
                         * @param message UpdateIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IUpdateIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.UpdateIntentRequest;

                        /**
                         * Decodes an UpdateIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.UpdateIntentRequest;

                        /**
                         * Verifies an UpdateIntentRequest message.
                         * @param message Plain 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 UpdateIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.UpdateIntentRequest;

                        /**
                         * Creates a plain object from an UpdateIntentRequest message. Also converts values to other types if specified.
                         * @param message UpdateIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.UpdateIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteIntentRequest. */
                    interface IDeleteIntentRequest {

                        /** DeleteIntentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeleteIntentRequest. */
                    class DeleteIntentRequest implements IDeleteIntentRequest {

                        /**
                         * Constructs a new DeleteIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeleteIntentRequest);

                        /** DeleteIntentRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeleteIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeleteIntentRequest): google.cloud.dialogflow.cx.v3.DeleteIntentRequest;

                        /**
                         * Encodes the specified DeleteIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteIntentRequest.verify|verify} messages.
                         * @param message DeleteIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeleteIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteIntentRequest.verify|verify} messages.
                         * @param message DeleteIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeleteIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DeleteIntentRequest;

                        /**
                         * Decodes a DeleteIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DeleteIntentRequest;

                        /**
                         * Verifies a DeleteIntentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DeleteIntentRequest;

                        /**
                         * Creates a plain object from a DeleteIntentRequest message. Also converts values to other types if specified.
                         * @param message DeleteIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DeleteIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** IntentView enum. */
                    enum IntentView {
                        INTENT_VIEW_UNSPECIFIED = 0,
                        INTENT_VIEW_PARTIAL = 1,
                        INTENT_VIEW_FULL = 2
                    }

                    /** Properties of an ImportIntentsRequest. */
                    interface IImportIntentsRequest {

                        /** ImportIntentsRequest parent */
                        parent?: (string|null);

                        /** ImportIntentsRequest intentsUri */
                        intentsUri?: (string|null);

                        /** ImportIntentsRequest intentsContent */
                        intentsContent?: (google.cloud.dialogflow.cx.v3.IInlineSource|null);

                        /** ImportIntentsRequest mergeOption */
                        mergeOption?: (google.cloud.dialogflow.cx.v3.ImportIntentsRequest.MergeOption|keyof typeof google.cloud.dialogflow.cx.v3.ImportIntentsRequest.MergeOption|null);
                    }

                    /** Represents an ImportIntentsRequest. */
                    class ImportIntentsRequest implements IImportIntentsRequest {

                        /**
                         * Constructs a new ImportIntentsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IImportIntentsRequest);

                        /** ImportIntentsRequest parent. */
                        public parent: string;

                        /** ImportIntentsRequest intentsUri. */
                        public intentsUri?: (string|null);

                        /** ImportIntentsRequest intentsContent. */
                        public intentsContent?: (google.cloud.dialogflow.cx.v3.IInlineSource|null);

                        /** ImportIntentsRequest mergeOption. */
                        public mergeOption: (google.cloud.dialogflow.cx.v3.ImportIntentsRequest.MergeOption|keyof typeof google.cloud.dialogflow.cx.v3.ImportIntentsRequest.MergeOption);

                        /** ImportIntentsRequest intents. */
                        public intents?: ("intentsUri"|"intentsContent");

                        /**
                         * Creates a new ImportIntentsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportIntentsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IImportIntentsRequest): google.cloud.dialogflow.cx.v3.ImportIntentsRequest;

                        /**
                         * Encodes the specified ImportIntentsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportIntentsRequest.verify|verify} messages.
                         * @param message ImportIntentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IImportIntentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportIntentsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportIntentsRequest.verify|verify} messages.
                         * @param message ImportIntentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IImportIntentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportIntentsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportIntentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ImportIntentsRequest;

                        /**
                         * Decodes an ImportIntentsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportIntentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ImportIntentsRequest;

                        /**
                         * Verifies an ImportIntentsRequest message.
                         * @param message Plain 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 ImportIntentsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportIntentsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ImportIntentsRequest;

                        /**
                         * Creates a plain object from an ImportIntentsRequest message. Also converts values to other types if specified.
                         * @param message ImportIntentsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ImportIntentsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportIntentsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportIntentsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ImportIntentsRequest {

                        /** MergeOption enum. */
                        enum MergeOption {
                            MERGE_OPTION_UNSPECIFIED = 0,
                            REJECT = 1,
                            REPLACE = 2,
                            MERGE = 3,
                            RENAME = 4,
                            REPORT_CONFLICT = 5,
                            KEEP = 6
                        }
                    }

                    /** Properties of an ImportIntentsResponse. */
                    interface IImportIntentsResponse {

                        /** ImportIntentsResponse intents */
                        intents?: (string[]|null);

                        /** ImportIntentsResponse conflictingResources */
                        conflictingResources?: (google.cloud.dialogflow.cx.v3.ImportIntentsResponse.IConflictingResources|null);
                    }

                    /** Represents an ImportIntentsResponse. */
                    class ImportIntentsResponse implements IImportIntentsResponse {

                        /**
                         * Constructs a new ImportIntentsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IImportIntentsResponse);

                        /** ImportIntentsResponse intents. */
                        public intents: string[];

                        /** ImportIntentsResponse conflictingResources. */
                        public conflictingResources?: (google.cloud.dialogflow.cx.v3.ImportIntentsResponse.IConflictingResources|null);

                        /**
                         * Creates a new ImportIntentsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportIntentsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IImportIntentsResponse): google.cloud.dialogflow.cx.v3.ImportIntentsResponse;

                        /**
                         * Encodes the specified ImportIntentsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportIntentsResponse.verify|verify} messages.
                         * @param message ImportIntentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IImportIntentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportIntentsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportIntentsResponse.verify|verify} messages.
                         * @param message ImportIntentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IImportIntentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportIntentsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportIntentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ImportIntentsResponse;

                        /**
                         * Decodes an ImportIntentsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportIntentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ImportIntentsResponse;

                        /**
                         * Verifies an ImportIntentsResponse message.
                         * @param message Plain 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 ImportIntentsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportIntentsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ImportIntentsResponse;

                        /**
                         * Creates a plain object from an ImportIntentsResponse message. Also converts values to other types if specified.
                         * @param message ImportIntentsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ImportIntentsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportIntentsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportIntentsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ImportIntentsResponse {

                        /** Properties of a ConflictingResources. */
                        interface IConflictingResources {

                            /** ConflictingResources intentDisplayNames */
                            intentDisplayNames?: (string[]|null);

                            /** ConflictingResources entityDisplayNames */
                            entityDisplayNames?: (string[]|null);
                        }

                        /** Represents a ConflictingResources. */
                        class ConflictingResources implements IConflictingResources {

                            /**
                             * Constructs a new ConflictingResources.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.ImportIntentsResponse.IConflictingResources);

                            /** ConflictingResources intentDisplayNames. */
                            public intentDisplayNames: string[];

                            /** ConflictingResources entityDisplayNames. */
                            public entityDisplayNames: string[];

                            /**
                             * Creates a new ConflictingResources instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ConflictingResources instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.ImportIntentsResponse.IConflictingResources): google.cloud.dialogflow.cx.v3.ImportIntentsResponse.ConflictingResources;

                            /**
                             * Encodes the specified ConflictingResources message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportIntentsResponse.ConflictingResources.verify|verify} messages.
                             * @param message ConflictingResources message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.ImportIntentsResponse.IConflictingResources, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ConflictingResources message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportIntentsResponse.ConflictingResources.verify|verify} messages.
                             * @param message ConflictingResources message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ImportIntentsResponse.IConflictingResources, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ConflictingResources message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ConflictingResources
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ImportIntentsResponse.ConflictingResources;

                            /**
                             * Decodes a ConflictingResources message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ConflictingResources
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ImportIntentsResponse.ConflictingResources;

                            /**
                             * Verifies a ConflictingResources message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ConflictingResources message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ConflictingResources
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ImportIntentsResponse.ConflictingResources;

                            /**
                             * Creates a plain object from a ConflictingResources message. Also converts values to other types if specified.
                             * @param message ConflictingResources
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.ImportIntentsResponse.ConflictingResources, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ConflictingResources to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ConflictingResources
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of an ImportIntentsMetadata. */
                    interface IImportIntentsMetadata {
                    }

                    /** Represents an ImportIntentsMetadata. */
                    class ImportIntentsMetadata implements IImportIntentsMetadata {

                        /**
                         * Constructs a new ImportIntentsMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IImportIntentsMetadata);

                        /**
                         * Creates a new ImportIntentsMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportIntentsMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IImportIntentsMetadata): google.cloud.dialogflow.cx.v3.ImportIntentsMetadata;

                        /**
                         * Encodes the specified ImportIntentsMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportIntentsMetadata.verify|verify} messages.
                         * @param message ImportIntentsMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IImportIntentsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportIntentsMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ImportIntentsMetadata.verify|verify} messages.
                         * @param message ImportIntentsMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IImportIntentsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportIntentsMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportIntentsMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ImportIntentsMetadata;

                        /**
                         * Decodes an ImportIntentsMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportIntentsMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ImportIntentsMetadata;

                        /**
                         * Verifies an ImportIntentsMetadata message.
                         * @param message Plain 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 ImportIntentsMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportIntentsMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ImportIntentsMetadata;

                        /**
                         * Creates a plain object from an ImportIntentsMetadata message. Also converts values to other types if specified.
                         * @param message ImportIntentsMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ImportIntentsMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportIntentsMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportIntentsMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ExportIntentsRequest. */
                    interface IExportIntentsRequest {

                        /** ExportIntentsRequest parent */
                        parent?: (string|null);

                        /** ExportIntentsRequest intents */
                        intents?: (string[]|null);

                        /** ExportIntentsRequest intentsUri */
                        intentsUri?: (string|null);

                        /** ExportIntentsRequest intentsContentInline */
                        intentsContentInline?: (boolean|null);

                        /** ExportIntentsRequest dataFormat */
                        dataFormat?: (google.cloud.dialogflow.cx.v3.ExportIntentsRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3.ExportIntentsRequest.DataFormat|null);
                    }

                    /** Represents an ExportIntentsRequest. */
                    class ExportIntentsRequest implements IExportIntentsRequest {

                        /**
                         * Constructs a new ExportIntentsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IExportIntentsRequest);

                        /** ExportIntentsRequest parent. */
                        public parent: string;

                        /** ExportIntentsRequest intents. */
                        public intents: string[];

                        /** ExportIntentsRequest intentsUri. */
                        public intentsUri?: (string|null);

                        /** ExportIntentsRequest intentsContentInline. */
                        public intentsContentInline?: (boolean|null);

                        /** ExportIntentsRequest dataFormat. */
                        public dataFormat: (google.cloud.dialogflow.cx.v3.ExportIntentsRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3.ExportIntentsRequest.DataFormat);

                        /** ExportIntentsRequest destination. */
                        public destination?: ("intentsUri"|"intentsContentInline");

                        /**
                         * Creates a new ExportIntentsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportIntentsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IExportIntentsRequest): google.cloud.dialogflow.cx.v3.ExportIntentsRequest;

                        /**
                         * Encodes the specified ExportIntentsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportIntentsRequest.verify|verify} messages.
                         * @param message ExportIntentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IExportIntentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportIntentsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportIntentsRequest.verify|verify} messages.
                         * @param message ExportIntentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IExportIntentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportIntentsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportIntentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ExportIntentsRequest;

                        /**
                         * Decodes an ExportIntentsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportIntentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ExportIntentsRequest;

                        /**
                         * Verifies an ExportIntentsRequest message.
                         * @param message Plain 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 ExportIntentsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportIntentsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ExportIntentsRequest;

                        /**
                         * Creates a plain object from an ExportIntentsRequest message. Also converts values to other types if specified.
                         * @param message ExportIntentsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ExportIntentsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportIntentsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportIntentsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ExportIntentsRequest {

                        /** DataFormat enum. */
                        enum DataFormat {
                            DATA_FORMAT_UNSPECIFIED = 0,
                            BLOB = 1,
                            JSON = 2,
                            CSV = 3
                        }
                    }

                    /** Properties of an ExportIntentsResponse. */
                    interface IExportIntentsResponse {

                        /** ExportIntentsResponse intentsUri */
                        intentsUri?: (string|null);

                        /** ExportIntentsResponse intentsContent */
                        intentsContent?: (google.cloud.dialogflow.cx.v3.IInlineDestination|null);
                    }

                    /** Represents an ExportIntentsResponse. */
                    class ExportIntentsResponse implements IExportIntentsResponse {

                        /**
                         * Constructs a new ExportIntentsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IExportIntentsResponse);

                        /** ExportIntentsResponse intentsUri. */
                        public intentsUri?: (string|null);

                        /** ExportIntentsResponse intentsContent. */
                        public intentsContent?: (google.cloud.dialogflow.cx.v3.IInlineDestination|null);

                        /** ExportIntentsResponse intents. */
                        public intents?: ("intentsUri"|"intentsContent");

                        /**
                         * Creates a new ExportIntentsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportIntentsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IExportIntentsResponse): google.cloud.dialogflow.cx.v3.ExportIntentsResponse;

                        /**
                         * Encodes the specified ExportIntentsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportIntentsResponse.verify|verify} messages.
                         * @param message ExportIntentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IExportIntentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportIntentsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportIntentsResponse.verify|verify} messages.
                         * @param message ExportIntentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IExportIntentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportIntentsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportIntentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ExportIntentsResponse;

                        /**
                         * Decodes an ExportIntentsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportIntentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ExportIntentsResponse;

                        /**
                         * Verifies an ExportIntentsResponse message.
                         * @param message Plain 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 ExportIntentsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportIntentsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ExportIntentsResponse;

                        /**
                         * Creates a plain object from an ExportIntentsResponse message. Also converts values to other types if specified.
                         * @param message ExportIntentsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ExportIntentsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportIntentsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportIntentsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ExportIntentsMetadata. */
                    interface IExportIntentsMetadata {
                    }

                    /** Represents an ExportIntentsMetadata. */
                    class ExportIntentsMetadata implements IExportIntentsMetadata {

                        /**
                         * Constructs a new ExportIntentsMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IExportIntentsMetadata);

                        /**
                         * Creates a new ExportIntentsMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportIntentsMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IExportIntentsMetadata): google.cloud.dialogflow.cx.v3.ExportIntentsMetadata;

                        /**
                         * Encodes the specified ExportIntentsMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportIntentsMetadata.verify|verify} messages.
                         * @param message ExportIntentsMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IExportIntentsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportIntentsMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ExportIntentsMetadata.verify|verify} messages.
                         * @param message ExportIntentsMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IExportIntentsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportIntentsMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportIntentsMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ExportIntentsMetadata;

                        /**
                         * Decodes an ExportIntentsMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportIntentsMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ExportIntentsMetadata;

                        /**
                         * Verifies an ExportIntentsMetadata message.
                         * @param message Plain 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 ExportIntentsMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportIntentsMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ExportIntentsMetadata;

                        /**
                         * Creates a plain object from an ExportIntentsMetadata message. Also converts values to other types if specified.
                         * @param message ExportIntentsMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ExportIntentsMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportIntentsMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportIntentsMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a Sessions */
                    class Sessions extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Sessions 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 Sessions 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): Sessions;

                        /**
                         * Calls DetectIntent.
                         * @param request DetectIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and DetectIntentResponse
                         */
                        public detectIntent(request: google.cloud.dialogflow.cx.v3.IDetectIntentRequest, callback: google.cloud.dialogflow.cx.v3.Sessions.DetectIntentCallback): void;

                        /**
                         * Calls DetectIntent.
                         * @param request DetectIntentRequest message or plain object
                         * @returns Promise
                         */
                        public detectIntent(request: google.cloud.dialogflow.cx.v3.IDetectIntentRequest): Promise<google.cloud.dialogflow.cx.v3.DetectIntentResponse>;

                        /**
                         * Calls ServerStreamingDetectIntent.
                         * @param request DetectIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and DetectIntentResponse
                         */
                        public serverStreamingDetectIntent(request: google.cloud.dialogflow.cx.v3.IDetectIntentRequest, callback: google.cloud.dialogflow.cx.v3.Sessions.ServerStreamingDetectIntentCallback): void;

                        /**
                         * Calls ServerStreamingDetectIntent.
                         * @param request DetectIntentRequest message or plain object
                         * @returns Promise
                         */
                        public serverStreamingDetectIntent(request: google.cloud.dialogflow.cx.v3.IDetectIntentRequest): Promise<google.cloud.dialogflow.cx.v3.DetectIntentResponse>;

                        /**
                         * Calls StreamingDetectIntent.
                         * @param request StreamingDetectIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and StreamingDetectIntentResponse
                         */
                        public streamingDetectIntent(request: google.cloud.dialogflow.cx.v3.IStreamingDetectIntentRequest, callback: google.cloud.dialogflow.cx.v3.Sessions.StreamingDetectIntentCallback): void;

                        /**
                         * Calls StreamingDetectIntent.
                         * @param request StreamingDetectIntentRequest message or plain object
                         * @returns Promise
                         */
                        public streamingDetectIntent(request: google.cloud.dialogflow.cx.v3.IStreamingDetectIntentRequest): Promise<google.cloud.dialogflow.cx.v3.StreamingDetectIntentResponse>;

                        /**
                         * Calls MatchIntent.
                         * @param request MatchIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and MatchIntentResponse
                         */
                        public matchIntent(request: google.cloud.dialogflow.cx.v3.IMatchIntentRequest, callback: google.cloud.dialogflow.cx.v3.Sessions.MatchIntentCallback): void;

                        /**
                         * Calls MatchIntent.
                         * @param request MatchIntentRequest message or plain object
                         * @returns Promise
                         */
                        public matchIntent(request: google.cloud.dialogflow.cx.v3.IMatchIntentRequest): Promise<google.cloud.dialogflow.cx.v3.MatchIntentResponse>;

                        /**
                         * Calls FulfillIntent.
                         * @param request FulfillIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and FulfillIntentResponse
                         */
                        public fulfillIntent(request: google.cloud.dialogflow.cx.v3.IFulfillIntentRequest, callback: google.cloud.dialogflow.cx.v3.Sessions.FulfillIntentCallback): void;

                        /**
                         * Calls FulfillIntent.
                         * @param request FulfillIntentRequest message or plain object
                         * @returns Promise
                         */
                        public fulfillIntent(request: google.cloud.dialogflow.cx.v3.IFulfillIntentRequest): Promise<google.cloud.dialogflow.cx.v3.FulfillIntentResponse>;

                        /**
                         * Calls SubmitAnswerFeedback.
                         * @param request SubmitAnswerFeedbackRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and AnswerFeedback
                         */
                        public submitAnswerFeedback(request: google.cloud.dialogflow.cx.v3.ISubmitAnswerFeedbackRequest, callback: google.cloud.dialogflow.cx.v3.Sessions.SubmitAnswerFeedbackCallback): void;

                        /**
                         * Calls SubmitAnswerFeedback.
                         * @param request SubmitAnswerFeedbackRequest message or plain object
                         * @returns Promise
                         */
                        public submitAnswerFeedback(request: google.cloud.dialogflow.cx.v3.ISubmitAnswerFeedbackRequest): Promise<google.cloud.dialogflow.cx.v3.AnswerFeedback>;
                    }

                    namespace Sessions {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Sessions|detectIntent}.
                         * @param error Error, if any
                         * @param [response] DetectIntentResponse
                         */
                        type DetectIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.DetectIntentResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Sessions|serverStreamingDetectIntent}.
                         * @param error Error, if any
                         * @param [response] DetectIntentResponse
                         */
                        type ServerStreamingDetectIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.DetectIntentResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Sessions|streamingDetectIntent}.
                         * @param error Error, if any
                         * @param [response] StreamingDetectIntentResponse
                         */
                        type StreamingDetectIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.StreamingDetectIntentResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Sessions|matchIntent}.
                         * @param error Error, if any
                         * @param [response] MatchIntentResponse
                         */
                        type MatchIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.MatchIntentResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Sessions|fulfillIntent}.
                         * @param error Error, if any
                         * @param [response] FulfillIntentResponse
                         */
                        type FulfillIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.FulfillIntentResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Sessions|submitAnswerFeedback}.
                         * @param error Error, if any
                         * @param [response] AnswerFeedback
                         */
                        type SubmitAnswerFeedbackCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.AnswerFeedback) => void;
                    }

                    /** Properties of an AnswerFeedback. */
                    interface IAnswerFeedback {

                        /** AnswerFeedback rating */
                        rating?: (google.cloud.dialogflow.cx.v3.AnswerFeedback.Rating|keyof typeof google.cloud.dialogflow.cx.v3.AnswerFeedback.Rating|null);

                        /** AnswerFeedback ratingReason */
                        ratingReason?: (google.cloud.dialogflow.cx.v3.AnswerFeedback.IRatingReason|null);

                        /** AnswerFeedback customRating */
                        customRating?: (string|null);
                    }

                    /** Represents an AnswerFeedback. */
                    class AnswerFeedback implements IAnswerFeedback {

                        /**
                         * Constructs a new AnswerFeedback.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IAnswerFeedback);

                        /** AnswerFeedback rating. */
                        public rating: (google.cloud.dialogflow.cx.v3.AnswerFeedback.Rating|keyof typeof google.cloud.dialogflow.cx.v3.AnswerFeedback.Rating);

                        /** AnswerFeedback ratingReason. */
                        public ratingReason?: (google.cloud.dialogflow.cx.v3.AnswerFeedback.IRatingReason|null);

                        /** AnswerFeedback customRating. */
                        public customRating: string;

                        /**
                         * Creates a new AnswerFeedback instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns AnswerFeedback instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IAnswerFeedback): google.cloud.dialogflow.cx.v3.AnswerFeedback;

                        /**
                         * Encodes the specified AnswerFeedback message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AnswerFeedback.verify|verify} messages.
                         * @param message AnswerFeedback message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IAnswerFeedback, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified AnswerFeedback message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AnswerFeedback.verify|verify} messages.
                         * @param message AnswerFeedback message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IAnswerFeedback, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an AnswerFeedback message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns AnswerFeedback
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.AnswerFeedback;

                        /**
                         * Decodes an AnswerFeedback message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns AnswerFeedback
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.AnswerFeedback;

                        /**
                         * Verifies an AnswerFeedback message.
                         * @param message Plain 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 AnswerFeedback message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns AnswerFeedback
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.AnswerFeedback;

                        /**
                         * Creates a plain object from an AnswerFeedback message. Also converts values to other types if specified.
                         * @param message AnswerFeedback
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.AnswerFeedback, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this AnswerFeedback to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for AnswerFeedback
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace AnswerFeedback {

                        /** Rating enum. */
                        enum Rating {
                            RATING_UNSPECIFIED = 0,
                            THUMBS_UP = 1,
                            THUMBS_DOWN = 2
                        }

                        /** Properties of a RatingReason. */
                        interface IRatingReason {

                            /** RatingReason reasonLabels */
                            reasonLabels?: (string[]|null);

                            /** RatingReason feedback */
                            feedback?: (string|null);
                        }

                        /** Represents a RatingReason. */
                        class RatingReason implements IRatingReason {

                            /**
                             * Constructs a new RatingReason.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.AnswerFeedback.IRatingReason);

                            /** RatingReason reasonLabels. */
                            public reasonLabels: string[];

                            /** RatingReason feedback. */
                            public feedback: string;

                            /**
                             * Creates a new RatingReason instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns RatingReason instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.AnswerFeedback.IRatingReason): google.cloud.dialogflow.cx.v3.AnswerFeedback.RatingReason;

                            /**
                             * Encodes the specified RatingReason message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AnswerFeedback.RatingReason.verify|verify} messages.
                             * @param message RatingReason message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.AnswerFeedback.IRatingReason, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified RatingReason message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AnswerFeedback.RatingReason.verify|verify} messages.
                             * @param message RatingReason message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.AnswerFeedback.IRatingReason, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a RatingReason message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns RatingReason
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.AnswerFeedback.RatingReason;

                            /**
                             * Decodes a RatingReason message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns RatingReason
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.AnswerFeedback.RatingReason;

                            /**
                             * Verifies a RatingReason message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a RatingReason message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns RatingReason
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.AnswerFeedback.RatingReason;

                            /**
                             * Creates a plain object from a RatingReason message. Also converts values to other types if specified.
                             * @param message RatingReason
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.AnswerFeedback.RatingReason, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this RatingReason to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for RatingReason
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a SubmitAnswerFeedbackRequest. */
                    interface ISubmitAnswerFeedbackRequest {

                        /** SubmitAnswerFeedbackRequest session */
                        session?: (string|null);

                        /** SubmitAnswerFeedbackRequest responseId */
                        responseId?: (string|null);

                        /** SubmitAnswerFeedbackRequest answerFeedback */
                        answerFeedback?: (google.cloud.dialogflow.cx.v3.IAnswerFeedback|null);

                        /** SubmitAnswerFeedbackRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents a SubmitAnswerFeedbackRequest. */
                    class SubmitAnswerFeedbackRequest implements ISubmitAnswerFeedbackRequest {

                        /**
                         * Constructs a new SubmitAnswerFeedbackRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ISubmitAnswerFeedbackRequest);

                        /** SubmitAnswerFeedbackRequest session. */
                        public session: string;

                        /** SubmitAnswerFeedbackRequest responseId. */
                        public responseId: string;

                        /** SubmitAnswerFeedbackRequest answerFeedback. */
                        public answerFeedback?: (google.cloud.dialogflow.cx.v3.IAnswerFeedback|null);

                        /** SubmitAnswerFeedbackRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new SubmitAnswerFeedbackRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SubmitAnswerFeedbackRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ISubmitAnswerFeedbackRequest): google.cloud.dialogflow.cx.v3.SubmitAnswerFeedbackRequest;

                        /**
                         * Encodes the specified SubmitAnswerFeedbackRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SubmitAnswerFeedbackRequest.verify|verify} messages.
                         * @param message SubmitAnswerFeedbackRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ISubmitAnswerFeedbackRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SubmitAnswerFeedbackRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SubmitAnswerFeedbackRequest.verify|verify} messages.
                         * @param message SubmitAnswerFeedbackRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ISubmitAnswerFeedbackRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SubmitAnswerFeedbackRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SubmitAnswerFeedbackRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.SubmitAnswerFeedbackRequest;

                        /**
                         * Decodes a SubmitAnswerFeedbackRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SubmitAnswerFeedbackRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.SubmitAnswerFeedbackRequest;

                        /**
                         * Verifies a SubmitAnswerFeedbackRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SubmitAnswerFeedbackRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SubmitAnswerFeedbackRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.SubmitAnswerFeedbackRequest;

                        /**
                         * Creates a plain object from a SubmitAnswerFeedbackRequest message. Also converts values to other types if specified.
                         * @param message SubmitAnswerFeedbackRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.SubmitAnswerFeedbackRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SubmitAnswerFeedbackRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SubmitAnswerFeedbackRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DetectIntentRequest. */
                    interface IDetectIntentRequest {

                        /** DetectIntentRequest session */
                        session?: (string|null);

                        /** DetectIntentRequest queryParams */
                        queryParams?: (google.cloud.dialogflow.cx.v3.IQueryParameters|null);

                        /** DetectIntentRequest queryInput */
                        queryInput?: (google.cloud.dialogflow.cx.v3.IQueryInput|null);

                        /** DetectIntentRequest outputAudioConfig */
                        outputAudioConfig?: (google.cloud.dialogflow.cx.v3.IOutputAudioConfig|null);
                    }

                    /** Represents a DetectIntentRequest. */
                    class DetectIntentRequest implements IDetectIntentRequest {

                        /**
                         * Constructs a new DetectIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDetectIntentRequest);

                        /** DetectIntentRequest session. */
                        public session: string;

                        /** DetectIntentRequest queryParams. */
                        public queryParams?: (google.cloud.dialogflow.cx.v3.IQueryParameters|null);

                        /** DetectIntentRequest queryInput. */
                        public queryInput?: (google.cloud.dialogflow.cx.v3.IQueryInput|null);

                        /** DetectIntentRequest outputAudioConfig. */
                        public outputAudioConfig?: (google.cloud.dialogflow.cx.v3.IOutputAudioConfig|null);

                        /**
                         * Creates a new DetectIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DetectIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDetectIntentRequest): google.cloud.dialogflow.cx.v3.DetectIntentRequest;

                        /**
                         * Encodes the specified DetectIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DetectIntentRequest.verify|verify} messages.
                         * @param message DetectIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDetectIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DetectIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DetectIntentRequest.verify|verify} messages.
                         * @param message DetectIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDetectIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DetectIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DetectIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DetectIntentRequest;

                        /**
                         * Decodes a DetectIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DetectIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DetectIntentRequest;

                        /**
                         * Verifies a DetectIntentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DetectIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DetectIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DetectIntentRequest;

                        /**
                         * Creates a plain object from a DetectIntentRequest message. Also converts values to other types if specified.
                         * @param message DetectIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DetectIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DetectIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DetectIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DetectIntentResponse. */
                    interface IDetectIntentResponse {

                        /** DetectIntentResponse responseId */
                        responseId?: (string|null);

                        /** DetectIntentResponse queryResult */
                        queryResult?: (google.cloud.dialogflow.cx.v3.IQueryResult|null);

                        /** DetectIntentResponse outputAudio */
                        outputAudio?: (Uint8Array|Buffer|string|null);

                        /** DetectIntentResponse outputAudioConfig */
                        outputAudioConfig?: (google.cloud.dialogflow.cx.v3.IOutputAudioConfig|null);

                        /** DetectIntentResponse responseType */
                        responseType?: (google.cloud.dialogflow.cx.v3.DetectIntentResponse.ResponseType|keyof typeof google.cloud.dialogflow.cx.v3.DetectIntentResponse.ResponseType|null);

                        /** DetectIntentResponse allowCancellation */
                        allowCancellation?: (boolean|null);
                    }

                    /** Represents a DetectIntentResponse. */
                    class DetectIntentResponse implements IDetectIntentResponse {

                        /**
                         * Constructs a new DetectIntentResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDetectIntentResponse);

                        /** DetectIntentResponse responseId. */
                        public responseId: string;

                        /** DetectIntentResponse queryResult. */
                        public queryResult?: (google.cloud.dialogflow.cx.v3.IQueryResult|null);

                        /** DetectIntentResponse outputAudio. */
                        public outputAudio: (Uint8Array|Buffer|string);

                        /** DetectIntentResponse outputAudioConfig. */
                        public outputAudioConfig?: (google.cloud.dialogflow.cx.v3.IOutputAudioConfig|null);

                        /** DetectIntentResponse responseType. */
                        public responseType: (google.cloud.dialogflow.cx.v3.DetectIntentResponse.ResponseType|keyof typeof google.cloud.dialogflow.cx.v3.DetectIntentResponse.ResponseType);

                        /** DetectIntentResponse allowCancellation. */
                        public allowCancellation: boolean;

                        /**
                         * Creates a new DetectIntentResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DetectIntentResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDetectIntentResponse): google.cloud.dialogflow.cx.v3.DetectIntentResponse;

                        /**
                         * Encodes the specified DetectIntentResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DetectIntentResponse.verify|verify} messages.
                         * @param message DetectIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDetectIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DetectIntentResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DetectIntentResponse.verify|verify} messages.
                         * @param message DetectIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDetectIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DetectIntentResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DetectIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DetectIntentResponse;

                        /**
                         * Decodes a DetectIntentResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DetectIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DetectIntentResponse;

                        /**
                         * Verifies a DetectIntentResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DetectIntentResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DetectIntentResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DetectIntentResponse;

                        /**
                         * Creates a plain object from a DetectIntentResponse message. Also converts values to other types if specified.
                         * @param message DetectIntentResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DetectIntentResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DetectIntentResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DetectIntentResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace DetectIntentResponse {

                        /** ResponseType enum. */
                        enum ResponseType {
                            RESPONSE_TYPE_UNSPECIFIED = 0,
                            PARTIAL = 1,
                            FINAL = 2
                        }
                    }

                    /** Properties of a StreamingDetectIntentRequest. */
                    interface IStreamingDetectIntentRequest {

                        /** StreamingDetectIntentRequest session */
                        session?: (string|null);

                        /** StreamingDetectIntentRequest queryParams */
                        queryParams?: (google.cloud.dialogflow.cx.v3.IQueryParameters|null);

                        /** StreamingDetectIntentRequest queryInput */
                        queryInput?: (google.cloud.dialogflow.cx.v3.IQueryInput|null);

                        /** StreamingDetectIntentRequest outputAudioConfig */
                        outputAudioConfig?: (google.cloud.dialogflow.cx.v3.IOutputAudioConfig|null);

                        /** StreamingDetectIntentRequest enablePartialResponse */
                        enablePartialResponse?: (boolean|null);

                        /** StreamingDetectIntentRequest enableDebuggingInfo */
                        enableDebuggingInfo?: (boolean|null);
                    }

                    /** Represents a StreamingDetectIntentRequest. */
                    class StreamingDetectIntentRequest implements IStreamingDetectIntentRequest {

                        /**
                         * Constructs a new StreamingDetectIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IStreamingDetectIntentRequest);

                        /** StreamingDetectIntentRequest session. */
                        public session: string;

                        /** StreamingDetectIntentRequest queryParams. */
                        public queryParams?: (google.cloud.dialogflow.cx.v3.IQueryParameters|null);

                        /** StreamingDetectIntentRequest queryInput. */
                        public queryInput?: (google.cloud.dialogflow.cx.v3.IQueryInput|null);

                        /** StreamingDetectIntentRequest outputAudioConfig. */
                        public outputAudioConfig?: (google.cloud.dialogflow.cx.v3.IOutputAudioConfig|null);

                        /** StreamingDetectIntentRequest enablePartialResponse. */
                        public enablePartialResponse: boolean;

                        /** StreamingDetectIntentRequest enableDebuggingInfo. */
                        public enableDebuggingInfo: boolean;

                        /**
                         * Creates a new StreamingDetectIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns StreamingDetectIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IStreamingDetectIntentRequest): google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest;

                        /**
                         * Encodes the specified StreamingDetectIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest.verify|verify} messages.
                         * @param message StreamingDetectIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IStreamingDetectIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified StreamingDetectIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest.verify|verify} messages.
                         * @param message StreamingDetectIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IStreamingDetectIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a StreamingDetectIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns StreamingDetectIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest;

                        /**
                         * Decodes a StreamingDetectIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns StreamingDetectIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest;

                        /**
                         * Verifies a StreamingDetectIntentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a StreamingDetectIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns StreamingDetectIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest;

                        /**
                         * Creates a plain object from a StreamingDetectIntentRequest message. Also converts values to other types if specified.
                         * @param message StreamingDetectIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.StreamingDetectIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this StreamingDetectIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for StreamingDetectIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CloudConversationDebuggingInfo. */
                    interface ICloudConversationDebuggingInfo {

                        /** CloudConversationDebuggingInfo audioDataChunks */
                        audioDataChunks?: (number|null);

                        /** CloudConversationDebuggingInfo resultEndTimeOffset */
                        resultEndTimeOffset?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo firstAudioDuration */
                        firstAudioDuration?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo singleUtterance */
                        singleUtterance?: (boolean|null);

                        /** CloudConversationDebuggingInfo speechPartialResultsEndTimes */
                        speechPartialResultsEndTimes?: (google.protobuf.IDuration[]|null);

                        /** CloudConversationDebuggingInfo speechFinalResultsEndTimes */
                        speechFinalResultsEndTimes?: (google.protobuf.IDuration[]|null);

                        /** CloudConversationDebuggingInfo partialResponses */
                        partialResponses?: (number|null);

                        /** CloudConversationDebuggingInfo speakerIdPassiveLatencyMsOffset */
                        speakerIdPassiveLatencyMsOffset?: (number|null);

                        /** CloudConversationDebuggingInfo bargeinEventTriggered */
                        bargeinEventTriggered?: (boolean|null);

                        /** CloudConversationDebuggingInfo speechSingleUtterance */
                        speechSingleUtterance?: (boolean|null);

                        /** CloudConversationDebuggingInfo dtmfPartialResultsTimes */
                        dtmfPartialResultsTimes?: (google.protobuf.IDuration[]|null);

                        /** CloudConversationDebuggingInfo dtmfFinalResultsTimes */
                        dtmfFinalResultsTimes?: (google.protobuf.IDuration[]|null);

                        /** CloudConversationDebuggingInfo singleUtteranceEndTimeOffset */
                        singleUtteranceEndTimeOffset?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo noSpeechTimeout */
                        noSpeechTimeout?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo endpointingTimeout */
                        endpointingTimeout?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo isInputText */
                        isInputText?: (boolean|null);

                        /** CloudConversationDebuggingInfo clientHalfCloseTimeOffset */
                        clientHalfCloseTimeOffset?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo clientHalfCloseStreamingTimeOffset */
                        clientHalfCloseStreamingTimeOffset?: (google.protobuf.IDuration|null);
                    }

                    /** Represents a CloudConversationDebuggingInfo. */
                    class CloudConversationDebuggingInfo implements ICloudConversationDebuggingInfo {

                        /**
                         * Constructs a new CloudConversationDebuggingInfo.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICloudConversationDebuggingInfo);

                        /** CloudConversationDebuggingInfo audioDataChunks. */
                        public audioDataChunks: number;

                        /** CloudConversationDebuggingInfo resultEndTimeOffset. */
                        public resultEndTimeOffset?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo firstAudioDuration. */
                        public firstAudioDuration?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo singleUtterance. */
                        public singleUtterance: boolean;

                        /** CloudConversationDebuggingInfo speechPartialResultsEndTimes. */
                        public speechPartialResultsEndTimes: google.protobuf.IDuration[];

                        /** CloudConversationDebuggingInfo speechFinalResultsEndTimes. */
                        public speechFinalResultsEndTimes: google.protobuf.IDuration[];

                        /** CloudConversationDebuggingInfo partialResponses. */
                        public partialResponses: number;

                        /** CloudConversationDebuggingInfo speakerIdPassiveLatencyMsOffset. */
                        public speakerIdPassiveLatencyMsOffset: number;

                        /** CloudConversationDebuggingInfo bargeinEventTriggered. */
                        public bargeinEventTriggered: boolean;

                        /** CloudConversationDebuggingInfo speechSingleUtterance. */
                        public speechSingleUtterance: boolean;

                        /** CloudConversationDebuggingInfo dtmfPartialResultsTimes. */
                        public dtmfPartialResultsTimes: google.protobuf.IDuration[];

                        /** CloudConversationDebuggingInfo dtmfFinalResultsTimes. */
                        public dtmfFinalResultsTimes: google.protobuf.IDuration[];

                        /** CloudConversationDebuggingInfo singleUtteranceEndTimeOffset. */
                        public singleUtteranceEndTimeOffset?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo noSpeechTimeout. */
                        public noSpeechTimeout?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo endpointingTimeout. */
                        public endpointingTimeout?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo isInputText. */
                        public isInputText: boolean;

                        /** CloudConversationDebuggingInfo clientHalfCloseTimeOffset. */
                        public clientHalfCloseTimeOffset?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo clientHalfCloseStreamingTimeOffset. */
                        public clientHalfCloseStreamingTimeOffset?: (google.protobuf.IDuration|null);

                        /**
                         * Creates a new CloudConversationDebuggingInfo instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CloudConversationDebuggingInfo instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICloudConversationDebuggingInfo): google.cloud.dialogflow.cx.v3.CloudConversationDebuggingInfo;

                        /**
                         * Encodes the specified CloudConversationDebuggingInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CloudConversationDebuggingInfo.verify|verify} messages.
                         * @param message CloudConversationDebuggingInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICloudConversationDebuggingInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CloudConversationDebuggingInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CloudConversationDebuggingInfo.verify|verify} messages.
                         * @param message CloudConversationDebuggingInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICloudConversationDebuggingInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CloudConversationDebuggingInfo message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CloudConversationDebuggingInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CloudConversationDebuggingInfo;

                        /**
                         * Decodes a CloudConversationDebuggingInfo message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CloudConversationDebuggingInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CloudConversationDebuggingInfo;

                        /**
                         * Verifies a CloudConversationDebuggingInfo message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CloudConversationDebuggingInfo message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CloudConversationDebuggingInfo
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CloudConversationDebuggingInfo;

                        /**
                         * Creates a plain object from a CloudConversationDebuggingInfo message. Also converts values to other types if specified.
                         * @param message CloudConversationDebuggingInfo
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CloudConversationDebuggingInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CloudConversationDebuggingInfo to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CloudConversationDebuggingInfo
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a StreamingDetectIntentResponse. */
                    interface IStreamingDetectIntentResponse {

                        /** StreamingDetectIntentResponse recognitionResult */
                        recognitionResult?: (google.cloud.dialogflow.cx.v3.IStreamingRecognitionResult|null);

                        /** StreamingDetectIntentResponse detectIntentResponse */
                        detectIntentResponse?: (google.cloud.dialogflow.cx.v3.IDetectIntentResponse|null);

                        /** StreamingDetectIntentResponse debuggingInfo */
                        debuggingInfo?: (google.cloud.dialogflow.cx.v3.ICloudConversationDebuggingInfo|null);
                    }

                    /** Represents a StreamingDetectIntentResponse. */
                    class StreamingDetectIntentResponse implements IStreamingDetectIntentResponse {

                        /**
                         * Constructs a new StreamingDetectIntentResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IStreamingDetectIntentResponse);

                        /** StreamingDetectIntentResponse recognitionResult. */
                        public recognitionResult?: (google.cloud.dialogflow.cx.v3.IStreamingRecognitionResult|null);

                        /** StreamingDetectIntentResponse detectIntentResponse. */
                        public detectIntentResponse?: (google.cloud.dialogflow.cx.v3.IDetectIntentResponse|null);

                        /** StreamingDetectIntentResponse debuggingInfo. */
                        public debuggingInfo?: (google.cloud.dialogflow.cx.v3.ICloudConversationDebuggingInfo|null);

                        /** StreamingDetectIntentResponse response. */
                        public response?: ("recognitionResult"|"detectIntentResponse");

                        /**
                         * Creates a new StreamingDetectIntentResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns StreamingDetectIntentResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IStreamingDetectIntentResponse): google.cloud.dialogflow.cx.v3.StreamingDetectIntentResponse;

                        /**
                         * Encodes the specified StreamingDetectIntentResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.StreamingDetectIntentResponse.verify|verify} messages.
                         * @param message StreamingDetectIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IStreamingDetectIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified StreamingDetectIntentResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.StreamingDetectIntentResponse.verify|verify} messages.
                         * @param message StreamingDetectIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IStreamingDetectIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a StreamingDetectIntentResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns StreamingDetectIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.StreamingDetectIntentResponse;

                        /**
                         * Decodes a StreamingDetectIntentResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns StreamingDetectIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.StreamingDetectIntentResponse;

                        /**
                         * Verifies a StreamingDetectIntentResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a StreamingDetectIntentResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns StreamingDetectIntentResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.StreamingDetectIntentResponse;

                        /**
                         * Creates a plain object from a StreamingDetectIntentResponse message. Also converts values to other types if specified.
                         * @param message StreamingDetectIntentResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.StreamingDetectIntentResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this StreamingDetectIntentResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for StreamingDetectIntentResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a StreamingRecognitionResult. */
                    interface IStreamingRecognitionResult {

                        /** StreamingRecognitionResult messageType */
                        messageType?: (google.cloud.dialogflow.cx.v3.StreamingRecognitionResult.MessageType|keyof typeof google.cloud.dialogflow.cx.v3.StreamingRecognitionResult.MessageType|null);

                        /** StreamingRecognitionResult transcript */
                        transcript?: (string|null);

                        /** StreamingRecognitionResult isFinal */
                        isFinal?: (boolean|null);

                        /** StreamingRecognitionResult confidence */
                        confidence?: (number|null);

                        /** StreamingRecognitionResult stability */
                        stability?: (number|null);

                        /** StreamingRecognitionResult speechWordInfo */
                        speechWordInfo?: (google.cloud.dialogflow.cx.v3.ISpeechWordInfo[]|null);

                        /** StreamingRecognitionResult speechEndOffset */
                        speechEndOffset?: (google.protobuf.IDuration|null);

                        /** StreamingRecognitionResult languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a StreamingRecognitionResult. */
                    class StreamingRecognitionResult implements IStreamingRecognitionResult {

                        /**
                         * Constructs a new StreamingRecognitionResult.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IStreamingRecognitionResult);

                        /** StreamingRecognitionResult messageType. */
                        public messageType: (google.cloud.dialogflow.cx.v3.StreamingRecognitionResult.MessageType|keyof typeof google.cloud.dialogflow.cx.v3.StreamingRecognitionResult.MessageType);

                        /** StreamingRecognitionResult transcript. */
                        public transcript: string;

                        /** StreamingRecognitionResult isFinal. */
                        public isFinal: boolean;

                        /** StreamingRecognitionResult confidence. */
                        public confidence: number;

                        /** StreamingRecognitionResult stability. */
                        public stability: number;

                        /** StreamingRecognitionResult speechWordInfo. */
                        public speechWordInfo: google.cloud.dialogflow.cx.v3.ISpeechWordInfo[];

                        /** StreamingRecognitionResult speechEndOffset. */
                        public speechEndOffset?: (google.protobuf.IDuration|null);

                        /** StreamingRecognitionResult languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new StreamingRecognitionResult instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns StreamingRecognitionResult instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IStreamingRecognitionResult): google.cloud.dialogflow.cx.v3.StreamingRecognitionResult;

                        /**
                         * Encodes the specified StreamingRecognitionResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.StreamingRecognitionResult.verify|verify} messages.
                         * @param message StreamingRecognitionResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IStreamingRecognitionResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified StreamingRecognitionResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.StreamingRecognitionResult.verify|verify} messages.
                         * @param message StreamingRecognitionResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IStreamingRecognitionResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a StreamingRecognitionResult message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns StreamingRecognitionResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.StreamingRecognitionResult;

                        /**
                         * Decodes a StreamingRecognitionResult message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns StreamingRecognitionResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.StreamingRecognitionResult;

                        /**
                         * Verifies a StreamingRecognitionResult message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a StreamingRecognitionResult message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns StreamingRecognitionResult
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.StreamingRecognitionResult;

                        /**
                         * Creates a plain object from a StreamingRecognitionResult message. Also converts values to other types if specified.
                         * @param message StreamingRecognitionResult
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.StreamingRecognitionResult, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this StreamingRecognitionResult to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for StreamingRecognitionResult
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace StreamingRecognitionResult {

                        /** MessageType enum. */
                        enum MessageType {
                            MESSAGE_TYPE_UNSPECIFIED = 0,
                            TRANSCRIPT = 1,
                            END_OF_SINGLE_UTTERANCE = 2
                        }
                    }

                    /** Properties of a QueryParameters. */
                    interface IQueryParameters {

                        /** QueryParameters timeZone */
                        timeZone?: (string|null);

                        /** QueryParameters geoLocation */
                        geoLocation?: (google.type.ILatLng|null);

                        /** QueryParameters sessionEntityTypes */
                        sessionEntityTypes?: (google.cloud.dialogflow.cx.v3.ISessionEntityType[]|null);

                        /** QueryParameters payload */
                        payload?: (google.protobuf.IStruct|null);

                        /** QueryParameters parameters */
                        parameters?: (google.protobuf.IStruct|null);

                        /** QueryParameters currentPage */
                        currentPage?: (string|null);

                        /** QueryParameters disableWebhook */
                        disableWebhook?: (boolean|null);

                        /** QueryParameters analyzeQueryTextSentiment */
                        analyzeQueryTextSentiment?: (boolean|null);

                        /** QueryParameters webhookHeaders */
                        webhookHeaders?: ({ [k: string]: string }|null);

                        /** QueryParameters flowVersions */
                        flowVersions?: (string[]|null);

                        /** QueryParameters channel */
                        channel?: (string|null);

                        /** QueryParameters sessionTtl */
                        sessionTtl?: (google.protobuf.IDuration|null);

                        /** QueryParameters endUserMetadata */
                        endUserMetadata?: (google.protobuf.IStruct|null);

                        /** QueryParameters searchConfig */
                        searchConfig?: (google.cloud.dialogflow.cx.v3.ISearchConfig|null);

                        /** QueryParameters populateDataStoreConnectionSignals */
                        populateDataStoreConnectionSignals?: (boolean|null);
                    }

                    /** Represents a QueryParameters. */
                    class QueryParameters implements IQueryParameters {

                        /**
                         * Constructs a new QueryParameters.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IQueryParameters);

                        /** QueryParameters timeZone. */
                        public timeZone: string;

                        /** QueryParameters geoLocation. */
                        public geoLocation?: (google.type.ILatLng|null);

                        /** QueryParameters sessionEntityTypes. */
                        public sessionEntityTypes: google.cloud.dialogflow.cx.v3.ISessionEntityType[];

                        /** QueryParameters payload. */
                        public payload?: (google.protobuf.IStruct|null);

                        /** QueryParameters parameters. */
                        public parameters?: (google.protobuf.IStruct|null);

                        /** QueryParameters currentPage. */
                        public currentPage: string;

                        /** QueryParameters disableWebhook. */
                        public disableWebhook: boolean;

                        /** QueryParameters analyzeQueryTextSentiment. */
                        public analyzeQueryTextSentiment: boolean;

                        /** QueryParameters webhookHeaders. */
                        public webhookHeaders: { [k: string]: string };

                        /** QueryParameters flowVersions. */
                        public flowVersions: string[];

                        /** QueryParameters channel. */
                        public channel: string;

                        /** QueryParameters sessionTtl. */
                        public sessionTtl?: (google.protobuf.IDuration|null);

                        /** QueryParameters endUserMetadata. */
                        public endUserMetadata?: (google.protobuf.IStruct|null);

                        /** QueryParameters searchConfig. */
                        public searchConfig?: (google.cloud.dialogflow.cx.v3.ISearchConfig|null);

                        /** QueryParameters populateDataStoreConnectionSignals. */
                        public populateDataStoreConnectionSignals: boolean;

                        /**
                         * Creates a new QueryParameters instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns QueryParameters instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IQueryParameters): google.cloud.dialogflow.cx.v3.QueryParameters;

                        /**
                         * Encodes the specified QueryParameters message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.QueryParameters.verify|verify} messages.
                         * @param message QueryParameters message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IQueryParameters, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified QueryParameters message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.QueryParameters.verify|verify} messages.
                         * @param message QueryParameters message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IQueryParameters, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a QueryParameters message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns QueryParameters
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.QueryParameters;

                        /**
                         * Decodes a QueryParameters message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns QueryParameters
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.QueryParameters;

                        /**
                         * Verifies a QueryParameters message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a QueryParameters message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns QueryParameters
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.QueryParameters;

                        /**
                         * Creates a plain object from a QueryParameters message. Also converts values to other types if specified.
                         * @param message QueryParameters
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.QueryParameters, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this QueryParameters to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for QueryParameters
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a SearchConfig. */
                    interface ISearchConfig {

                        /** SearchConfig boostSpecs */
                        boostSpecs?: (google.cloud.dialogflow.cx.v3.IBoostSpecs[]|null);

                        /** SearchConfig filterSpecs */
                        filterSpecs?: (google.cloud.dialogflow.cx.v3.IFilterSpecs[]|null);
                    }

                    /** Represents a SearchConfig. */
                    class SearchConfig implements ISearchConfig {

                        /**
                         * Constructs a new SearchConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ISearchConfig);

                        /** SearchConfig boostSpecs. */
                        public boostSpecs: google.cloud.dialogflow.cx.v3.IBoostSpecs[];

                        /** SearchConfig filterSpecs. */
                        public filterSpecs: google.cloud.dialogflow.cx.v3.IFilterSpecs[];

                        /**
                         * Creates a new SearchConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SearchConfig instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ISearchConfig): google.cloud.dialogflow.cx.v3.SearchConfig;

                        /**
                         * Encodes the specified SearchConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SearchConfig.verify|verify} messages.
                         * @param message SearchConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ISearchConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SearchConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SearchConfig.verify|verify} messages.
                         * @param message SearchConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ISearchConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SearchConfig message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SearchConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.SearchConfig;

                        /**
                         * Decodes a SearchConfig message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SearchConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.SearchConfig;

                        /**
                         * Verifies a SearchConfig message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SearchConfig message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SearchConfig
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.SearchConfig;

                        /**
                         * Creates a plain object from a SearchConfig message. Also converts values to other types if specified.
                         * @param message SearchConfig
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.SearchConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SearchConfig to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SearchConfig
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a BoostSpec. */
                    interface IBoostSpec {

                        /** BoostSpec conditionBoostSpecs */
                        conditionBoostSpecs?: (google.cloud.dialogflow.cx.v3.BoostSpec.IConditionBoostSpec[]|null);
                    }

                    /** Represents a BoostSpec. */
                    class BoostSpec implements IBoostSpec {

                        /**
                         * Constructs a new BoostSpec.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IBoostSpec);

                        /** BoostSpec conditionBoostSpecs. */
                        public conditionBoostSpecs: google.cloud.dialogflow.cx.v3.BoostSpec.IConditionBoostSpec[];

                        /**
                         * Creates a new BoostSpec instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BoostSpec instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IBoostSpec): google.cloud.dialogflow.cx.v3.BoostSpec;

                        /**
                         * Encodes the specified BoostSpec message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BoostSpec.verify|verify} messages.
                         * @param message BoostSpec message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BoostSpec message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BoostSpec.verify|verify} messages.
                         * @param message BoostSpec message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a BoostSpec message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns BoostSpec
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.BoostSpec;

                        /**
                         * Decodes a BoostSpec message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns BoostSpec
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.BoostSpec;

                        /**
                         * Verifies a BoostSpec message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a BoostSpec message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns BoostSpec
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.BoostSpec;

                        /**
                         * Creates a plain object from a BoostSpec message. Also converts values to other types if specified.
                         * @param message BoostSpec
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.BoostSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this BoostSpec to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for BoostSpec
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace BoostSpec {

                        /** Properties of a ConditionBoostSpec. */
                        interface IConditionBoostSpec {

                            /** ConditionBoostSpec condition */
                            condition?: (string|null);

                            /** ConditionBoostSpec boost */
                            boost?: (number|null);

                            /** ConditionBoostSpec boostControlSpec */
                            boostControlSpec?: (google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.IBoostControlSpec|null);
                        }

                        /** Represents a ConditionBoostSpec. */
                        class ConditionBoostSpec implements IConditionBoostSpec {

                            /**
                             * Constructs a new ConditionBoostSpec.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.BoostSpec.IConditionBoostSpec);

                            /** ConditionBoostSpec condition. */
                            public condition: string;

                            /** ConditionBoostSpec boost. */
                            public boost: number;

                            /** ConditionBoostSpec boostControlSpec. */
                            public boostControlSpec?: (google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.IBoostControlSpec|null);

                            /**
                             * Creates a new ConditionBoostSpec instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ConditionBoostSpec instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.BoostSpec.IConditionBoostSpec): google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec;

                            /**
                             * Encodes the specified ConditionBoostSpec message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.verify|verify} messages.
                             * @param message ConditionBoostSpec message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.BoostSpec.IConditionBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ConditionBoostSpec message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.verify|verify} messages.
                             * @param message ConditionBoostSpec message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.BoostSpec.IConditionBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ConditionBoostSpec message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ConditionBoostSpec
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec;

                            /**
                             * Decodes a ConditionBoostSpec message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ConditionBoostSpec
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec;

                            /**
                             * Verifies a ConditionBoostSpec message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ConditionBoostSpec message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ConditionBoostSpec
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec;

                            /**
                             * Creates a plain object from a ConditionBoostSpec message. Also converts values to other types if specified.
                             * @param message ConditionBoostSpec
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ConditionBoostSpec to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ConditionBoostSpec
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace ConditionBoostSpec {

                            /** Properties of a BoostControlSpec. */
                            interface IBoostControlSpec {

                                /** BoostControlSpec fieldName */
                                fieldName?: (string|null);

                                /** BoostControlSpec attributeType */
                                attributeType?: (google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType|keyof typeof google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType|null);

                                /** BoostControlSpec interpolationType */
                                interpolationType?: (google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType|keyof typeof google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType|null);

                                /** BoostControlSpec controlPoints */
                                controlPoints?: (google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.IControlPoint[]|null);
                            }

                            /** Represents a BoostControlSpec. */
                            class BoostControlSpec implements IBoostControlSpec {

                                /**
                                 * Constructs a new BoostControlSpec.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.IBoostControlSpec);

                                /** BoostControlSpec fieldName. */
                                public fieldName: string;

                                /** BoostControlSpec attributeType. */
                                public attributeType: (google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType|keyof typeof google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType);

                                /** BoostControlSpec interpolationType. */
                                public interpolationType: (google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType|keyof typeof google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType);

                                /** BoostControlSpec controlPoints. */
                                public controlPoints: google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.IControlPoint[];

                                /**
                                 * Creates a new BoostControlSpec instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns BoostControlSpec instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.IBoostControlSpec): google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec;

                                /**
                                 * Encodes the specified BoostControlSpec message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.verify|verify} messages.
                                 * @param message BoostControlSpec message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.IBoostControlSpec, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified BoostControlSpec message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.verify|verify} messages.
                                 * @param message BoostControlSpec message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.IBoostControlSpec, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a BoostControlSpec message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns BoostControlSpec
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec;

                                /**
                                 * Decodes a BoostControlSpec message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns BoostControlSpec
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec;

                                /**
                                 * Verifies a BoostControlSpec message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a BoostControlSpec message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns BoostControlSpec
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec;

                                /**
                                 * Creates a plain object from a BoostControlSpec message. Also converts values to other types if specified.
                                 * @param message BoostControlSpec
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this BoostControlSpec to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for BoostControlSpec
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            namespace BoostControlSpec {

                                /** AttributeType enum. */
                                enum AttributeType {
                                    ATTRIBUTE_TYPE_UNSPECIFIED = 0,
                                    NUMERICAL = 1,
                                    FRESHNESS = 2
                                }

                                /** InterpolationType enum. */
                                enum InterpolationType {
                                    INTERPOLATION_TYPE_UNSPECIFIED = 0,
                                    LINEAR = 1
                                }

                                /** Properties of a ControlPoint. */
                                interface IControlPoint {

                                    /** ControlPoint attributeValue */
                                    attributeValue?: (string|null);

                                    /** ControlPoint boostAmount */
                                    boostAmount?: (number|null);
                                }

                                /** Represents a ControlPoint. */
                                class ControlPoint implements IControlPoint {

                                    /**
                                     * Constructs a new ControlPoint.
                                     * @param [properties] Properties to set
                                     */
                                    constructor(properties?: google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.IControlPoint);

                                    /** ControlPoint attributeValue. */
                                    public attributeValue: string;

                                    /** ControlPoint boostAmount. */
                                    public boostAmount: number;

                                    /**
                                     * Creates a new ControlPoint instance using the specified properties.
                                     * @param [properties] Properties to set
                                     * @returns ControlPoint instance
                                     */
                                    public static create(properties?: google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.IControlPoint): google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint;

                                    /**
                                     * Encodes the specified ControlPoint message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint.verify|verify} messages.
                                     * @param message ControlPoint message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encode(message: google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.IControlPoint, writer?: $protobuf.Writer): $protobuf.Writer;

                                    /**
                                     * Encodes the specified ControlPoint message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint.verify|verify} messages.
                                     * @param message ControlPoint message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.IControlPoint, writer?: $protobuf.Writer): $protobuf.Writer;

                                    /**
                                     * Decodes a ControlPoint message from the specified reader or buffer.
                                     * @param reader Reader or buffer to decode from
                                     * @param [length] Message length if known beforehand
                                     * @returns ControlPoint
                                     * @throws {Error} If the payload is not a reader or valid buffer
                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                     */
                                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint;

                                    /**
                                     * Decodes a ControlPoint message from the specified reader or buffer, length delimited.
                                     * @param reader Reader or buffer to decode from
                                     * @returns ControlPoint
                                     * @throws {Error} If the payload is not a reader or valid buffer
                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                     */
                                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint;

                                    /**
                                     * Verifies a ControlPoint message.
                                     * @param message Plain object to verify
                                     * @returns `null` if valid, otherwise the reason why it is not
                                     */
                                    public static verify(message: { [k: string]: any }): (string|null);

                                    /**
                                     * Creates a ControlPoint message from a plain object. Also converts values to their respective internal types.
                                     * @param object Plain object
                                     * @returns ControlPoint
                                     */
                                    public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint;

                                    /**
                                     * Creates a plain object from a ControlPoint message. Also converts values to other types if specified.
                                     * @param message ControlPoint
                                     * @param [options] Conversion options
                                     * @returns Plain object
                                     */
                                    public static toObject(message: google.cloud.dialogflow.cx.v3.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                    /**
                                     * Converts this ControlPoint to JSON.
                                     * @returns JSON object
                                     */
                                    public toJSON(): { [k: string]: any };

                                    /**
                                     * Gets the default type url for ControlPoint
                                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                     * @returns The default type url
                                     */
                                    public static getTypeUrl(typeUrlPrefix?: string): string;
                                }
                            }
                        }
                    }

                    /** Properties of a BoostSpecs. */
                    interface IBoostSpecs {

                        /** BoostSpecs dataStores */
                        dataStores?: (string[]|null);

                        /** BoostSpecs spec */
                        spec?: (google.cloud.dialogflow.cx.v3.IBoostSpec[]|null);
                    }

                    /** Represents a BoostSpecs. */
                    class BoostSpecs implements IBoostSpecs {

                        /**
                         * Constructs a new BoostSpecs.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IBoostSpecs);

                        /** BoostSpecs dataStores. */
                        public dataStores: string[];

                        /** BoostSpecs spec. */
                        public spec: google.cloud.dialogflow.cx.v3.IBoostSpec[];

                        /**
                         * Creates a new BoostSpecs instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BoostSpecs instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IBoostSpecs): google.cloud.dialogflow.cx.v3.BoostSpecs;

                        /**
                         * Encodes the specified BoostSpecs message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BoostSpecs.verify|verify} messages.
                         * @param message BoostSpecs message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IBoostSpecs, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BoostSpecs message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.BoostSpecs.verify|verify} messages.
                         * @param message BoostSpecs message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IBoostSpecs, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a BoostSpecs message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns BoostSpecs
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.BoostSpecs;

                        /**
                         * Decodes a BoostSpecs message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns BoostSpecs
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.BoostSpecs;

                        /**
                         * Verifies a BoostSpecs message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a BoostSpecs message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns BoostSpecs
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.BoostSpecs;

                        /**
                         * Creates a plain object from a BoostSpecs message. Also converts values to other types if specified.
                         * @param message BoostSpecs
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.BoostSpecs, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this BoostSpecs to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for BoostSpecs
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a FilterSpecs. */
                    interface IFilterSpecs {

                        /** FilterSpecs dataStores */
                        dataStores?: (string[]|null);

                        /** FilterSpecs filter */
                        filter?: (string|null);
                    }

                    /** Represents a FilterSpecs. */
                    class FilterSpecs implements IFilterSpecs {

                        /**
                         * Constructs a new FilterSpecs.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IFilterSpecs);

                        /** FilterSpecs dataStores. */
                        public dataStores: string[];

                        /** FilterSpecs filter. */
                        public filter: string;

                        /**
                         * Creates a new FilterSpecs instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns FilterSpecs instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IFilterSpecs): google.cloud.dialogflow.cx.v3.FilterSpecs;

                        /**
                         * Encodes the specified FilterSpecs message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.FilterSpecs.verify|verify} messages.
                         * @param message FilterSpecs message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IFilterSpecs, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified FilterSpecs message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.FilterSpecs.verify|verify} messages.
                         * @param message FilterSpecs message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IFilterSpecs, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a FilterSpecs message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns FilterSpecs
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.FilterSpecs;

                        /**
                         * Decodes a FilterSpecs message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns FilterSpecs
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.FilterSpecs;

                        /**
                         * Verifies a FilterSpecs message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a FilterSpecs message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns FilterSpecs
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.FilterSpecs;

                        /**
                         * Creates a plain object from a FilterSpecs message. Also converts values to other types if specified.
                         * @param message FilterSpecs
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.FilterSpecs, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this FilterSpecs to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for FilterSpecs
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a QueryInput. */
                    interface IQueryInput {

                        /** QueryInput text */
                        text?: (google.cloud.dialogflow.cx.v3.ITextInput|null);

                        /** QueryInput intent */
                        intent?: (google.cloud.dialogflow.cx.v3.IIntentInput|null);

                        /** QueryInput audio */
                        audio?: (google.cloud.dialogflow.cx.v3.IAudioInput|null);

                        /** QueryInput event */
                        event?: (google.cloud.dialogflow.cx.v3.IEventInput|null);

                        /** QueryInput dtmf */
                        dtmf?: (google.cloud.dialogflow.cx.v3.IDtmfInput|null);

                        /** QueryInput languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a QueryInput. */
                    class QueryInput implements IQueryInput {

                        /**
                         * Constructs a new QueryInput.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IQueryInput);

                        /** QueryInput text. */
                        public text?: (google.cloud.dialogflow.cx.v3.ITextInput|null);

                        /** QueryInput intent. */
                        public intent?: (google.cloud.dialogflow.cx.v3.IIntentInput|null);

                        /** QueryInput audio. */
                        public audio?: (google.cloud.dialogflow.cx.v3.IAudioInput|null);

                        /** QueryInput event. */
                        public event?: (google.cloud.dialogflow.cx.v3.IEventInput|null);

                        /** QueryInput dtmf. */
                        public dtmf?: (google.cloud.dialogflow.cx.v3.IDtmfInput|null);

                        /** QueryInput languageCode. */
                        public languageCode: string;

                        /** QueryInput input. */
                        public input?: ("text"|"intent"|"audio"|"event"|"dtmf");

                        /**
                         * Creates a new QueryInput instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns QueryInput instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IQueryInput): google.cloud.dialogflow.cx.v3.QueryInput;

                        /**
                         * Encodes the specified QueryInput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.QueryInput.verify|verify} messages.
                         * @param message QueryInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IQueryInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified QueryInput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.QueryInput.verify|verify} messages.
                         * @param message QueryInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IQueryInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a QueryInput message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns QueryInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.QueryInput;

                        /**
                         * Decodes a QueryInput message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns QueryInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.QueryInput;

                        /**
                         * Verifies a QueryInput message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a QueryInput message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns QueryInput
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.QueryInput;

                        /**
                         * Creates a plain object from a QueryInput message. Also converts values to other types if specified.
                         * @param message QueryInput
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.QueryInput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this QueryInput to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for QueryInput
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a QueryResult. */
                    interface IQueryResult {

                        /** QueryResult text */
                        text?: (string|null);

                        /** QueryResult triggerIntent */
                        triggerIntent?: (string|null);

                        /** QueryResult transcript */
                        transcript?: (string|null);

                        /** QueryResult triggerEvent */
                        triggerEvent?: (string|null);

                        /** QueryResult dtmf */
                        dtmf?: (google.cloud.dialogflow.cx.v3.IDtmfInput|null);

                        /** QueryResult languageCode */
                        languageCode?: (string|null);

                        /** QueryResult parameters */
                        parameters?: (google.protobuf.IStruct|null);

                        /** QueryResult responseMessages */
                        responseMessages?: (google.cloud.dialogflow.cx.v3.IResponseMessage[]|null);

                        /** QueryResult webhookIds */
                        webhookIds?: (string[]|null);

                        /** QueryResult webhookDisplayNames */
                        webhookDisplayNames?: (string[]|null);

                        /** QueryResult webhookLatencies */
                        webhookLatencies?: (google.protobuf.IDuration[]|null);

                        /** QueryResult webhookTags */
                        webhookTags?: (string[]|null);

                        /** QueryResult webhookStatuses */
                        webhookStatuses?: (google.rpc.IStatus[]|null);

                        /** QueryResult webhookPayloads */
                        webhookPayloads?: (google.protobuf.IStruct[]|null);

                        /** QueryResult currentPage */
                        currentPage?: (google.cloud.dialogflow.cx.v3.IPage|null);

                        /** QueryResult currentFlow */
                        currentFlow?: (google.cloud.dialogflow.cx.v3.IFlow|null);

                        /** QueryResult intent */
                        intent?: (google.cloud.dialogflow.cx.v3.IIntent|null);

                        /** QueryResult intentDetectionConfidence */
                        intentDetectionConfidence?: (number|null);

                        /** QueryResult match */
                        match?: (google.cloud.dialogflow.cx.v3.IMatch|null);

                        /** QueryResult diagnosticInfo */
                        diagnosticInfo?: (google.protobuf.IStruct|null);

                        /** QueryResult sentimentAnalysisResult */
                        sentimentAnalysisResult?: (google.cloud.dialogflow.cx.v3.ISentimentAnalysisResult|null);

                        /** QueryResult advancedSettings */
                        advancedSettings?: (google.cloud.dialogflow.cx.v3.IAdvancedSettings|null);

                        /** QueryResult allowAnswerFeedback */
                        allowAnswerFeedback?: (boolean|null);

                        /** QueryResult dataStoreConnectionSignals */
                        dataStoreConnectionSignals?: (google.cloud.dialogflow.cx.v3.IDataStoreConnectionSignals|null);
                    }

                    /** Represents a QueryResult. */
                    class QueryResult implements IQueryResult {

                        /**
                         * Constructs a new QueryResult.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IQueryResult);

                        /** QueryResult text. */
                        public text?: (string|null);

                        /** QueryResult triggerIntent. */
                        public triggerIntent?: (string|null);

                        /** QueryResult transcript. */
                        public transcript?: (string|null);

                        /** QueryResult triggerEvent. */
                        public triggerEvent?: (string|null);

                        /** QueryResult dtmf. */
                        public dtmf?: (google.cloud.dialogflow.cx.v3.IDtmfInput|null);

                        /** QueryResult languageCode. */
                        public languageCode: string;

                        /** QueryResult parameters. */
                        public parameters?: (google.protobuf.IStruct|null);

                        /** QueryResult responseMessages. */
                        public responseMessages: google.cloud.dialogflow.cx.v3.IResponseMessage[];

                        /** QueryResult webhookIds. */
                        public webhookIds: string[];

                        /** QueryResult webhookDisplayNames. */
                        public webhookDisplayNames: string[];

                        /** QueryResult webhookLatencies. */
                        public webhookLatencies: google.protobuf.IDuration[];

                        /** QueryResult webhookTags. */
                        public webhookTags: string[];

                        /** QueryResult webhookStatuses. */
                        public webhookStatuses: google.rpc.IStatus[];

                        /** QueryResult webhookPayloads. */
                        public webhookPayloads: google.protobuf.IStruct[];

                        /** QueryResult currentPage. */
                        public currentPage?: (google.cloud.dialogflow.cx.v3.IPage|null);

                        /** QueryResult currentFlow. */
                        public currentFlow?: (google.cloud.dialogflow.cx.v3.IFlow|null);

                        /** QueryResult intent. */
                        public intent?: (google.cloud.dialogflow.cx.v3.IIntent|null);

                        /** QueryResult intentDetectionConfidence. */
                        public intentDetectionConfidence: number;

                        /** QueryResult match. */
                        public match?: (google.cloud.dialogflow.cx.v3.IMatch|null);

                        /** QueryResult diagnosticInfo. */
                        public diagnosticInfo?: (google.protobuf.IStruct|null);

                        /** QueryResult sentimentAnalysisResult. */
                        public sentimentAnalysisResult?: (google.cloud.dialogflow.cx.v3.ISentimentAnalysisResult|null);

                        /** QueryResult advancedSettings. */
                        public advancedSettings?: (google.cloud.dialogflow.cx.v3.IAdvancedSettings|null);

                        /** QueryResult allowAnswerFeedback. */
                        public allowAnswerFeedback: boolean;

                        /** QueryResult dataStoreConnectionSignals. */
                        public dataStoreConnectionSignals?: (google.cloud.dialogflow.cx.v3.IDataStoreConnectionSignals|null);

                        /** QueryResult query. */
                        public query?: ("text"|"triggerIntent"|"transcript"|"triggerEvent"|"dtmf");

                        /**
                         * Creates a new QueryResult instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns QueryResult instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IQueryResult): google.cloud.dialogflow.cx.v3.QueryResult;

                        /**
                         * Encodes the specified QueryResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.QueryResult.verify|verify} messages.
                         * @param message QueryResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IQueryResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified QueryResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.QueryResult.verify|verify} messages.
                         * @param message QueryResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IQueryResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a QueryResult message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns QueryResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.QueryResult;

                        /**
                         * Decodes a QueryResult message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns QueryResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.QueryResult;

                        /**
                         * Verifies a QueryResult message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a QueryResult message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns QueryResult
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.QueryResult;

                        /**
                         * Creates a plain object from a QueryResult message. Also converts values to other types if specified.
                         * @param message QueryResult
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.QueryResult, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this QueryResult to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for QueryResult
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a TextInput. */
                    interface ITextInput {

                        /** TextInput text */
                        text?: (string|null);
                    }

                    /** Represents a TextInput. */
                    class TextInput implements ITextInput {

                        /**
                         * Constructs a new TextInput.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ITextInput);

                        /** TextInput text. */
                        public text: string;

                        /**
                         * Creates a new TextInput instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TextInput instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ITextInput): google.cloud.dialogflow.cx.v3.TextInput;

                        /**
                         * Encodes the specified TextInput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TextInput.verify|verify} messages.
                         * @param message TextInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ITextInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TextInput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TextInput.verify|verify} messages.
                         * @param message TextInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ITextInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TextInput message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TextInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.TextInput;

                        /**
                         * Decodes a TextInput message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TextInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.TextInput;

                        /**
                         * Verifies a TextInput message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TextInput message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TextInput
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.TextInput;

                        /**
                         * Creates a plain object from a TextInput message. Also converts values to other types if specified.
                         * @param message TextInput
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.TextInput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TextInput to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TextInput
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an IntentInput. */
                    interface IIntentInput {

                        /** IntentInput intent */
                        intent?: (string|null);
                    }

                    /** Represents an IntentInput. */
                    class IntentInput implements IIntentInput {

                        /**
                         * Constructs a new IntentInput.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IIntentInput);

                        /** IntentInput intent. */
                        public intent: string;

                        /**
                         * Creates a new IntentInput instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns IntentInput instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IIntentInput): google.cloud.dialogflow.cx.v3.IntentInput;

                        /**
                         * Encodes the specified IntentInput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.IntentInput.verify|verify} messages.
                         * @param message IntentInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IIntentInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified IntentInput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.IntentInput.verify|verify} messages.
                         * @param message IntentInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IIntentInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an IntentInput message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns IntentInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.IntentInput;

                        /**
                         * Decodes an IntentInput message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns IntentInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.IntentInput;

                        /**
                         * Verifies an IntentInput message.
                         * @param message Plain 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 IntentInput message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns IntentInput
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.IntentInput;

                        /**
                         * Creates a plain object from an IntentInput message. Also converts values to other types if specified.
                         * @param message IntentInput
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.IntentInput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this IntentInput to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for IntentInput
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an AudioInput. */
                    interface IAudioInput {

                        /** AudioInput config */
                        config?: (google.cloud.dialogflow.cx.v3.IInputAudioConfig|null);

                        /** AudioInput audio */
                        audio?: (Uint8Array|Buffer|string|null);
                    }

                    /** Represents an AudioInput. */
                    class AudioInput implements IAudioInput {

                        /**
                         * Constructs a new AudioInput.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IAudioInput);

                        /** AudioInput config. */
                        public config?: (google.cloud.dialogflow.cx.v3.IInputAudioConfig|null);

                        /** AudioInput audio. */
                        public audio: (Uint8Array|Buffer|string);

                        /**
                         * Creates a new AudioInput instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns AudioInput instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IAudioInput): google.cloud.dialogflow.cx.v3.AudioInput;

                        /**
                         * Encodes the specified AudioInput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AudioInput.verify|verify} messages.
                         * @param message AudioInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IAudioInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified AudioInput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.AudioInput.verify|verify} messages.
                         * @param message AudioInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IAudioInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an AudioInput message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns AudioInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.AudioInput;

                        /**
                         * Decodes an AudioInput message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns AudioInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.AudioInput;

                        /**
                         * Verifies an AudioInput message.
                         * @param message Plain 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 AudioInput message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns AudioInput
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.AudioInput;

                        /**
                         * Creates a plain object from an AudioInput message. Also converts values to other types if specified.
                         * @param message AudioInput
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.AudioInput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this AudioInput to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for AudioInput
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an EventInput. */
                    interface IEventInput {

                        /** EventInput event */
                        event?: (string|null);
                    }

                    /** Represents an EventInput. */
                    class EventInput implements IEventInput {

                        /**
                         * Constructs a new EventInput.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IEventInput);

                        /** EventInput event. */
                        public event: string;

                        /**
                         * Creates a new EventInput instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns EventInput instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IEventInput): google.cloud.dialogflow.cx.v3.EventInput;

                        /**
                         * Encodes the specified EventInput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.EventInput.verify|verify} messages.
                         * @param message EventInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IEventInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified EventInput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.EventInput.verify|verify} messages.
                         * @param message EventInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IEventInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an EventInput message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns EventInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.EventInput;

                        /**
                         * Decodes an EventInput message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns EventInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.EventInput;

                        /**
                         * Verifies an EventInput message.
                         * @param message Plain 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 EventInput message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns EventInput
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.EventInput;

                        /**
                         * Creates a plain object from an EventInput message. Also converts values to other types if specified.
                         * @param message EventInput
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.EventInput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this EventInput to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for EventInput
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DtmfInput. */
                    interface IDtmfInput {

                        /** DtmfInput digits */
                        digits?: (string|null);

                        /** DtmfInput finishDigit */
                        finishDigit?: (string|null);
                    }

                    /** Represents a DtmfInput. */
                    class DtmfInput implements IDtmfInput {

                        /**
                         * Constructs a new DtmfInput.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDtmfInput);

                        /** DtmfInput digits. */
                        public digits: string;

                        /** DtmfInput finishDigit. */
                        public finishDigit: string;

                        /**
                         * Creates a new DtmfInput instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DtmfInput instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDtmfInput): google.cloud.dialogflow.cx.v3.DtmfInput;

                        /**
                         * Encodes the specified DtmfInput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DtmfInput.verify|verify} messages.
                         * @param message DtmfInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDtmfInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DtmfInput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DtmfInput.verify|verify} messages.
                         * @param message DtmfInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDtmfInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DtmfInput message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DtmfInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DtmfInput;

                        /**
                         * Decodes a DtmfInput message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DtmfInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DtmfInput;

                        /**
                         * Verifies a DtmfInput message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DtmfInput message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DtmfInput
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DtmfInput;

                        /**
                         * Creates a plain object from a DtmfInput message. Also converts values to other types if specified.
                         * @param message DtmfInput
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DtmfInput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DtmfInput to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DtmfInput
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a Match. */
                    interface IMatch {

                        /** Match intent */
                        intent?: (google.cloud.dialogflow.cx.v3.IIntent|null);

                        /** Match event */
                        event?: (string|null);

                        /** Match parameters */
                        parameters?: (google.protobuf.IStruct|null);

                        /** Match resolvedInput */
                        resolvedInput?: (string|null);

                        /** Match matchType */
                        matchType?: (google.cloud.dialogflow.cx.v3.Match.MatchType|keyof typeof google.cloud.dialogflow.cx.v3.Match.MatchType|null);

                        /** Match confidence */
                        confidence?: (number|null);
                    }

                    /** Represents a Match. */
                    class Match implements IMatch {

                        /**
                         * Constructs a new Match.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IMatch);

                        /** Match intent. */
                        public intent?: (google.cloud.dialogflow.cx.v3.IIntent|null);

                        /** Match event. */
                        public event: string;

                        /** Match parameters. */
                        public parameters?: (google.protobuf.IStruct|null);

                        /** Match resolvedInput. */
                        public resolvedInput: string;

                        /** Match matchType. */
                        public matchType: (google.cloud.dialogflow.cx.v3.Match.MatchType|keyof typeof google.cloud.dialogflow.cx.v3.Match.MatchType);

                        /** Match confidence. */
                        public confidence: number;

                        /**
                         * Creates a new Match instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Match instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IMatch): google.cloud.dialogflow.cx.v3.Match;

                        /**
                         * Encodes the specified Match message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Match.verify|verify} messages.
                         * @param message Match message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IMatch, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Match message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Match.verify|verify} messages.
                         * @param message Match message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IMatch, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Match message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Match
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Match;

                        /**
                         * Decodes a Match message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Match
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Match;

                        /**
                         * Verifies a Match message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Match message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Match
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Match;

                        /**
                         * Creates a plain object from a Match message. Also converts values to other types if specified.
                         * @param message Match
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.Match, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Match to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Match
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Match {

                        /** MatchType enum. */
                        enum MatchType {
                            MATCH_TYPE_UNSPECIFIED = 0,
                            INTENT = 1,
                            DIRECT_INTENT = 2,
                            PARAMETER_FILLING = 3,
                            NO_MATCH = 4,
                            NO_INPUT = 5,
                            EVENT = 6,
                            KNOWLEDGE_CONNECTOR = 8,
                            PLAYBOOK = 9
                        }
                    }

                    /** Properties of a MatchIntentRequest. */
                    interface IMatchIntentRequest {

                        /** MatchIntentRequest session */
                        session?: (string|null);

                        /** MatchIntentRequest queryParams */
                        queryParams?: (google.cloud.dialogflow.cx.v3.IQueryParameters|null);

                        /** MatchIntentRequest queryInput */
                        queryInput?: (google.cloud.dialogflow.cx.v3.IQueryInput|null);

                        /** MatchIntentRequest persistParameterChanges */
                        persistParameterChanges?: (boolean|null);
                    }

                    /** Represents a MatchIntentRequest. */
                    class MatchIntentRequest implements IMatchIntentRequest {

                        /**
                         * Constructs a new MatchIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IMatchIntentRequest);

                        /** MatchIntentRequest session. */
                        public session: string;

                        /** MatchIntentRequest queryParams. */
                        public queryParams?: (google.cloud.dialogflow.cx.v3.IQueryParameters|null);

                        /** MatchIntentRequest queryInput. */
                        public queryInput?: (google.cloud.dialogflow.cx.v3.IQueryInput|null);

                        /** MatchIntentRequest persistParameterChanges. */
                        public persistParameterChanges: boolean;

                        /**
                         * Creates a new MatchIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns MatchIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IMatchIntentRequest): google.cloud.dialogflow.cx.v3.MatchIntentRequest;

                        /**
                         * Encodes the specified MatchIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.MatchIntentRequest.verify|verify} messages.
                         * @param message MatchIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IMatchIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified MatchIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.MatchIntentRequest.verify|verify} messages.
                         * @param message MatchIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IMatchIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a MatchIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns MatchIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.MatchIntentRequest;

                        /**
                         * Decodes a MatchIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns MatchIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.MatchIntentRequest;

                        /**
                         * Verifies a MatchIntentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a MatchIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns MatchIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.MatchIntentRequest;

                        /**
                         * Creates a plain object from a MatchIntentRequest message. Also converts values to other types if specified.
                         * @param message MatchIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.MatchIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this MatchIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for MatchIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a MatchIntentResponse. */
                    interface IMatchIntentResponse {

                        /** MatchIntentResponse text */
                        text?: (string|null);

                        /** MatchIntentResponse triggerIntent */
                        triggerIntent?: (string|null);

                        /** MatchIntentResponse transcript */
                        transcript?: (string|null);

                        /** MatchIntentResponse triggerEvent */
                        triggerEvent?: (string|null);

                        /** MatchIntentResponse matches */
                        matches?: (google.cloud.dialogflow.cx.v3.IMatch[]|null);

                        /** MatchIntentResponse currentPage */
                        currentPage?: (google.cloud.dialogflow.cx.v3.IPage|null);
                    }

                    /** Represents a MatchIntentResponse. */
                    class MatchIntentResponse implements IMatchIntentResponse {

                        /**
                         * Constructs a new MatchIntentResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IMatchIntentResponse);

                        /** MatchIntentResponse text. */
                        public text?: (string|null);

                        /** MatchIntentResponse triggerIntent. */
                        public triggerIntent?: (string|null);

                        /** MatchIntentResponse transcript. */
                        public transcript?: (string|null);

                        /** MatchIntentResponse triggerEvent. */
                        public triggerEvent?: (string|null);

                        /** MatchIntentResponse matches. */
                        public matches: google.cloud.dialogflow.cx.v3.IMatch[];

                        /** MatchIntentResponse currentPage. */
                        public currentPage?: (google.cloud.dialogflow.cx.v3.IPage|null);

                        /** MatchIntentResponse query. */
                        public query?: ("text"|"triggerIntent"|"transcript"|"triggerEvent");

                        /**
                         * Creates a new MatchIntentResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns MatchIntentResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IMatchIntentResponse): google.cloud.dialogflow.cx.v3.MatchIntentResponse;

                        /**
                         * Encodes the specified MatchIntentResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.MatchIntentResponse.verify|verify} messages.
                         * @param message MatchIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IMatchIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified MatchIntentResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.MatchIntentResponse.verify|verify} messages.
                         * @param message MatchIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IMatchIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a MatchIntentResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns MatchIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.MatchIntentResponse;

                        /**
                         * Decodes a MatchIntentResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns MatchIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.MatchIntentResponse;

                        /**
                         * Verifies a MatchIntentResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a MatchIntentResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns MatchIntentResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.MatchIntentResponse;

                        /**
                         * Creates a plain object from a MatchIntentResponse message. Also converts values to other types if specified.
                         * @param message MatchIntentResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.MatchIntentResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this MatchIntentResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for MatchIntentResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a FulfillIntentRequest. */
                    interface IFulfillIntentRequest {

                        /** FulfillIntentRequest matchIntentRequest */
                        matchIntentRequest?: (google.cloud.dialogflow.cx.v3.IMatchIntentRequest|null);

                        /** FulfillIntentRequest match */
                        match?: (google.cloud.dialogflow.cx.v3.IMatch|null);

                        /** FulfillIntentRequest outputAudioConfig */
                        outputAudioConfig?: (google.cloud.dialogflow.cx.v3.IOutputAudioConfig|null);
                    }

                    /** Represents a FulfillIntentRequest. */
                    class FulfillIntentRequest implements IFulfillIntentRequest {

                        /**
                         * Constructs a new FulfillIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IFulfillIntentRequest);

                        /** FulfillIntentRequest matchIntentRequest. */
                        public matchIntentRequest?: (google.cloud.dialogflow.cx.v3.IMatchIntentRequest|null);

                        /** FulfillIntentRequest match. */
                        public match?: (google.cloud.dialogflow.cx.v3.IMatch|null);

                        /** FulfillIntentRequest outputAudioConfig. */
                        public outputAudioConfig?: (google.cloud.dialogflow.cx.v3.IOutputAudioConfig|null);

                        /**
                         * Creates a new FulfillIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns FulfillIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IFulfillIntentRequest): google.cloud.dialogflow.cx.v3.FulfillIntentRequest;

                        /**
                         * Encodes the specified FulfillIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.FulfillIntentRequest.verify|verify} messages.
                         * @param message FulfillIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IFulfillIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified FulfillIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.FulfillIntentRequest.verify|verify} messages.
                         * @param message FulfillIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IFulfillIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a FulfillIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns FulfillIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.FulfillIntentRequest;

                        /**
                         * Decodes a FulfillIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns FulfillIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.FulfillIntentRequest;

                        /**
                         * Verifies a FulfillIntentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a FulfillIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns FulfillIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.FulfillIntentRequest;

                        /**
                         * Creates a plain object from a FulfillIntentRequest message. Also converts values to other types if specified.
                         * @param message FulfillIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.FulfillIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this FulfillIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for FulfillIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a FulfillIntentResponse. */
                    interface IFulfillIntentResponse {

                        /** FulfillIntentResponse responseId */
                        responseId?: (string|null);

                        /** FulfillIntentResponse queryResult */
                        queryResult?: (google.cloud.dialogflow.cx.v3.IQueryResult|null);

                        /** FulfillIntentResponse outputAudio */
                        outputAudio?: (Uint8Array|Buffer|string|null);

                        /** FulfillIntentResponse outputAudioConfig */
                        outputAudioConfig?: (google.cloud.dialogflow.cx.v3.IOutputAudioConfig|null);
                    }

                    /** Represents a FulfillIntentResponse. */
                    class FulfillIntentResponse implements IFulfillIntentResponse {

                        /**
                         * Constructs a new FulfillIntentResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IFulfillIntentResponse);

                        /** FulfillIntentResponse responseId. */
                        public responseId: string;

                        /** FulfillIntentResponse queryResult. */
                        public queryResult?: (google.cloud.dialogflow.cx.v3.IQueryResult|null);

                        /** FulfillIntentResponse outputAudio. */
                        public outputAudio: (Uint8Array|Buffer|string);

                        /** FulfillIntentResponse outputAudioConfig. */
                        public outputAudioConfig?: (google.cloud.dialogflow.cx.v3.IOutputAudioConfig|null);

                        /**
                         * Creates a new FulfillIntentResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns FulfillIntentResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IFulfillIntentResponse): google.cloud.dialogflow.cx.v3.FulfillIntentResponse;

                        /**
                         * Encodes the specified FulfillIntentResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.FulfillIntentResponse.verify|verify} messages.
                         * @param message FulfillIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IFulfillIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified FulfillIntentResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.FulfillIntentResponse.verify|verify} messages.
                         * @param message FulfillIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IFulfillIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a FulfillIntentResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns FulfillIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.FulfillIntentResponse;

                        /**
                         * Decodes a FulfillIntentResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns FulfillIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.FulfillIntentResponse;

                        /**
                         * Verifies a FulfillIntentResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a FulfillIntentResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns FulfillIntentResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.FulfillIntentResponse;

                        /**
                         * Creates a plain object from a FulfillIntentResponse message. Also converts values to other types if specified.
                         * @param message FulfillIntentResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.FulfillIntentResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this FulfillIntentResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for FulfillIntentResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a SentimentAnalysisResult. */
                    interface ISentimentAnalysisResult {

                        /** SentimentAnalysisResult score */
                        score?: (number|null);

                        /** SentimentAnalysisResult magnitude */
                        magnitude?: (number|null);
                    }

                    /** Represents a SentimentAnalysisResult. */
                    class SentimentAnalysisResult implements ISentimentAnalysisResult {

                        /**
                         * Constructs a new SentimentAnalysisResult.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ISentimentAnalysisResult);

                        /** SentimentAnalysisResult score. */
                        public score: number;

                        /** SentimentAnalysisResult magnitude. */
                        public magnitude: number;

                        /**
                         * Creates a new SentimentAnalysisResult instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SentimentAnalysisResult instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ISentimentAnalysisResult): google.cloud.dialogflow.cx.v3.SentimentAnalysisResult;

                        /**
                         * Encodes the specified SentimentAnalysisResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SentimentAnalysisResult.verify|verify} messages.
                         * @param message SentimentAnalysisResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ISentimentAnalysisResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SentimentAnalysisResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SentimentAnalysisResult.verify|verify} messages.
                         * @param message SentimentAnalysisResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ISentimentAnalysisResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SentimentAnalysisResult message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SentimentAnalysisResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.SentimentAnalysisResult;

                        /**
                         * Decodes a SentimentAnalysisResult message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SentimentAnalysisResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.SentimentAnalysisResult;

                        /**
                         * Verifies a SentimentAnalysisResult message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SentimentAnalysisResult message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SentimentAnalysisResult
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.SentimentAnalysisResult;

                        /**
                         * Creates a plain object from a SentimentAnalysisResult message. Also converts values to other types if specified.
                         * @param message SentimentAnalysisResult
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.SentimentAnalysisResult, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SentimentAnalysisResult to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SentimentAnalysisResult
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a SessionEntityTypes */
                    class SessionEntityTypes extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new SessionEntityTypes 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 SessionEntityTypes 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): SessionEntityTypes;

                        /**
                         * Calls ListSessionEntityTypes.
                         * @param request ListSessionEntityTypesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListSessionEntityTypesResponse
                         */
                        public listSessionEntityTypes(request: google.cloud.dialogflow.cx.v3.IListSessionEntityTypesRequest, callback: google.cloud.dialogflow.cx.v3.SessionEntityTypes.ListSessionEntityTypesCallback): void;

                        /**
                         * Calls ListSessionEntityTypes.
                         * @param request ListSessionEntityTypesRequest message or plain object
                         * @returns Promise
                         */
                        public listSessionEntityTypes(request: google.cloud.dialogflow.cx.v3.IListSessionEntityTypesRequest): Promise<google.cloud.dialogflow.cx.v3.ListSessionEntityTypesResponse>;

                        /**
                         * Calls GetSessionEntityType.
                         * @param request GetSessionEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and SessionEntityType
                         */
                        public getSessionEntityType(request: google.cloud.dialogflow.cx.v3.IGetSessionEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3.SessionEntityTypes.GetSessionEntityTypeCallback): void;

                        /**
                         * Calls GetSessionEntityType.
                         * @param request GetSessionEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public getSessionEntityType(request: google.cloud.dialogflow.cx.v3.IGetSessionEntityTypeRequest): Promise<google.cloud.dialogflow.cx.v3.SessionEntityType>;

                        /**
                         * Calls CreateSessionEntityType.
                         * @param request CreateSessionEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and SessionEntityType
                         */
                        public createSessionEntityType(request: google.cloud.dialogflow.cx.v3.ICreateSessionEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3.SessionEntityTypes.CreateSessionEntityTypeCallback): void;

                        /**
                         * Calls CreateSessionEntityType.
                         * @param request CreateSessionEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public createSessionEntityType(request: google.cloud.dialogflow.cx.v3.ICreateSessionEntityTypeRequest): Promise<google.cloud.dialogflow.cx.v3.SessionEntityType>;

                        /**
                         * Calls UpdateSessionEntityType.
                         * @param request UpdateSessionEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and SessionEntityType
                         */
                        public updateSessionEntityType(request: google.cloud.dialogflow.cx.v3.IUpdateSessionEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3.SessionEntityTypes.UpdateSessionEntityTypeCallback): void;

                        /**
                         * Calls UpdateSessionEntityType.
                         * @param request UpdateSessionEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public updateSessionEntityType(request: google.cloud.dialogflow.cx.v3.IUpdateSessionEntityTypeRequest): Promise<google.cloud.dialogflow.cx.v3.SessionEntityType>;

                        /**
                         * Calls DeleteSessionEntityType.
                         * @param request DeleteSessionEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteSessionEntityType(request: google.cloud.dialogflow.cx.v3.IDeleteSessionEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3.SessionEntityTypes.DeleteSessionEntityTypeCallback): void;

                        /**
                         * Calls DeleteSessionEntityType.
                         * @param request DeleteSessionEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public deleteSessionEntityType(request: google.cloud.dialogflow.cx.v3.IDeleteSessionEntityTypeRequest): Promise<google.protobuf.Empty>;
                    }

                    namespace SessionEntityTypes {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.SessionEntityTypes|listSessionEntityTypes}.
                         * @param error Error, if any
                         * @param [response] ListSessionEntityTypesResponse
                         */
                        type ListSessionEntityTypesCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListSessionEntityTypesResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.SessionEntityTypes|getSessionEntityType}.
                         * @param error Error, if any
                         * @param [response] SessionEntityType
                         */
                        type GetSessionEntityTypeCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.SessionEntityType) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.SessionEntityTypes|createSessionEntityType}.
                         * @param error Error, if any
                         * @param [response] SessionEntityType
                         */
                        type CreateSessionEntityTypeCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.SessionEntityType) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.SessionEntityTypes|updateSessionEntityType}.
                         * @param error Error, if any
                         * @param [response] SessionEntityType
                         */
                        type UpdateSessionEntityTypeCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.SessionEntityType) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.SessionEntityTypes|deleteSessionEntityType}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteSessionEntityTypeCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                    }

                    /** Properties of a SessionEntityType. */
                    interface ISessionEntityType {

                        /** SessionEntityType name */
                        name?: (string|null);

                        /** SessionEntityType entityOverrideMode */
                        entityOverrideMode?: (google.cloud.dialogflow.cx.v3.SessionEntityType.EntityOverrideMode|keyof typeof google.cloud.dialogflow.cx.v3.SessionEntityType.EntityOverrideMode|null);

                        /** SessionEntityType entities */
                        entities?: (google.cloud.dialogflow.cx.v3.EntityType.IEntity[]|null);
                    }

                    /** Represents a SessionEntityType. */
                    class SessionEntityType implements ISessionEntityType {

                        /**
                         * Constructs a new SessionEntityType.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ISessionEntityType);

                        /** SessionEntityType name. */
                        public name: string;

                        /** SessionEntityType entityOverrideMode. */
                        public entityOverrideMode: (google.cloud.dialogflow.cx.v3.SessionEntityType.EntityOverrideMode|keyof typeof google.cloud.dialogflow.cx.v3.SessionEntityType.EntityOverrideMode);

                        /** SessionEntityType entities. */
                        public entities: google.cloud.dialogflow.cx.v3.EntityType.IEntity[];

                        /**
                         * Creates a new SessionEntityType instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SessionEntityType instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ISessionEntityType): google.cloud.dialogflow.cx.v3.SessionEntityType;

                        /**
                         * Encodes the specified SessionEntityType message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SessionEntityType.verify|verify} messages.
                         * @param message SessionEntityType message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ISessionEntityType, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SessionEntityType message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SessionEntityType.verify|verify} messages.
                         * @param message SessionEntityType message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ISessionEntityType, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SessionEntityType message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SessionEntityType
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.SessionEntityType;

                        /**
                         * Decodes a SessionEntityType message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SessionEntityType
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.SessionEntityType;

                        /**
                         * Verifies a SessionEntityType message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SessionEntityType message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SessionEntityType
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.SessionEntityType;

                        /**
                         * Creates a plain object from a SessionEntityType message. Also converts values to other types if specified.
                         * @param message SessionEntityType
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.SessionEntityType, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SessionEntityType to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SessionEntityType
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace SessionEntityType {

                        /** EntityOverrideMode enum. */
                        enum EntityOverrideMode {
                            ENTITY_OVERRIDE_MODE_UNSPECIFIED = 0,
                            ENTITY_OVERRIDE_MODE_OVERRIDE = 1,
                            ENTITY_OVERRIDE_MODE_SUPPLEMENT = 2
                        }
                    }

                    /** Properties of a ListSessionEntityTypesRequest. */
                    interface IListSessionEntityTypesRequest {

                        /** ListSessionEntityTypesRequest parent */
                        parent?: (string|null);

                        /** ListSessionEntityTypesRequest pageSize */
                        pageSize?: (number|null);

                        /** ListSessionEntityTypesRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListSessionEntityTypesRequest. */
                    class ListSessionEntityTypesRequest implements IListSessionEntityTypesRequest {

                        /**
                         * Constructs a new ListSessionEntityTypesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListSessionEntityTypesRequest);

                        /** ListSessionEntityTypesRequest parent. */
                        public parent: string;

                        /** ListSessionEntityTypesRequest pageSize. */
                        public pageSize: number;

                        /** ListSessionEntityTypesRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListSessionEntityTypesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListSessionEntityTypesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListSessionEntityTypesRequest): google.cloud.dialogflow.cx.v3.ListSessionEntityTypesRequest;

                        /**
                         * Encodes the specified ListSessionEntityTypesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListSessionEntityTypesRequest.verify|verify} messages.
                         * @param message ListSessionEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListSessionEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListSessionEntityTypesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListSessionEntityTypesRequest.verify|verify} messages.
                         * @param message ListSessionEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListSessionEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListSessionEntityTypesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListSessionEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListSessionEntityTypesRequest;

                        /**
                         * Decodes a ListSessionEntityTypesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListSessionEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListSessionEntityTypesRequest;

                        /**
                         * Verifies a ListSessionEntityTypesRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListSessionEntityTypesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListSessionEntityTypesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListSessionEntityTypesRequest;

                        /**
                         * Creates a plain object from a ListSessionEntityTypesRequest message. Also converts values to other types if specified.
                         * @param message ListSessionEntityTypesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListSessionEntityTypesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListSessionEntityTypesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListSessionEntityTypesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListSessionEntityTypesResponse. */
                    interface IListSessionEntityTypesResponse {

                        /** ListSessionEntityTypesResponse sessionEntityTypes */
                        sessionEntityTypes?: (google.cloud.dialogflow.cx.v3.ISessionEntityType[]|null);

                        /** ListSessionEntityTypesResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListSessionEntityTypesResponse. */
                    class ListSessionEntityTypesResponse implements IListSessionEntityTypesResponse {

                        /**
                         * Constructs a new ListSessionEntityTypesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListSessionEntityTypesResponse);

                        /** ListSessionEntityTypesResponse sessionEntityTypes. */
                        public sessionEntityTypes: google.cloud.dialogflow.cx.v3.ISessionEntityType[];

                        /** ListSessionEntityTypesResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListSessionEntityTypesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListSessionEntityTypesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListSessionEntityTypesResponse): google.cloud.dialogflow.cx.v3.ListSessionEntityTypesResponse;

                        /**
                         * Encodes the specified ListSessionEntityTypesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListSessionEntityTypesResponse.verify|verify} messages.
                         * @param message ListSessionEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListSessionEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListSessionEntityTypesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListSessionEntityTypesResponse.verify|verify} messages.
                         * @param message ListSessionEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListSessionEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListSessionEntityTypesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListSessionEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListSessionEntityTypesResponse;

                        /**
                         * Decodes a ListSessionEntityTypesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListSessionEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListSessionEntityTypesResponse;

                        /**
                         * Verifies a ListSessionEntityTypesResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListSessionEntityTypesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListSessionEntityTypesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListSessionEntityTypesResponse;

                        /**
                         * Creates a plain object from a ListSessionEntityTypesResponse message. Also converts values to other types if specified.
                         * @param message ListSessionEntityTypesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListSessionEntityTypesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListSessionEntityTypesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListSessionEntityTypesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetSessionEntityTypeRequest. */
                    interface IGetSessionEntityTypeRequest {

                        /** GetSessionEntityTypeRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetSessionEntityTypeRequest. */
                    class GetSessionEntityTypeRequest implements IGetSessionEntityTypeRequest {

                        /**
                         * Constructs a new GetSessionEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetSessionEntityTypeRequest);

                        /** GetSessionEntityTypeRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetSessionEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetSessionEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetSessionEntityTypeRequest): google.cloud.dialogflow.cx.v3.GetSessionEntityTypeRequest;

                        /**
                         * Encodes the specified GetSessionEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetSessionEntityTypeRequest.verify|verify} messages.
                         * @param message GetSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetSessionEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetSessionEntityTypeRequest.verify|verify} messages.
                         * @param message GetSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetSessionEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.GetSessionEntityTypeRequest;

                        /**
                         * Decodes a GetSessionEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.GetSessionEntityTypeRequest;

                        /**
                         * Verifies a GetSessionEntityTypeRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetSessionEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetSessionEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GetSessionEntityTypeRequest;

                        /**
                         * Creates a plain object from a GetSessionEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message GetSessionEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.GetSessionEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetSessionEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetSessionEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateSessionEntityTypeRequest. */
                    interface ICreateSessionEntityTypeRequest {

                        /** CreateSessionEntityTypeRequest parent */
                        parent?: (string|null);

                        /** CreateSessionEntityTypeRequest sessionEntityType */
                        sessionEntityType?: (google.cloud.dialogflow.cx.v3.ISessionEntityType|null);
                    }

                    /** Represents a CreateSessionEntityTypeRequest. */
                    class CreateSessionEntityTypeRequest implements ICreateSessionEntityTypeRequest {

                        /**
                         * Constructs a new CreateSessionEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICreateSessionEntityTypeRequest);

                        /** CreateSessionEntityTypeRequest parent. */
                        public parent: string;

                        /** CreateSessionEntityTypeRequest sessionEntityType. */
                        public sessionEntityType?: (google.cloud.dialogflow.cx.v3.ISessionEntityType|null);

                        /**
                         * Creates a new CreateSessionEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateSessionEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICreateSessionEntityTypeRequest): google.cloud.dialogflow.cx.v3.CreateSessionEntityTypeRequest;

                        /**
                         * Encodes the specified CreateSessionEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateSessionEntityTypeRequest.verify|verify} messages.
                         * @param message CreateSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICreateSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateSessionEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateSessionEntityTypeRequest.verify|verify} messages.
                         * @param message CreateSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICreateSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateSessionEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CreateSessionEntityTypeRequest;

                        /**
                         * Decodes a CreateSessionEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CreateSessionEntityTypeRequest;

                        /**
                         * Verifies a CreateSessionEntityTypeRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateSessionEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateSessionEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CreateSessionEntityTypeRequest;

                        /**
                         * Creates a plain object from a CreateSessionEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message CreateSessionEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CreateSessionEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateSessionEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateSessionEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateSessionEntityTypeRequest. */
                    interface IUpdateSessionEntityTypeRequest {

                        /** UpdateSessionEntityTypeRequest sessionEntityType */
                        sessionEntityType?: (google.cloud.dialogflow.cx.v3.ISessionEntityType|null);

                        /** UpdateSessionEntityTypeRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateSessionEntityTypeRequest. */
                    class UpdateSessionEntityTypeRequest implements IUpdateSessionEntityTypeRequest {

                        /**
                         * Constructs a new UpdateSessionEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IUpdateSessionEntityTypeRequest);

                        /** UpdateSessionEntityTypeRequest sessionEntityType. */
                        public sessionEntityType?: (google.cloud.dialogflow.cx.v3.ISessionEntityType|null);

                        /** UpdateSessionEntityTypeRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateSessionEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateSessionEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IUpdateSessionEntityTypeRequest): google.cloud.dialogflow.cx.v3.UpdateSessionEntityTypeRequest;

                        /**
                         * Encodes the specified UpdateSessionEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateSessionEntityTypeRequest.verify|verify} messages.
                         * @param message UpdateSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IUpdateSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateSessionEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateSessionEntityTypeRequest.verify|verify} messages.
                         * @param message UpdateSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IUpdateSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateSessionEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.UpdateSessionEntityTypeRequest;

                        /**
                         * Decodes an UpdateSessionEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.UpdateSessionEntityTypeRequest;

                        /**
                         * Verifies an UpdateSessionEntityTypeRequest message.
                         * @param message Plain 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 UpdateSessionEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateSessionEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.UpdateSessionEntityTypeRequest;

                        /**
                         * Creates a plain object from an UpdateSessionEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message UpdateSessionEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.UpdateSessionEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateSessionEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateSessionEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteSessionEntityTypeRequest. */
                    interface IDeleteSessionEntityTypeRequest {

                        /** DeleteSessionEntityTypeRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeleteSessionEntityTypeRequest. */
                    class DeleteSessionEntityTypeRequest implements IDeleteSessionEntityTypeRequest {

                        /**
                         * Constructs a new DeleteSessionEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeleteSessionEntityTypeRequest);

                        /** DeleteSessionEntityTypeRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeleteSessionEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteSessionEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeleteSessionEntityTypeRequest): google.cloud.dialogflow.cx.v3.DeleteSessionEntityTypeRequest;

                        /**
                         * Encodes the specified DeleteSessionEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteSessionEntityTypeRequest.verify|verify} messages.
                         * @param message DeleteSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeleteSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteSessionEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteSessionEntityTypeRequest.verify|verify} messages.
                         * @param message DeleteSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeleteSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteSessionEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DeleteSessionEntityTypeRequest;

                        /**
                         * Decodes a DeleteSessionEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DeleteSessionEntityTypeRequest;

                        /**
                         * Verifies a DeleteSessionEntityTypeRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteSessionEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteSessionEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DeleteSessionEntityTypeRequest;

                        /**
                         * Creates a plain object from a DeleteSessionEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message DeleteSessionEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DeleteSessionEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteSessionEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteSessionEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a TransitionRouteGroups */
                    class TransitionRouteGroups extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new TransitionRouteGroups 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 TransitionRouteGroups 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): TransitionRouteGroups;

                        /**
                         * Calls ListTransitionRouteGroups.
                         * @param request ListTransitionRouteGroupsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListTransitionRouteGroupsResponse
                         */
                        public listTransitionRouteGroups(request: google.cloud.dialogflow.cx.v3.IListTransitionRouteGroupsRequest, callback: google.cloud.dialogflow.cx.v3.TransitionRouteGroups.ListTransitionRouteGroupsCallback): void;

                        /**
                         * Calls ListTransitionRouteGroups.
                         * @param request ListTransitionRouteGroupsRequest message or plain object
                         * @returns Promise
                         */
                        public listTransitionRouteGroups(request: google.cloud.dialogflow.cx.v3.IListTransitionRouteGroupsRequest): Promise<google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsResponse>;

                        /**
                         * Calls GetTransitionRouteGroup.
                         * @param request GetTransitionRouteGroupRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and TransitionRouteGroup
                         */
                        public getTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3.IGetTransitionRouteGroupRequest, callback: google.cloud.dialogflow.cx.v3.TransitionRouteGroups.GetTransitionRouteGroupCallback): void;

                        /**
                         * Calls GetTransitionRouteGroup.
                         * @param request GetTransitionRouteGroupRequest message or plain object
                         * @returns Promise
                         */
                        public getTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3.IGetTransitionRouteGroupRequest): Promise<google.cloud.dialogflow.cx.v3.TransitionRouteGroup>;

                        /**
                         * Calls CreateTransitionRouteGroup.
                         * @param request CreateTransitionRouteGroupRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and TransitionRouteGroup
                         */
                        public createTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3.ICreateTransitionRouteGroupRequest, callback: google.cloud.dialogflow.cx.v3.TransitionRouteGroups.CreateTransitionRouteGroupCallback): void;

                        /**
                         * Calls CreateTransitionRouteGroup.
                         * @param request CreateTransitionRouteGroupRequest message or plain object
                         * @returns Promise
                         */
                        public createTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3.ICreateTransitionRouteGroupRequest): Promise<google.cloud.dialogflow.cx.v3.TransitionRouteGroup>;

                        /**
                         * Calls UpdateTransitionRouteGroup.
                         * @param request UpdateTransitionRouteGroupRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and TransitionRouteGroup
                         */
                        public updateTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3.IUpdateTransitionRouteGroupRequest, callback: google.cloud.dialogflow.cx.v3.TransitionRouteGroups.UpdateTransitionRouteGroupCallback): void;

                        /**
                         * Calls UpdateTransitionRouteGroup.
                         * @param request UpdateTransitionRouteGroupRequest message or plain object
                         * @returns Promise
                         */
                        public updateTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3.IUpdateTransitionRouteGroupRequest): Promise<google.cloud.dialogflow.cx.v3.TransitionRouteGroup>;

                        /**
                         * Calls DeleteTransitionRouteGroup.
                         * @param request DeleteTransitionRouteGroupRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3.IDeleteTransitionRouteGroupRequest, callback: google.cloud.dialogflow.cx.v3.TransitionRouteGroups.DeleteTransitionRouteGroupCallback): void;

                        /**
                         * Calls DeleteTransitionRouteGroup.
                         * @param request DeleteTransitionRouteGroupRequest message or plain object
                         * @returns Promise
                         */
                        public deleteTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3.IDeleteTransitionRouteGroupRequest): Promise<google.protobuf.Empty>;
                    }

                    namespace TransitionRouteGroups {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TransitionRouteGroups|listTransitionRouteGroups}.
                         * @param error Error, if any
                         * @param [response] ListTransitionRouteGroupsResponse
                         */
                        type ListTransitionRouteGroupsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TransitionRouteGroups|getTransitionRouteGroup}.
                         * @param error Error, if any
                         * @param [response] TransitionRouteGroup
                         */
                        type GetTransitionRouteGroupCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.TransitionRouteGroup) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TransitionRouteGroups|createTransitionRouteGroup}.
                         * @param error Error, if any
                         * @param [response] TransitionRouteGroup
                         */
                        type CreateTransitionRouteGroupCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.TransitionRouteGroup) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TransitionRouteGroups|updateTransitionRouteGroup}.
                         * @param error Error, if any
                         * @param [response] TransitionRouteGroup
                         */
                        type UpdateTransitionRouteGroupCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.TransitionRouteGroup) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.TransitionRouteGroups|deleteTransitionRouteGroup}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteTransitionRouteGroupCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                    }

                    /** Properties of a TransitionRouteGroup. */
                    interface ITransitionRouteGroup {

                        /** TransitionRouteGroup name */
                        name?: (string|null);

                        /** TransitionRouteGroup displayName */
                        displayName?: (string|null);

                        /** TransitionRouteGroup transitionRoutes */
                        transitionRoutes?: (google.cloud.dialogflow.cx.v3.ITransitionRoute[]|null);
                    }

                    /** Represents a TransitionRouteGroup. */
                    class TransitionRouteGroup implements ITransitionRouteGroup {

                        /**
                         * Constructs a new TransitionRouteGroup.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ITransitionRouteGroup);

                        /** TransitionRouteGroup name. */
                        public name: string;

                        /** TransitionRouteGroup displayName. */
                        public displayName: string;

                        /** TransitionRouteGroup transitionRoutes. */
                        public transitionRoutes: google.cloud.dialogflow.cx.v3.ITransitionRoute[];

                        /**
                         * Creates a new TransitionRouteGroup instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TransitionRouteGroup instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ITransitionRouteGroup): google.cloud.dialogflow.cx.v3.TransitionRouteGroup;

                        /**
                         * Encodes the specified TransitionRouteGroup message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionRouteGroup.verify|verify} messages.
                         * @param message TransitionRouteGroup message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ITransitionRouteGroup, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TransitionRouteGroup message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.TransitionRouteGroup.verify|verify} messages.
                         * @param message TransitionRouteGroup message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ITransitionRouteGroup, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TransitionRouteGroup message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TransitionRouteGroup
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.TransitionRouteGroup;

                        /**
                         * Decodes a TransitionRouteGroup message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TransitionRouteGroup
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.TransitionRouteGroup;

                        /**
                         * Verifies a TransitionRouteGroup message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TransitionRouteGroup message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TransitionRouteGroup
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.TransitionRouteGroup;

                        /**
                         * Creates a plain object from a TransitionRouteGroup message. Also converts values to other types if specified.
                         * @param message TransitionRouteGroup
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.TransitionRouteGroup, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TransitionRouteGroup to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TransitionRouteGroup
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListTransitionRouteGroupsRequest. */
                    interface IListTransitionRouteGroupsRequest {

                        /** ListTransitionRouteGroupsRequest parent */
                        parent?: (string|null);

                        /** ListTransitionRouteGroupsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListTransitionRouteGroupsRequest pageToken */
                        pageToken?: (string|null);

                        /** ListTransitionRouteGroupsRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a ListTransitionRouteGroupsRequest. */
                    class ListTransitionRouteGroupsRequest implements IListTransitionRouteGroupsRequest {

                        /**
                         * Constructs a new ListTransitionRouteGroupsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListTransitionRouteGroupsRequest);

                        /** ListTransitionRouteGroupsRequest parent. */
                        public parent: string;

                        /** ListTransitionRouteGroupsRequest pageSize. */
                        public pageSize: number;

                        /** ListTransitionRouteGroupsRequest pageToken. */
                        public pageToken: string;

                        /** ListTransitionRouteGroupsRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new ListTransitionRouteGroupsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListTransitionRouteGroupsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListTransitionRouteGroupsRequest): google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsRequest;

                        /**
                         * Encodes the specified ListTransitionRouteGroupsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsRequest.verify|verify} messages.
                         * @param message ListTransitionRouteGroupsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListTransitionRouteGroupsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListTransitionRouteGroupsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsRequest.verify|verify} messages.
                         * @param message ListTransitionRouteGroupsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListTransitionRouteGroupsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListTransitionRouteGroupsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListTransitionRouteGroupsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsRequest;

                        /**
                         * Decodes a ListTransitionRouteGroupsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListTransitionRouteGroupsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsRequest;

                        /**
                         * Verifies a ListTransitionRouteGroupsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListTransitionRouteGroupsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListTransitionRouteGroupsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsRequest;

                        /**
                         * Creates a plain object from a ListTransitionRouteGroupsRequest message. Also converts values to other types if specified.
                         * @param message ListTransitionRouteGroupsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListTransitionRouteGroupsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListTransitionRouteGroupsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListTransitionRouteGroupsResponse. */
                    interface IListTransitionRouteGroupsResponse {

                        /** ListTransitionRouteGroupsResponse transitionRouteGroups */
                        transitionRouteGroups?: (google.cloud.dialogflow.cx.v3.ITransitionRouteGroup[]|null);

                        /** ListTransitionRouteGroupsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListTransitionRouteGroupsResponse. */
                    class ListTransitionRouteGroupsResponse implements IListTransitionRouteGroupsResponse {

                        /**
                         * Constructs a new ListTransitionRouteGroupsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListTransitionRouteGroupsResponse);

                        /** ListTransitionRouteGroupsResponse transitionRouteGroups. */
                        public transitionRouteGroups: google.cloud.dialogflow.cx.v3.ITransitionRouteGroup[];

                        /** ListTransitionRouteGroupsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListTransitionRouteGroupsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListTransitionRouteGroupsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListTransitionRouteGroupsResponse): google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsResponse;

                        /**
                         * Encodes the specified ListTransitionRouteGroupsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsResponse.verify|verify} messages.
                         * @param message ListTransitionRouteGroupsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListTransitionRouteGroupsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListTransitionRouteGroupsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsResponse.verify|verify} messages.
                         * @param message ListTransitionRouteGroupsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListTransitionRouteGroupsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListTransitionRouteGroupsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListTransitionRouteGroupsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsResponse;

                        /**
                         * Decodes a ListTransitionRouteGroupsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListTransitionRouteGroupsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsResponse;

                        /**
                         * Verifies a ListTransitionRouteGroupsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListTransitionRouteGroupsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListTransitionRouteGroupsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsResponse;

                        /**
                         * Creates a plain object from a ListTransitionRouteGroupsResponse message. Also converts values to other types if specified.
                         * @param message ListTransitionRouteGroupsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListTransitionRouteGroupsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListTransitionRouteGroupsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListTransitionRouteGroupsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetTransitionRouteGroupRequest. */
                    interface IGetTransitionRouteGroupRequest {

                        /** GetTransitionRouteGroupRequest name */
                        name?: (string|null);

                        /** GetTransitionRouteGroupRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetTransitionRouteGroupRequest. */
                    class GetTransitionRouteGroupRequest implements IGetTransitionRouteGroupRequest {

                        /**
                         * Constructs a new GetTransitionRouteGroupRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetTransitionRouteGroupRequest);

                        /** GetTransitionRouteGroupRequest name. */
                        public name: string;

                        /** GetTransitionRouteGroupRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetTransitionRouteGroupRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetTransitionRouteGroupRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetTransitionRouteGroupRequest): google.cloud.dialogflow.cx.v3.GetTransitionRouteGroupRequest;

                        /**
                         * Encodes the specified GetTransitionRouteGroupRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message GetTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetTransitionRouteGroupRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message GetTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetTransitionRouteGroupRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.GetTransitionRouteGroupRequest;

                        /**
                         * Decodes a GetTransitionRouteGroupRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.GetTransitionRouteGroupRequest;

                        /**
                         * Verifies a GetTransitionRouteGroupRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetTransitionRouteGroupRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetTransitionRouteGroupRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GetTransitionRouteGroupRequest;

                        /**
                         * Creates a plain object from a GetTransitionRouteGroupRequest message. Also converts values to other types if specified.
                         * @param message GetTransitionRouteGroupRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.GetTransitionRouteGroupRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetTransitionRouteGroupRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetTransitionRouteGroupRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateTransitionRouteGroupRequest. */
                    interface ICreateTransitionRouteGroupRequest {

                        /** CreateTransitionRouteGroupRequest parent */
                        parent?: (string|null);

                        /** CreateTransitionRouteGroupRequest transitionRouteGroup */
                        transitionRouteGroup?: (google.cloud.dialogflow.cx.v3.ITransitionRouteGroup|null);

                        /** CreateTransitionRouteGroupRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a CreateTransitionRouteGroupRequest. */
                    class CreateTransitionRouteGroupRequest implements ICreateTransitionRouteGroupRequest {

                        /**
                         * Constructs a new CreateTransitionRouteGroupRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICreateTransitionRouteGroupRequest);

                        /** CreateTransitionRouteGroupRequest parent. */
                        public parent: string;

                        /** CreateTransitionRouteGroupRequest transitionRouteGroup. */
                        public transitionRouteGroup?: (google.cloud.dialogflow.cx.v3.ITransitionRouteGroup|null);

                        /** CreateTransitionRouteGroupRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new CreateTransitionRouteGroupRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateTransitionRouteGroupRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICreateTransitionRouteGroupRequest): google.cloud.dialogflow.cx.v3.CreateTransitionRouteGroupRequest;

                        /**
                         * Encodes the specified CreateTransitionRouteGroupRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message CreateTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICreateTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateTransitionRouteGroupRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message CreateTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICreateTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateTransitionRouteGroupRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CreateTransitionRouteGroupRequest;

                        /**
                         * Decodes a CreateTransitionRouteGroupRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CreateTransitionRouteGroupRequest;

                        /**
                         * Verifies a CreateTransitionRouteGroupRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateTransitionRouteGroupRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateTransitionRouteGroupRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CreateTransitionRouteGroupRequest;

                        /**
                         * Creates a plain object from a CreateTransitionRouteGroupRequest message. Also converts values to other types if specified.
                         * @param message CreateTransitionRouteGroupRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CreateTransitionRouteGroupRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateTransitionRouteGroupRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateTransitionRouteGroupRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateTransitionRouteGroupRequest. */
                    interface IUpdateTransitionRouteGroupRequest {

                        /** UpdateTransitionRouteGroupRequest transitionRouteGroup */
                        transitionRouteGroup?: (google.cloud.dialogflow.cx.v3.ITransitionRouteGroup|null);

                        /** UpdateTransitionRouteGroupRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);

                        /** UpdateTransitionRouteGroupRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents an UpdateTransitionRouteGroupRequest. */
                    class UpdateTransitionRouteGroupRequest implements IUpdateTransitionRouteGroupRequest {

                        /**
                         * Constructs a new UpdateTransitionRouteGroupRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IUpdateTransitionRouteGroupRequest);

                        /** UpdateTransitionRouteGroupRequest transitionRouteGroup. */
                        public transitionRouteGroup?: (google.cloud.dialogflow.cx.v3.ITransitionRouteGroup|null);

                        /** UpdateTransitionRouteGroupRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /** UpdateTransitionRouteGroupRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new UpdateTransitionRouteGroupRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateTransitionRouteGroupRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IUpdateTransitionRouteGroupRequest): google.cloud.dialogflow.cx.v3.UpdateTransitionRouteGroupRequest;

                        /**
                         * Encodes the specified UpdateTransitionRouteGroupRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message UpdateTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IUpdateTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateTransitionRouteGroupRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message UpdateTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IUpdateTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateTransitionRouteGroupRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.UpdateTransitionRouteGroupRequest;

                        /**
                         * Decodes an UpdateTransitionRouteGroupRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.UpdateTransitionRouteGroupRequest;

                        /**
                         * Verifies an UpdateTransitionRouteGroupRequest message.
                         * @param message Plain 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 UpdateTransitionRouteGroupRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateTransitionRouteGroupRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.UpdateTransitionRouteGroupRequest;

                        /**
                         * Creates a plain object from an UpdateTransitionRouteGroupRequest message. Also converts values to other types if specified.
                         * @param message UpdateTransitionRouteGroupRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.UpdateTransitionRouteGroupRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateTransitionRouteGroupRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateTransitionRouteGroupRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteTransitionRouteGroupRequest. */
                    interface IDeleteTransitionRouteGroupRequest {

                        /** DeleteTransitionRouteGroupRequest name */
                        name?: (string|null);

                        /** DeleteTransitionRouteGroupRequest force */
                        force?: (boolean|null);
                    }

                    /** Represents a DeleteTransitionRouteGroupRequest. */
                    class DeleteTransitionRouteGroupRequest implements IDeleteTransitionRouteGroupRequest {

                        /**
                         * Constructs a new DeleteTransitionRouteGroupRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeleteTransitionRouteGroupRequest);

                        /** DeleteTransitionRouteGroupRequest name. */
                        public name: string;

                        /** DeleteTransitionRouteGroupRequest force. */
                        public force: boolean;

                        /**
                         * Creates a new DeleteTransitionRouteGroupRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteTransitionRouteGroupRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeleteTransitionRouteGroupRequest): google.cloud.dialogflow.cx.v3.DeleteTransitionRouteGroupRequest;

                        /**
                         * Encodes the specified DeleteTransitionRouteGroupRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message DeleteTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeleteTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteTransitionRouteGroupRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message DeleteTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeleteTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteTransitionRouteGroupRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DeleteTransitionRouteGroupRequest;

                        /**
                         * Decodes a DeleteTransitionRouteGroupRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DeleteTransitionRouteGroupRequest;

                        /**
                         * Verifies a DeleteTransitionRouteGroupRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteTransitionRouteGroupRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteTransitionRouteGroupRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DeleteTransitionRouteGroupRequest;

                        /**
                         * Creates a plain object from a DeleteTransitionRouteGroupRequest message. Also converts values to other types if specified.
                         * @param message DeleteTransitionRouteGroupRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DeleteTransitionRouteGroupRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteTransitionRouteGroupRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteTransitionRouteGroupRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a Webhooks */
                    class Webhooks extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Webhooks 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 Webhooks 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): Webhooks;

                        /**
                         * Calls ListWebhooks.
                         * @param request ListWebhooksRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListWebhooksResponse
                         */
                        public listWebhooks(request: google.cloud.dialogflow.cx.v3.IListWebhooksRequest, callback: google.cloud.dialogflow.cx.v3.Webhooks.ListWebhooksCallback): void;

                        /**
                         * Calls ListWebhooks.
                         * @param request ListWebhooksRequest message or plain object
                         * @returns Promise
                         */
                        public listWebhooks(request: google.cloud.dialogflow.cx.v3.IListWebhooksRequest): Promise<google.cloud.dialogflow.cx.v3.ListWebhooksResponse>;

                        /**
                         * Calls GetWebhook.
                         * @param request GetWebhookRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Webhook
                         */
                        public getWebhook(request: google.cloud.dialogflow.cx.v3.IGetWebhookRequest, callback: google.cloud.dialogflow.cx.v3.Webhooks.GetWebhookCallback): void;

                        /**
                         * Calls GetWebhook.
                         * @param request GetWebhookRequest message or plain object
                         * @returns Promise
                         */
                        public getWebhook(request: google.cloud.dialogflow.cx.v3.IGetWebhookRequest): Promise<google.cloud.dialogflow.cx.v3.Webhook>;

                        /**
                         * Calls CreateWebhook.
                         * @param request CreateWebhookRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Webhook
                         */
                        public createWebhook(request: google.cloud.dialogflow.cx.v3.ICreateWebhookRequest, callback: google.cloud.dialogflow.cx.v3.Webhooks.CreateWebhookCallback): void;

                        /**
                         * Calls CreateWebhook.
                         * @param request CreateWebhookRequest message or plain object
                         * @returns Promise
                         */
                        public createWebhook(request: google.cloud.dialogflow.cx.v3.ICreateWebhookRequest): Promise<google.cloud.dialogflow.cx.v3.Webhook>;

                        /**
                         * Calls UpdateWebhook.
                         * @param request UpdateWebhookRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Webhook
                         */
                        public updateWebhook(request: google.cloud.dialogflow.cx.v3.IUpdateWebhookRequest, callback: google.cloud.dialogflow.cx.v3.Webhooks.UpdateWebhookCallback): void;

                        /**
                         * Calls UpdateWebhook.
                         * @param request UpdateWebhookRequest message or plain object
                         * @returns Promise
                         */
                        public updateWebhook(request: google.cloud.dialogflow.cx.v3.IUpdateWebhookRequest): Promise<google.cloud.dialogflow.cx.v3.Webhook>;

                        /**
                         * Calls DeleteWebhook.
                         * @param request DeleteWebhookRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteWebhook(request: google.cloud.dialogflow.cx.v3.IDeleteWebhookRequest, callback: google.cloud.dialogflow.cx.v3.Webhooks.DeleteWebhookCallback): void;

                        /**
                         * Calls DeleteWebhook.
                         * @param request DeleteWebhookRequest message or plain object
                         * @returns Promise
                         */
                        public deleteWebhook(request: google.cloud.dialogflow.cx.v3.IDeleteWebhookRequest): Promise<google.protobuf.Empty>;
                    }

                    namespace Webhooks {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Webhooks|listWebhooks}.
                         * @param error Error, if any
                         * @param [response] ListWebhooksResponse
                         */
                        type ListWebhooksCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListWebhooksResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Webhooks|getWebhook}.
                         * @param error Error, if any
                         * @param [response] Webhook
                         */
                        type GetWebhookCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Webhook) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Webhooks|createWebhook}.
                         * @param error Error, if any
                         * @param [response] Webhook
                         */
                        type CreateWebhookCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Webhook) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Webhooks|updateWebhook}.
                         * @param error Error, if any
                         * @param [response] Webhook
                         */
                        type UpdateWebhookCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Webhook) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Webhooks|deleteWebhook}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteWebhookCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                    }

                    /** Properties of a Webhook. */
                    interface IWebhook {

                        /** Webhook name */
                        name?: (string|null);

                        /** Webhook displayName */
                        displayName?: (string|null);

                        /** Webhook genericWebService */
                        genericWebService?: (google.cloud.dialogflow.cx.v3.Webhook.IGenericWebService|null);

                        /** Webhook serviceDirectory */
                        serviceDirectory?: (google.cloud.dialogflow.cx.v3.Webhook.IServiceDirectoryConfig|null);

                        /** Webhook timeout */
                        timeout?: (google.protobuf.IDuration|null);

                        /** Webhook disabled */
                        disabled?: (boolean|null);
                    }

                    /** Represents a Webhook. */
                    class Webhook implements IWebhook {

                        /**
                         * Constructs a new Webhook.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IWebhook);

                        /** Webhook name. */
                        public name: string;

                        /** Webhook displayName. */
                        public displayName: string;

                        /** Webhook genericWebService. */
                        public genericWebService?: (google.cloud.dialogflow.cx.v3.Webhook.IGenericWebService|null);

                        /** Webhook serviceDirectory. */
                        public serviceDirectory?: (google.cloud.dialogflow.cx.v3.Webhook.IServiceDirectoryConfig|null);

                        /** Webhook timeout. */
                        public timeout?: (google.protobuf.IDuration|null);

                        /** Webhook disabled. */
                        public disabled: boolean;

                        /** Webhook webhook. */
                        public webhook?: ("genericWebService"|"serviceDirectory");

                        /**
                         * Creates a new Webhook instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Webhook instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IWebhook): google.cloud.dialogflow.cx.v3.Webhook;

                        /**
                         * Encodes the specified Webhook message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Webhook.verify|verify} messages.
                         * @param message Webhook message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IWebhook, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Webhook message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Webhook.verify|verify} messages.
                         * @param message Webhook message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IWebhook, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Webhook message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Webhook
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Webhook;

                        /**
                         * Decodes a Webhook message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Webhook
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Webhook;

                        /**
                         * Verifies a Webhook message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Webhook message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Webhook
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Webhook;

                        /**
                         * Creates a plain object from a Webhook message. Also converts values to other types if specified.
                         * @param message Webhook
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.Webhook, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Webhook to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Webhook
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Webhook {

                        /** Properties of a GenericWebService. */
                        interface IGenericWebService {

                            /** GenericWebService uri */
                            uri?: (string|null);

                            /** GenericWebService username */
                            username?: (string|null);

                            /** GenericWebService password */
                            password?: (string|null);

                            /** GenericWebService requestHeaders */
                            requestHeaders?: ({ [k: string]: string }|null);

                            /** GenericWebService allowedCaCerts */
                            allowedCaCerts?: (Uint8Array[]|null);

                            /** GenericWebService oauthConfig */
                            oauthConfig?: (google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.IOAuthConfig|null);

                            /** GenericWebService serviceAgentAuth */
                            serviceAgentAuth?: (google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.ServiceAgentAuth|keyof typeof google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.ServiceAgentAuth|null);

                            /** GenericWebService webhookType */
                            webhookType?: (google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.WebhookType|keyof typeof google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.WebhookType|null);

                            /** GenericWebService httpMethod */
                            httpMethod?: (google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.HttpMethod|keyof typeof google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.HttpMethod|null);

                            /** GenericWebService requestBody */
                            requestBody?: (string|null);

                            /** GenericWebService parameterMapping */
                            parameterMapping?: ({ [k: string]: string }|null);
                        }

                        /** Represents a GenericWebService. */
                        class GenericWebService implements IGenericWebService {

                            /**
                             * Constructs a new GenericWebService.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Webhook.IGenericWebService);

                            /** GenericWebService uri. */
                            public uri: string;

                            /** GenericWebService username. */
                            public username: string;

                            /** GenericWebService password. */
                            public password: string;

                            /** GenericWebService requestHeaders. */
                            public requestHeaders: { [k: string]: string };

                            /** GenericWebService allowedCaCerts. */
                            public allowedCaCerts: Uint8Array[];

                            /** GenericWebService oauthConfig. */
                            public oauthConfig?: (google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.IOAuthConfig|null);

                            /** GenericWebService serviceAgentAuth. */
                            public serviceAgentAuth: (google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.ServiceAgentAuth|keyof typeof google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.ServiceAgentAuth);

                            /** GenericWebService webhookType. */
                            public webhookType: (google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.WebhookType|keyof typeof google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.WebhookType);

                            /** GenericWebService httpMethod. */
                            public httpMethod: (google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.HttpMethod|keyof typeof google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.HttpMethod);

                            /** GenericWebService requestBody. */
                            public requestBody: string;

                            /** GenericWebService parameterMapping. */
                            public parameterMapping: { [k: string]: string };

                            /**
                             * Creates a new GenericWebService instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns GenericWebService instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Webhook.IGenericWebService): google.cloud.dialogflow.cx.v3.Webhook.GenericWebService;

                            /**
                             * Encodes the specified GenericWebService message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.verify|verify} messages.
                             * @param message GenericWebService message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Webhook.IGenericWebService, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified GenericWebService message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.verify|verify} messages.
                             * @param message GenericWebService message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Webhook.IGenericWebService, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a GenericWebService message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns GenericWebService
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Webhook.GenericWebService;

                            /**
                             * Decodes a GenericWebService message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns GenericWebService
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Webhook.GenericWebService;

                            /**
                             * Verifies a GenericWebService message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a GenericWebService message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns GenericWebService
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Webhook.GenericWebService;

                            /**
                             * Creates a plain object from a GenericWebService message. Also converts values to other types if specified.
                             * @param message GenericWebService
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.Webhook.GenericWebService, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this GenericWebService to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for GenericWebService
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace GenericWebService {

                            /** Properties of a OAuthConfig. */
                            interface IOAuthConfig {

                                /** OAuthConfig clientId */
                                clientId?: (string|null);

                                /** OAuthConfig clientSecret */
                                clientSecret?: (string|null);

                                /** OAuthConfig tokenEndpoint */
                                tokenEndpoint?: (string|null);

                                /** OAuthConfig scopes */
                                scopes?: (string[]|null);
                            }

                            /** Represents a OAuthConfig. */
                            class OAuthConfig implements IOAuthConfig {

                                /**
                                 * Constructs a new OAuthConfig.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.IOAuthConfig);

                                /** OAuthConfig clientId. */
                                public clientId: string;

                                /** OAuthConfig clientSecret. */
                                public clientSecret: string;

                                /** OAuthConfig tokenEndpoint. */
                                public tokenEndpoint: string;

                                /** OAuthConfig scopes. */
                                public scopes: string[];

                                /**
                                 * Creates a new OAuthConfig instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns OAuthConfig instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.IOAuthConfig): google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.OAuthConfig;

                                /**
                                 * Encodes the specified OAuthConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.OAuthConfig.verify|verify} messages.
                                 * @param message OAuthConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.IOAuthConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified OAuthConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.OAuthConfig.verify|verify} messages.
                                 * @param message OAuthConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.IOAuthConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a OAuthConfig message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns OAuthConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.OAuthConfig;

                                /**
                                 * Decodes a OAuthConfig message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns OAuthConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.OAuthConfig;

                                /**
                                 * Verifies a OAuthConfig message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a OAuthConfig message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns OAuthConfig
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.OAuthConfig;

                                /**
                                 * Creates a plain object from a OAuthConfig message. Also converts values to other types if specified.
                                 * @param message OAuthConfig
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3.Webhook.GenericWebService.OAuthConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this OAuthConfig to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for OAuthConfig
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            /** ServiceAgentAuth enum. */
                            enum ServiceAgentAuth {
                                SERVICE_AGENT_AUTH_UNSPECIFIED = 0,
                                NONE = 1,
                                ID_TOKEN = 2,
                                ACCESS_TOKEN = 3
                            }

                            /** WebhookType enum. */
                            enum WebhookType {
                                WEBHOOK_TYPE_UNSPECIFIED = 0,
                                STANDARD = 1,
                                FLEXIBLE = 2
                            }

                            /** HttpMethod enum. */
                            enum HttpMethod {
                                HTTP_METHOD_UNSPECIFIED = 0,
                                POST = 1,
                                GET = 2,
                                HEAD = 3,
                                PUT = 4,
                                DELETE = 5,
                                PATCH = 6,
                                OPTIONS = 7
                            }
                        }

                        /** Properties of a ServiceDirectoryConfig. */
                        interface IServiceDirectoryConfig {

                            /** ServiceDirectoryConfig service */
                            service?: (string|null);

                            /** ServiceDirectoryConfig genericWebService */
                            genericWebService?: (google.cloud.dialogflow.cx.v3.Webhook.IGenericWebService|null);
                        }

                        /** Represents a ServiceDirectoryConfig. */
                        class ServiceDirectoryConfig implements IServiceDirectoryConfig {

                            /**
                             * Constructs a new ServiceDirectoryConfig.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Webhook.IServiceDirectoryConfig);

                            /** ServiceDirectoryConfig service. */
                            public service: string;

                            /** ServiceDirectoryConfig genericWebService. */
                            public genericWebService?: (google.cloud.dialogflow.cx.v3.Webhook.IGenericWebService|null);

                            /**
                             * Creates a new ServiceDirectoryConfig instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ServiceDirectoryConfig instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Webhook.IServiceDirectoryConfig): google.cloud.dialogflow.cx.v3.Webhook.ServiceDirectoryConfig;

                            /**
                             * Encodes the specified ServiceDirectoryConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Webhook.ServiceDirectoryConfig.verify|verify} messages.
                             * @param message ServiceDirectoryConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Webhook.IServiceDirectoryConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ServiceDirectoryConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Webhook.ServiceDirectoryConfig.verify|verify} messages.
                             * @param message ServiceDirectoryConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Webhook.IServiceDirectoryConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ServiceDirectoryConfig message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ServiceDirectoryConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Webhook.ServiceDirectoryConfig;

                            /**
                             * Decodes a ServiceDirectoryConfig message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ServiceDirectoryConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Webhook.ServiceDirectoryConfig;

                            /**
                             * Verifies a ServiceDirectoryConfig message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ServiceDirectoryConfig message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ServiceDirectoryConfig
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Webhook.ServiceDirectoryConfig;

                            /**
                             * Creates a plain object from a ServiceDirectoryConfig message. Also converts values to other types if specified.
                             * @param message ServiceDirectoryConfig
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.Webhook.ServiceDirectoryConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ServiceDirectoryConfig to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ServiceDirectoryConfig
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a ListWebhooksRequest. */
                    interface IListWebhooksRequest {

                        /** ListWebhooksRequest parent */
                        parent?: (string|null);

                        /** ListWebhooksRequest pageSize */
                        pageSize?: (number|null);

                        /** ListWebhooksRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListWebhooksRequest. */
                    class ListWebhooksRequest implements IListWebhooksRequest {

                        /**
                         * Constructs a new ListWebhooksRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListWebhooksRequest);

                        /** ListWebhooksRequest parent. */
                        public parent: string;

                        /** ListWebhooksRequest pageSize. */
                        public pageSize: number;

                        /** ListWebhooksRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListWebhooksRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListWebhooksRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListWebhooksRequest): google.cloud.dialogflow.cx.v3.ListWebhooksRequest;

                        /**
                         * Encodes the specified ListWebhooksRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListWebhooksRequest.verify|verify} messages.
                         * @param message ListWebhooksRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListWebhooksRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListWebhooksRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListWebhooksRequest.verify|verify} messages.
                         * @param message ListWebhooksRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListWebhooksRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListWebhooksRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListWebhooksRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListWebhooksRequest;

                        /**
                         * Decodes a ListWebhooksRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListWebhooksRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListWebhooksRequest;

                        /**
                         * Verifies a ListWebhooksRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListWebhooksRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListWebhooksRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListWebhooksRequest;

                        /**
                         * Creates a plain object from a ListWebhooksRequest message. Also converts values to other types if specified.
                         * @param message ListWebhooksRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListWebhooksRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListWebhooksRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListWebhooksRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListWebhooksResponse. */
                    interface IListWebhooksResponse {

                        /** ListWebhooksResponse webhooks */
                        webhooks?: (google.cloud.dialogflow.cx.v3.IWebhook[]|null);

                        /** ListWebhooksResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListWebhooksResponse. */
                    class ListWebhooksResponse implements IListWebhooksResponse {

                        /**
                         * Constructs a new ListWebhooksResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListWebhooksResponse);

                        /** ListWebhooksResponse webhooks. */
                        public webhooks: google.cloud.dialogflow.cx.v3.IWebhook[];

                        /** ListWebhooksResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListWebhooksResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListWebhooksResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListWebhooksResponse): google.cloud.dialogflow.cx.v3.ListWebhooksResponse;

                        /**
                         * Encodes the specified ListWebhooksResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListWebhooksResponse.verify|verify} messages.
                         * @param message ListWebhooksResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListWebhooksResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListWebhooksResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListWebhooksResponse.verify|verify} messages.
                         * @param message ListWebhooksResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListWebhooksResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListWebhooksResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListWebhooksResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListWebhooksResponse;

                        /**
                         * Decodes a ListWebhooksResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListWebhooksResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListWebhooksResponse;

                        /**
                         * Verifies a ListWebhooksResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListWebhooksResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListWebhooksResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListWebhooksResponse;

                        /**
                         * Creates a plain object from a ListWebhooksResponse message. Also converts values to other types if specified.
                         * @param message ListWebhooksResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListWebhooksResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListWebhooksResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListWebhooksResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetWebhookRequest. */
                    interface IGetWebhookRequest {

                        /** GetWebhookRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetWebhookRequest. */
                    class GetWebhookRequest implements IGetWebhookRequest {

                        /**
                         * Constructs a new GetWebhookRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetWebhookRequest);

                        /** GetWebhookRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetWebhookRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetWebhookRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetWebhookRequest): google.cloud.dialogflow.cx.v3.GetWebhookRequest;

                        /**
                         * Encodes the specified GetWebhookRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetWebhookRequest.verify|verify} messages.
                         * @param message GetWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetWebhookRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetWebhookRequest.verify|verify} messages.
                         * @param message GetWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetWebhookRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.GetWebhookRequest;

                        /**
                         * Decodes a GetWebhookRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.GetWebhookRequest;

                        /**
                         * Verifies a GetWebhookRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetWebhookRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetWebhookRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GetWebhookRequest;

                        /**
                         * Creates a plain object from a GetWebhookRequest message. Also converts values to other types if specified.
                         * @param message GetWebhookRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.GetWebhookRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetWebhookRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetWebhookRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateWebhookRequest. */
                    interface ICreateWebhookRequest {

                        /** CreateWebhookRequest parent */
                        parent?: (string|null);

                        /** CreateWebhookRequest webhook */
                        webhook?: (google.cloud.dialogflow.cx.v3.IWebhook|null);
                    }

                    /** Represents a CreateWebhookRequest. */
                    class CreateWebhookRequest implements ICreateWebhookRequest {

                        /**
                         * Constructs a new CreateWebhookRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICreateWebhookRequest);

                        /** CreateWebhookRequest parent. */
                        public parent: string;

                        /** CreateWebhookRequest webhook. */
                        public webhook?: (google.cloud.dialogflow.cx.v3.IWebhook|null);

                        /**
                         * Creates a new CreateWebhookRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateWebhookRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICreateWebhookRequest): google.cloud.dialogflow.cx.v3.CreateWebhookRequest;

                        /**
                         * Encodes the specified CreateWebhookRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateWebhookRequest.verify|verify} messages.
                         * @param message CreateWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICreateWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateWebhookRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateWebhookRequest.verify|verify} messages.
                         * @param message CreateWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICreateWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateWebhookRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CreateWebhookRequest;

                        /**
                         * Decodes a CreateWebhookRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CreateWebhookRequest;

                        /**
                         * Verifies a CreateWebhookRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateWebhookRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateWebhookRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CreateWebhookRequest;

                        /**
                         * Creates a plain object from a CreateWebhookRequest message. Also converts values to other types if specified.
                         * @param message CreateWebhookRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CreateWebhookRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateWebhookRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateWebhookRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateWebhookRequest. */
                    interface IUpdateWebhookRequest {

                        /** UpdateWebhookRequest webhook */
                        webhook?: (google.cloud.dialogflow.cx.v3.IWebhook|null);

                        /** UpdateWebhookRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateWebhookRequest. */
                    class UpdateWebhookRequest implements IUpdateWebhookRequest {

                        /**
                         * Constructs a new UpdateWebhookRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IUpdateWebhookRequest);

                        /** UpdateWebhookRequest webhook. */
                        public webhook?: (google.cloud.dialogflow.cx.v3.IWebhook|null);

                        /** UpdateWebhookRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateWebhookRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateWebhookRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IUpdateWebhookRequest): google.cloud.dialogflow.cx.v3.UpdateWebhookRequest;

                        /**
                         * Encodes the specified UpdateWebhookRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateWebhookRequest.verify|verify} messages.
                         * @param message UpdateWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IUpdateWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateWebhookRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateWebhookRequest.verify|verify} messages.
                         * @param message UpdateWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IUpdateWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateWebhookRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.UpdateWebhookRequest;

                        /**
                         * Decodes an UpdateWebhookRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.UpdateWebhookRequest;

                        /**
                         * Verifies an UpdateWebhookRequest message.
                         * @param message Plain 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 UpdateWebhookRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateWebhookRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.UpdateWebhookRequest;

                        /**
                         * Creates a plain object from an UpdateWebhookRequest message. Also converts values to other types if specified.
                         * @param message UpdateWebhookRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.UpdateWebhookRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateWebhookRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateWebhookRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteWebhookRequest. */
                    interface IDeleteWebhookRequest {

                        /** DeleteWebhookRequest name */
                        name?: (string|null);

                        /** DeleteWebhookRequest force */
                        force?: (boolean|null);
                    }

                    /** Represents a DeleteWebhookRequest. */
                    class DeleteWebhookRequest implements IDeleteWebhookRequest {

                        /**
                         * Constructs a new DeleteWebhookRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeleteWebhookRequest);

                        /** DeleteWebhookRequest name. */
                        public name: string;

                        /** DeleteWebhookRequest force. */
                        public force: boolean;

                        /**
                         * Creates a new DeleteWebhookRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteWebhookRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeleteWebhookRequest): google.cloud.dialogflow.cx.v3.DeleteWebhookRequest;

                        /**
                         * Encodes the specified DeleteWebhookRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteWebhookRequest.verify|verify} messages.
                         * @param message DeleteWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeleteWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteWebhookRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteWebhookRequest.verify|verify} messages.
                         * @param message DeleteWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeleteWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteWebhookRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DeleteWebhookRequest;

                        /**
                         * Decodes a DeleteWebhookRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DeleteWebhookRequest;

                        /**
                         * Verifies a DeleteWebhookRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteWebhookRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteWebhookRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DeleteWebhookRequest;

                        /**
                         * Creates a plain object from a DeleteWebhookRequest message. Also converts values to other types if specified.
                         * @param message DeleteWebhookRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DeleteWebhookRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteWebhookRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteWebhookRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a WebhookRequest. */
                    interface IWebhookRequest {

                        /** WebhookRequest detectIntentResponseId */
                        detectIntentResponseId?: (string|null);

                        /** WebhookRequest text */
                        text?: (string|null);

                        /** WebhookRequest triggerIntent */
                        triggerIntent?: (string|null);

                        /** WebhookRequest transcript */
                        transcript?: (string|null);

                        /** WebhookRequest triggerEvent */
                        triggerEvent?: (string|null);

                        /** WebhookRequest dtmfDigits */
                        dtmfDigits?: (string|null);

                        /** WebhookRequest languageCode */
                        languageCode?: (string|null);

                        /** WebhookRequest fulfillmentInfo */
                        fulfillmentInfo?: (google.cloud.dialogflow.cx.v3.WebhookRequest.IFulfillmentInfo|null);

                        /** WebhookRequest intentInfo */
                        intentInfo?: (google.cloud.dialogflow.cx.v3.WebhookRequest.IIntentInfo|null);

                        /** WebhookRequest pageInfo */
                        pageInfo?: (google.cloud.dialogflow.cx.v3.IPageInfo|null);

                        /** WebhookRequest sessionInfo */
                        sessionInfo?: (google.cloud.dialogflow.cx.v3.ISessionInfo|null);

                        /** WebhookRequest messages */
                        messages?: (google.cloud.dialogflow.cx.v3.IResponseMessage[]|null);

                        /** WebhookRequest payload */
                        payload?: (google.protobuf.IStruct|null);

                        /** WebhookRequest sentimentAnalysisResult */
                        sentimentAnalysisResult?: (google.cloud.dialogflow.cx.v3.WebhookRequest.ISentimentAnalysisResult|null);

                        /** WebhookRequest languageInfo */
                        languageInfo?: (google.cloud.dialogflow.cx.v3.ILanguageInfo|null);
                    }

                    /** Represents a WebhookRequest. */
                    class WebhookRequest implements IWebhookRequest {

                        /**
                         * Constructs a new WebhookRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IWebhookRequest);

                        /** WebhookRequest detectIntentResponseId. */
                        public detectIntentResponseId: string;

                        /** WebhookRequest text. */
                        public text?: (string|null);

                        /** WebhookRequest triggerIntent. */
                        public triggerIntent?: (string|null);

                        /** WebhookRequest transcript. */
                        public transcript?: (string|null);

                        /** WebhookRequest triggerEvent. */
                        public triggerEvent?: (string|null);

                        /** WebhookRequest dtmfDigits. */
                        public dtmfDigits?: (string|null);

                        /** WebhookRequest languageCode. */
                        public languageCode: string;

                        /** WebhookRequest fulfillmentInfo. */
                        public fulfillmentInfo?: (google.cloud.dialogflow.cx.v3.WebhookRequest.IFulfillmentInfo|null);

                        /** WebhookRequest intentInfo. */
                        public intentInfo?: (google.cloud.dialogflow.cx.v3.WebhookRequest.IIntentInfo|null);

                        /** WebhookRequest pageInfo. */
                        public pageInfo?: (google.cloud.dialogflow.cx.v3.IPageInfo|null);

                        /** WebhookRequest sessionInfo. */
                        public sessionInfo?: (google.cloud.dialogflow.cx.v3.ISessionInfo|null);

                        /** WebhookRequest messages. */
                        public messages: google.cloud.dialogflow.cx.v3.IResponseMessage[];

                        /** WebhookRequest payload. */
                        public payload?: (google.protobuf.IStruct|null);

                        /** WebhookRequest sentimentAnalysisResult. */
                        public sentimentAnalysisResult?: (google.cloud.dialogflow.cx.v3.WebhookRequest.ISentimentAnalysisResult|null);

                        /** WebhookRequest languageInfo. */
                        public languageInfo?: (google.cloud.dialogflow.cx.v3.ILanguageInfo|null);

                        /** WebhookRequest query. */
                        public query?: ("text"|"triggerIntent"|"transcript"|"triggerEvent"|"dtmfDigits");

                        /**
                         * Creates a new WebhookRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns WebhookRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IWebhookRequest): google.cloud.dialogflow.cx.v3.WebhookRequest;

                        /**
                         * Encodes the specified WebhookRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.WebhookRequest.verify|verify} messages.
                         * @param message WebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified WebhookRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.WebhookRequest.verify|verify} messages.
                         * @param message WebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a WebhookRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns WebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.WebhookRequest;

                        /**
                         * Decodes a WebhookRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns WebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.WebhookRequest;

                        /**
                         * Verifies a WebhookRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a WebhookRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns WebhookRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.WebhookRequest;

                        /**
                         * Creates a plain object from a WebhookRequest message. Also converts values to other types if specified.
                         * @param message WebhookRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.WebhookRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this WebhookRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for WebhookRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace WebhookRequest {

                        /** Properties of a FulfillmentInfo. */
                        interface IFulfillmentInfo {

                            /** FulfillmentInfo tag */
                            tag?: (string|null);
                        }

                        /** Represents a FulfillmentInfo. */
                        class FulfillmentInfo implements IFulfillmentInfo {

                            /**
                             * Constructs a new FulfillmentInfo.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.WebhookRequest.IFulfillmentInfo);

                            /** FulfillmentInfo tag. */
                            public tag: string;

                            /**
                             * Creates a new FulfillmentInfo instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns FulfillmentInfo instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.WebhookRequest.IFulfillmentInfo): google.cloud.dialogflow.cx.v3.WebhookRequest.FulfillmentInfo;

                            /**
                             * Encodes the specified FulfillmentInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.WebhookRequest.FulfillmentInfo.verify|verify} messages.
                             * @param message FulfillmentInfo message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.WebhookRequest.IFulfillmentInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified FulfillmentInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.WebhookRequest.FulfillmentInfo.verify|verify} messages.
                             * @param message FulfillmentInfo message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.WebhookRequest.IFulfillmentInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a FulfillmentInfo message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns FulfillmentInfo
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.WebhookRequest.FulfillmentInfo;

                            /**
                             * Decodes a FulfillmentInfo message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns FulfillmentInfo
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.WebhookRequest.FulfillmentInfo;

                            /**
                             * Verifies a FulfillmentInfo message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a FulfillmentInfo message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns FulfillmentInfo
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.WebhookRequest.FulfillmentInfo;

                            /**
                             * Creates a plain object from a FulfillmentInfo message. Also converts values to other types if specified.
                             * @param message FulfillmentInfo
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.WebhookRequest.FulfillmentInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this FulfillmentInfo to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for FulfillmentInfo
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of an IntentInfo. */
                        interface IIntentInfo {

                            /** IntentInfo lastMatchedIntent */
                            lastMatchedIntent?: (string|null);

                            /** IntentInfo displayName */
                            displayName?: (string|null);

                            /** IntentInfo parameters */
                            parameters?: ({ [k: string]: google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo.IIntentParameterValue }|null);

                            /** IntentInfo confidence */
                            confidence?: (number|null);
                        }

                        /** Represents an IntentInfo. */
                        class IntentInfo implements IIntentInfo {

                            /**
                             * Constructs a new IntentInfo.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.WebhookRequest.IIntentInfo);

                            /** IntentInfo lastMatchedIntent. */
                            public lastMatchedIntent: string;

                            /** IntentInfo displayName. */
                            public displayName: string;

                            /** IntentInfo parameters. */
                            public parameters: { [k: string]: google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo.IIntentParameterValue };

                            /** IntentInfo confidence. */
                            public confidence: number;

                            /**
                             * Creates a new IntentInfo instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns IntentInfo instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.WebhookRequest.IIntentInfo): google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo;

                            /**
                             * Encodes the specified IntentInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo.verify|verify} messages.
                             * @param message IntentInfo message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.WebhookRequest.IIntentInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified IntentInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo.verify|verify} messages.
                             * @param message IntentInfo message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.WebhookRequest.IIntentInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an IntentInfo message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns IntentInfo
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo;

                            /**
                             * Decodes an IntentInfo message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns IntentInfo
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo;

                            /**
                             * Verifies an IntentInfo message.
                             * @param message Plain 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 IntentInfo message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns IntentInfo
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo;

                            /**
                             * Creates a plain object from an IntentInfo message. Also converts values to other types if specified.
                             * @param message IntentInfo
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this IntentInfo to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for IntentInfo
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace IntentInfo {

                            /** Properties of an IntentParameterValue. */
                            interface IIntentParameterValue {

                                /** IntentParameterValue originalValue */
                                originalValue?: (string|null);

                                /** IntentParameterValue resolvedValue */
                                resolvedValue?: (google.protobuf.IValue|null);
                            }

                            /** Represents an IntentParameterValue. */
                            class IntentParameterValue implements IIntentParameterValue {

                                /**
                                 * Constructs a new IntentParameterValue.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo.IIntentParameterValue);

                                /** IntentParameterValue originalValue. */
                                public originalValue: string;

                                /** IntentParameterValue resolvedValue. */
                                public resolvedValue?: (google.protobuf.IValue|null);

                                /**
                                 * Creates a new IntentParameterValue instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns IntentParameterValue instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo.IIntentParameterValue): google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo.IntentParameterValue;

                                /**
                                 * Encodes the specified IntentParameterValue message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo.IntentParameterValue.verify|verify} messages.
                                 * @param message IntentParameterValue message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo.IIntentParameterValue, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified IntentParameterValue message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo.IntentParameterValue.verify|verify} messages.
                                 * @param message IntentParameterValue message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo.IIntentParameterValue, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes an IntentParameterValue message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns IntentParameterValue
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo.IntentParameterValue;

                                /**
                                 * Decodes an IntentParameterValue message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns IntentParameterValue
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo.IntentParameterValue;

                                /**
                                 * Verifies an IntentParameterValue message.
                                 * @param message Plain 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 IntentParameterValue message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns IntentParameterValue
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo.IntentParameterValue;

                                /**
                                 * Creates a plain object from an IntentParameterValue message. Also converts values to other types if specified.
                                 * @param message IntentParameterValue
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3.WebhookRequest.IntentInfo.IntentParameterValue, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this IntentParameterValue to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for IntentParameterValue
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }

                        /** Properties of a SentimentAnalysisResult. */
                        interface ISentimentAnalysisResult {

                            /** SentimentAnalysisResult score */
                            score?: (number|null);

                            /** SentimentAnalysisResult magnitude */
                            magnitude?: (number|null);
                        }

                        /** Represents a SentimentAnalysisResult. */
                        class SentimentAnalysisResult implements ISentimentAnalysisResult {

                            /**
                             * Constructs a new SentimentAnalysisResult.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.WebhookRequest.ISentimentAnalysisResult);

                            /** SentimentAnalysisResult score. */
                            public score: number;

                            /** SentimentAnalysisResult magnitude. */
                            public magnitude: number;

                            /**
                             * Creates a new SentimentAnalysisResult instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns SentimentAnalysisResult instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.WebhookRequest.ISentimentAnalysisResult): google.cloud.dialogflow.cx.v3.WebhookRequest.SentimentAnalysisResult;

                            /**
                             * Encodes the specified SentimentAnalysisResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.WebhookRequest.SentimentAnalysisResult.verify|verify} messages.
                             * @param message SentimentAnalysisResult message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.WebhookRequest.ISentimentAnalysisResult, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified SentimentAnalysisResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.WebhookRequest.SentimentAnalysisResult.verify|verify} messages.
                             * @param message SentimentAnalysisResult message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.WebhookRequest.ISentimentAnalysisResult, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a SentimentAnalysisResult message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns SentimentAnalysisResult
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.WebhookRequest.SentimentAnalysisResult;

                            /**
                             * Decodes a SentimentAnalysisResult message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns SentimentAnalysisResult
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.WebhookRequest.SentimentAnalysisResult;

                            /**
                             * Verifies a SentimentAnalysisResult message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a SentimentAnalysisResult message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns SentimentAnalysisResult
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.WebhookRequest.SentimentAnalysisResult;

                            /**
                             * Creates a plain object from a SentimentAnalysisResult message. Also converts values to other types if specified.
                             * @param message SentimentAnalysisResult
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.WebhookRequest.SentimentAnalysisResult, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this SentimentAnalysisResult to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for SentimentAnalysisResult
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a WebhookResponse. */
                    interface IWebhookResponse {

                        /** WebhookResponse fulfillmentResponse */
                        fulfillmentResponse?: (google.cloud.dialogflow.cx.v3.WebhookResponse.IFulfillmentResponse|null);

                        /** WebhookResponse pageInfo */
                        pageInfo?: (google.cloud.dialogflow.cx.v3.IPageInfo|null);

                        /** WebhookResponse sessionInfo */
                        sessionInfo?: (google.cloud.dialogflow.cx.v3.ISessionInfo|null);

                        /** WebhookResponse payload */
                        payload?: (google.protobuf.IStruct|null);

                        /** WebhookResponse targetPage */
                        targetPage?: (string|null);

                        /** WebhookResponse targetFlow */
                        targetFlow?: (string|null);
                    }

                    /** Represents a WebhookResponse. */
                    class WebhookResponse implements IWebhookResponse {

                        /**
                         * Constructs a new WebhookResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IWebhookResponse);

                        /** WebhookResponse fulfillmentResponse. */
                        public fulfillmentResponse?: (google.cloud.dialogflow.cx.v3.WebhookResponse.IFulfillmentResponse|null);

                        /** WebhookResponse pageInfo. */
                        public pageInfo?: (google.cloud.dialogflow.cx.v3.IPageInfo|null);

                        /** WebhookResponse sessionInfo. */
                        public sessionInfo?: (google.cloud.dialogflow.cx.v3.ISessionInfo|null);

                        /** WebhookResponse payload. */
                        public payload?: (google.protobuf.IStruct|null);

                        /** WebhookResponse targetPage. */
                        public targetPage?: (string|null);

                        /** WebhookResponse targetFlow. */
                        public targetFlow?: (string|null);

                        /** WebhookResponse transition. */
                        public transition?: ("targetPage"|"targetFlow");

                        /**
                         * Creates a new WebhookResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns WebhookResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IWebhookResponse): google.cloud.dialogflow.cx.v3.WebhookResponse;

                        /**
                         * Encodes the specified WebhookResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.WebhookResponse.verify|verify} messages.
                         * @param message WebhookResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IWebhookResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified WebhookResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.WebhookResponse.verify|verify} messages.
                         * @param message WebhookResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IWebhookResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a WebhookResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns WebhookResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.WebhookResponse;

                        /**
                         * Decodes a WebhookResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns WebhookResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.WebhookResponse;

                        /**
                         * Verifies a WebhookResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a WebhookResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns WebhookResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.WebhookResponse;

                        /**
                         * Creates a plain object from a WebhookResponse message. Also converts values to other types if specified.
                         * @param message WebhookResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.WebhookResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this WebhookResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for WebhookResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace WebhookResponse {

                        /** Properties of a FulfillmentResponse. */
                        interface IFulfillmentResponse {

                            /** FulfillmentResponse messages */
                            messages?: (google.cloud.dialogflow.cx.v3.IResponseMessage[]|null);

                            /** FulfillmentResponse mergeBehavior */
                            mergeBehavior?: (google.cloud.dialogflow.cx.v3.WebhookResponse.FulfillmentResponse.MergeBehavior|keyof typeof google.cloud.dialogflow.cx.v3.WebhookResponse.FulfillmentResponse.MergeBehavior|null);
                        }

                        /** Represents a FulfillmentResponse. */
                        class FulfillmentResponse implements IFulfillmentResponse {

                            /**
                             * Constructs a new FulfillmentResponse.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.WebhookResponse.IFulfillmentResponse);

                            /** FulfillmentResponse messages. */
                            public messages: google.cloud.dialogflow.cx.v3.IResponseMessage[];

                            /** FulfillmentResponse mergeBehavior. */
                            public mergeBehavior: (google.cloud.dialogflow.cx.v3.WebhookResponse.FulfillmentResponse.MergeBehavior|keyof typeof google.cloud.dialogflow.cx.v3.WebhookResponse.FulfillmentResponse.MergeBehavior);

                            /**
                             * Creates a new FulfillmentResponse instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns FulfillmentResponse instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.WebhookResponse.IFulfillmentResponse): google.cloud.dialogflow.cx.v3.WebhookResponse.FulfillmentResponse;

                            /**
                             * Encodes the specified FulfillmentResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.WebhookResponse.FulfillmentResponse.verify|verify} messages.
                             * @param message FulfillmentResponse message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.WebhookResponse.IFulfillmentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified FulfillmentResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.WebhookResponse.FulfillmentResponse.verify|verify} messages.
                             * @param message FulfillmentResponse message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.WebhookResponse.IFulfillmentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a FulfillmentResponse message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns FulfillmentResponse
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.WebhookResponse.FulfillmentResponse;

                            /**
                             * Decodes a FulfillmentResponse message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns FulfillmentResponse
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.WebhookResponse.FulfillmentResponse;

                            /**
                             * Verifies a FulfillmentResponse message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a FulfillmentResponse message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns FulfillmentResponse
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.WebhookResponse.FulfillmentResponse;

                            /**
                             * Creates a plain object from a FulfillmentResponse message. Also converts values to other types if specified.
                             * @param message FulfillmentResponse
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.WebhookResponse.FulfillmentResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this FulfillmentResponse to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for FulfillmentResponse
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace FulfillmentResponse {

                            /** MergeBehavior enum. */
                            enum MergeBehavior {
                                MERGE_BEHAVIOR_UNSPECIFIED = 0,
                                APPEND = 1,
                                REPLACE = 2
                            }
                        }
                    }

                    /** Properties of a PageInfo. */
                    interface IPageInfo {

                        /** PageInfo currentPage */
                        currentPage?: (string|null);

                        /** PageInfo displayName */
                        displayName?: (string|null);

                        /** PageInfo formInfo */
                        formInfo?: (google.cloud.dialogflow.cx.v3.PageInfo.IFormInfo|null);
                    }

                    /** Represents a PageInfo. */
                    class PageInfo implements IPageInfo {

                        /**
                         * Constructs a new PageInfo.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IPageInfo);

                        /** PageInfo currentPage. */
                        public currentPage: string;

                        /** PageInfo displayName. */
                        public displayName: string;

                        /** PageInfo formInfo. */
                        public formInfo?: (google.cloud.dialogflow.cx.v3.PageInfo.IFormInfo|null);

                        /**
                         * Creates a new PageInfo instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns PageInfo instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IPageInfo): google.cloud.dialogflow.cx.v3.PageInfo;

                        /**
                         * Encodes the specified PageInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.PageInfo.verify|verify} messages.
                         * @param message PageInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IPageInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified PageInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.PageInfo.verify|verify} messages.
                         * @param message PageInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IPageInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a PageInfo message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns PageInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.PageInfo;

                        /**
                         * Decodes a PageInfo message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns PageInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.PageInfo;

                        /**
                         * Verifies a PageInfo message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a PageInfo message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns PageInfo
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.PageInfo;

                        /**
                         * Creates a plain object from a PageInfo message. Also converts values to other types if specified.
                         * @param message PageInfo
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.PageInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this PageInfo to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for PageInfo
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace PageInfo {

                        /** Properties of a FormInfo. */
                        interface IFormInfo {

                            /** FormInfo parameterInfo */
                            parameterInfo?: (google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.IParameterInfo[]|null);
                        }

                        /** Represents a FormInfo. */
                        class FormInfo implements IFormInfo {

                            /**
                             * Constructs a new FormInfo.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.PageInfo.IFormInfo);

                            /** FormInfo parameterInfo. */
                            public parameterInfo: google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.IParameterInfo[];

                            /**
                             * Creates a new FormInfo instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns FormInfo instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.PageInfo.IFormInfo): google.cloud.dialogflow.cx.v3.PageInfo.FormInfo;

                            /**
                             * Encodes the specified FormInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.verify|verify} messages.
                             * @param message FormInfo message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.PageInfo.IFormInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified FormInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.verify|verify} messages.
                             * @param message FormInfo message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.PageInfo.IFormInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a FormInfo message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns FormInfo
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.PageInfo.FormInfo;

                            /**
                             * Decodes a FormInfo message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns FormInfo
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.PageInfo.FormInfo;

                            /**
                             * Verifies a FormInfo message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a FormInfo message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns FormInfo
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.PageInfo.FormInfo;

                            /**
                             * Creates a plain object from a FormInfo message. Also converts values to other types if specified.
                             * @param message FormInfo
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.PageInfo.FormInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this FormInfo to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for FormInfo
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace FormInfo {

                            /** Properties of a ParameterInfo. */
                            interface IParameterInfo {

                                /** ParameterInfo displayName */
                                displayName?: (string|null);

                                /** ParameterInfo required */
                                required?: (boolean|null);

                                /** ParameterInfo state */
                                state?: (google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.ParameterInfo.ParameterState|keyof typeof google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.ParameterInfo.ParameterState|null);

                                /** ParameterInfo value */
                                value?: (google.protobuf.IValue|null);

                                /** ParameterInfo justCollected */
                                justCollected?: (boolean|null);
                            }

                            /** Represents a ParameterInfo. */
                            class ParameterInfo implements IParameterInfo {

                                /**
                                 * Constructs a new ParameterInfo.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.IParameterInfo);

                                /** ParameterInfo displayName. */
                                public displayName: string;

                                /** ParameterInfo required. */
                                public required: boolean;

                                /** ParameterInfo state. */
                                public state: (google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.ParameterInfo.ParameterState|keyof typeof google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.ParameterInfo.ParameterState);

                                /** ParameterInfo value. */
                                public value?: (google.protobuf.IValue|null);

                                /** ParameterInfo justCollected. */
                                public justCollected: boolean;

                                /**
                                 * Creates a new ParameterInfo instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns ParameterInfo instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.IParameterInfo): google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.ParameterInfo;

                                /**
                                 * Encodes the specified ParameterInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.ParameterInfo.verify|verify} messages.
                                 * @param message ParameterInfo message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.IParameterInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified ParameterInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.ParameterInfo.verify|verify} messages.
                                 * @param message ParameterInfo message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.IParameterInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a ParameterInfo message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns ParameterInfo
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.ParameterInfo;

                                /**
                                 * Decodes a ParameterInfo message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns ParameterInfo
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.ParameterInfo;

                                /**
                                 * Verifies a ParameterInfo message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a ParameterInfo message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns ParameterInfo
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.ParameterInfo;

                                /**
                                 * Creates a plain object from a ParameterInfo message. Also converts values to other types if specified.
                                 * @param message ParameterInfo
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3.PageInfo.FormInfo.ParameterInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this ParameterInfo to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for ParameterInfo
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            namespace ParameterInfo {

                                /** ParameterState enum. */
                                enum ParameterState {
                                    PARAMETER_STATE_UNSPECIFIED = 0,
                                    EMPTY = 1,
                                    INVALID = 2,
                                    FILLED = 3
                                }
                            }
                        }
                    }

                    /** Properties of a SessionInfo. */
                    interface ISessionInfo {

                        /** SessionInfo session */
                        session?: (string|null);

                        /** SessionInfo parameters */
                        parameters?: ({ [k: string]: google.protobuf.IValue }|null);
                    }

                    /** Represents a SessionInfo. */
                    class SessionInfo implements ISessionInfo {

                        /**
                         * Constructs a new SessionInfo.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ISessionInfo);

                        /** SessionInfo session. */
                        public session: string;

                        /** SessionInfo parameters. */
                        public parameters: { [k: string]: google.protobuf.IValue };

                        /**
                         * Creates a new SessionInfo instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SessionInfo instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ISessionInfo): google.cloud.dialogflow.cx.v3.SessionInfo;

                        /**
                         * Encodes the specified SessionInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SessionInfo.verify|verify} messages.
                         * @param message SessionInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ISessionInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SessionInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SessionInfo.verify|verify} messages.
                         * @param message SessionInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ISessionInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SessionInfo message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SessionInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.SessionInfo;

                        /**
                         * Decodes a SessionInfo message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SessionInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.SessionInfo;

                        /**
                         * Verifies a SessionInfo message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SessionInfo message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SessionInfo
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.SessionInfo;

                        /**
                         * Creates a plain object from a SessionInfo message. Also converts values to other types if specified.
                         * @param message SessionInfo
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.SessionInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SessionInfo to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SessionInfo
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a LanguageInfo. */
                    interface ILanguageInfo {

                        /** LanguageInfo inputLanguageCode */
                        inputLanguageCode?: (string|null);

                        /** LanguageInfo resolvedLanguageCode */
                        resolvedLanguageCode?: (string|null);

                        /** LanguageInfo confidenceScore */
                        confidenceScore?: (number|null);
                    }

                    /** Represents a LanguageInfo. */
                    class LanguageInfo implements ILanguageInfo {

                        /**
                         * Constructs a new LanguageInfo.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ILanguageInfo);

                        /** LanguageInfo inputLanguageCode. */
                        public inputLanguageCode: string;

                        /** LanguageInfo resolvedLanguageCode. */
                        public resolvedLanguageCode: string;

                        /** LanguageInfo confidenceScore. */
                        public confidenceScore: number;

                        /**
                         * Creates a new LanguageInfo instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns LanguageInfo instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ILanguageInfo): google.cloud.dialogflow.cx.v3.LanguageInfo;

                        /**
                         * Encodes the specified LanguageInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.LanguageInfo.verify|verify} messages.
                         * @param message LanguageInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ILanguageInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified LanguageInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.LanguageInfo.verify|verify} messages.
                         * @param message LanguageInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ILanguageInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a LanguageInfo message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns LanguageInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.LanguageInfo;

                        /**
                         * Decodes a LanguageInfo message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns LanguageInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.LanguageInfo;

                        /**
                         * Verifies a LanguageInfo message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a LanguageInfo message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns LanguageInfo
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.LanguageInfo;

                        /**
                         * Creates a plain object from a LanguageInfo message. Also converts values to other types if specified.
                         * @param message LanguageInfo
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.LanguageInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this LanguageInfo to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for LanguageInfo
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents an Experiments */
                    class Experiments extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Experiments 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 Experiments 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): Experiments;

                        /**
                         * Calls ListExperiments.
                         * @param request ListExperimentsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListExperimentsResponse
                         */
                        public listExperiments(request: google.cloud.dialogflow.cx.v3.IListExperimentsRequest, callback: google.cloud.dialogflow.cx.v3.Experiments.ListExperimentsCallback): void;

                        /**
                         * Calls ListExperiments.
                         * @param request ListExperimentsRequest message or plain object
                         * @returns Promise
                         */
                        public listExperiments(request: google.cloud.dialogflow.cx.v3.IListExperimentsRequest): Promise<google.cloud.dialogflow.cx.v3.ListExperimentsResponse>;

                        /**
                         * Calls GetExperiment.
                         * @param request GetExperimentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Experiment
                         */
                        public getExperiment(request: google.cloud.dialogflow.cx.v3.IGetExperimentRequest, callback: google.cloud.dialogflow.cx.v3.Experiments.GetExperimentCallback): void;

                        /**
                         * Calls GetExperiment.
                         * @param request GetExperimentRequest message or plain object
                         * @returns Promise
                         */
                        public getExperiment(request: google.cloud.dialogflow.cx.v3.IGetExperimentRequest): Promise<google.cloud.dialogflow.cx.v3.Experiment>;

                        /**
                         * Calls CreateExperiment.
                         * @param request CreateExperimentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Experiment
                         */
                        public createExperiment(request: google.cloud.dialogflow.cx.v3.ICreateExperimentRequest, callback: google.cloud.dialogflow.cx.v3.Experiments.CreateExperimentCallback): void;

                        /**
                         * Calls CreateExperiment.
                         * @param request CreateExperimentRequest message or plain object
                         * @returns Promise
                         */
                        public createExperiment(request: google.cloud.dialogflow.cx.v3.ICreateExperimentRequest): Promise<google.cloud.dialogflow.cx.v3.Experiment>;

                        /**
                         * Calls UpdateExperiment.
                         * @param request UpdateExperimentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Experiment
                         */
                        public updateExperiment(request: google.cloud.dialogflow.cx.v3.IUpdateExperimentRequest, callback: google.cloud.dialogflow.cx.v3.Experiments.UpdateExperimentCallback): void;

                        /**
                         * Calls UpdateExperiment.
                         * @param request UpdateExperimentRequest message or plain object
                         * @returns Promise
                         */
                        public updateExperiment(request: google.cloud.dialogflow.cx.v3.IUpdateExperimentRequest): Promise<google.cloud.dialogflow.cx.v3.Experiment>;

                        /**
                         * Calls DeleteExperiment.
                         * @param request DeleteExperimentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteExperiment(request: google.cloud.dialogflow.cx.v3.IDeleteExperimentRequest, callback: google.cloud.dialogflow.cx.v3.Experiments.DeleteExperimentCallback): void;

                        /**
                         * Calls DeleteExperiment.
                         * @param request DeleteExperimentRequest message or plain object
                         * @returns Promise
                         */
                        public deleteExperiment(request: google.cloud.dialogflow.cx.v3.IDeleteExperimentRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls StartExperiment.
                         * @param request StartExperimentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Experiment
                         */
                        public startExperiment(request: google.cloud.dialogflow.cx.v3.IStartExperimentRequest, callback: google.cloud.dialogflow.cx.v3.Experiments.StartExperimentCallback): void;

                        /**
                         * Calls StartExperiment.
                         * @param request StartExperimentRequest message or plain object
                         * @returns Promise
                         */
                        public startExperiment(request: google.cloud.dialogflow.cx.v3.IStartExperimentRequest): Promise<google.cloud.dialogflow.cx.v3.Experiment>;

                        /**
                         * Calls StopExperiment.
                         * @param request StopExperimentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Experiment
                         */
                        public stopExperiment(request: google.cloud.dialogflow.cx.v3.IStopExperimentRequest, callback: google.cloud.dialogflow.cx.v3.Experiments.StopExperimentCallback): void;

                        /**
                         * Calls StopExperiment.
                         * @param request StopExperimentRequest message or plain object
                         * @returns Promise
                         */
                        public stopExperiment(request: google.cloud.dialogflow.cx.v3.IStopExperimentRequest): Promise<google.cloud.dialogflow.cx.v3.Experiment>;
                    }

                    namespace Experiments {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Experiments|listExperiments}.
                         * @param error Error, if any
                         * @param [response] ListExperimentsResponse
                         */
                        type ListExperimentsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListExperimentsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Experiments|getExperiment}.
                         * @param error Error, if any
                         * @param [response] Experiment
                         */
                        type GetExperimentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Experiment) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Experiments|createExperiment}.
                         * @param error Error, if any
                         * @param [response] Experiment
                         */
                        type CreateExperimentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Experiment) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Experiments|updateExperiment}.
                         * @param error Error, if any
                         * @param [response] Experiment
                         */
                        type UpdateExperimentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Experiment) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Experiments|deleteExperiment}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteExperimentCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Experiments|startExperiment}.
                         * @param error Error, if any
                         * @param [response] Experiment
                         */
                        type StartExperimentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Experiment) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Experiments|stopExperiment}.
                         * @param error Error, if any
                         * @param [response] Experiment
                         */
                        type StopExperimentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Experiment) => void;
                    }

                    /** Properties of an Experiment. */
                    interface IExperiment {

                        /** Experiment name */
                        name?: (string|null);

                        /** Experiment displayName */
                        displayName?: (string|null);

                        /** Experiment description */
                        description?: (string|null);

                        /** Experiment state */
                        state?: (google.cloud.dialogflow.cx.v3.Experiment.State|keyof typeof google.cloud.dialogflow.cx.v3.Experiment.State|null);

                        /** Experiment definition */
                        definition?: (google.cloud.dialogflow.cx.v3.Experiment.IDefinition|null);

                        /** Experiment rolloutConfig */
                        rolloutConfig?: (google.cloud.dialogflow.cx.v3.IRolloutConfig|null);

                        /** Experiment rolloutState */
                        rolloutState?: (google.cloud.dialogflow.cx.v3.IRolloutState|null);

                        /** Experiment rolloutFailureReason */
                        rolloutFailureReason?: (string|null);

                        /** Experiment result */
                        result?: (google.cloud.dialogflow.cx.v3.Experiment.IResult|null);

                        /** Experiment createTime */
                        createTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment startTime */
                        startTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment endTime */
                        endTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment lastUpdateTime */
                        lastUpdateTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment experimentLength */
                        experimentLength?: (google.protobuf.IDuration|null);

                        /** Experiment variantsHistory */
                        variantsHistory?: (google.cloud.dialogflow.cx.v3.IVariantsHistory[]|null);
                    }

                    /** Represents an Experiment. */
                    class Experiment implements IExperiment {

                        /**
                         * Constructs a new Experiment.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IExperiment);

                        /** Experiment name. */
                        public name: string;

                        /** Experiment displayName. */
                        public displayName: string;

                        /** Experiment description. */
                        public description: string;

                        /** Experiment state. */
                        public state: (google.cloud.dialogflow.cx.v3.Experiment.State|keyof typeof google.cloud.dialogflow.cx.v3.Experiment.State);

                        /** Experiment definition. */
                        public definition?: (google.cloud.dialogflow.cx.v3.Experiment.IDefinition|null);

                        /** Experiment rolloutConfig. */
                        public rolloutConfig?: (google.cloud.dialogflow.cx.v3.IRolloutConfig|null);

                        /** Experiment rolloutState. */
                        public rolloutState?: (google.cloud.dialogflow.cx.v3.IRolloutState|null);

                        /** Experiment rolloutFailureReason. */
                        public rolloutFailureReason: string;

                        /** Experiment result. */
                        public result?: (google.cloud.dialogflow.cx.v3.Experiment.IResult|null);

                        /** Experiment createTime. */
                        public createTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment startTime. */
                        public startTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment endTime. */
                        public endTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment lastUpdateTime. */
                        public lastUpdateTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment experimentLength. */
                        public experimentLength?: (google.protobuf.IDuration|null);

                        /** Experiment variantsHistory. */
                        public variantsHistory: google.cloud.dialogflow.cx.v3.IVariantsHistory[];

                        /**
                         * Creates a new Experiment instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Experiment instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IExperiment): google.cloud.dialogflow.cx.v3.Experiment;

                        /**
                         * Encodes the specified Experiment message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Experiment.verify|verify} messages.
                         * @param message Experiment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IExperiment, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Experiment message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Experiment.verify|verify} messages.
                         * @param message Experiment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IExperiment, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an Experiment message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Experiment
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Experiment;

                        /**
                         * Decodes an Experiment message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Experiment
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Experiment;

                        /**
                         * Verifies an Experiment message.
                         * @param message Plain 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 Experiment message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Experiment
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Experiment;

                        /**
                         * Creates a plain object from an Experiment message. Also converts values to other types if specified.
                         * @param message Experiment
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.Experiment, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Experiment to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Experiment
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Experiment {

                        /** State enum. */
                        enum State {
                            STATE_UNSPECIFIED = 0,
                            DRAFT = 1,
                            RUNNING = 2,
                            DONE = 3,
                            ROLLOUT_FAILED = 4
                        }

                        /** Properties of a Definition. */
                        interface IDefinition {

                            /** Definition condition */
                            condition?: (string|null);

                            /** Definition versionVariants */
                            versionVariants?: (google.cloud.dialogflow.cx.v3.IVersionVariants|null);
                        }

                        /** Represents a Definition. */
                        class Definition implements IDefinition {

                            /**
                             * Constructs a new Definition.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Experiment.IDefinition);

                            /** Definition condition. */
                            public condition: string;

                            /** Definition versionVariants. */
                            public versionVariants?: (google.cloud.dialogflow.cx.v3.IVersionVariants|null);

                            /** Definition variants. */
                            public variants?: "versionVariants";

                            /**
                             * Creates a new Definition instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Definition instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Experiment.IDefinition): google.cloud.dialogflow.cx.v3.Experiment.Definition;

                            /**
                             * Encodes the specified Definition message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Experiment.Definition.verify|verify} messages.
                             * @param message Definition message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Experiment.IDefinition, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Definition message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Experiment.Definition.verify|verify} messages.
                             * @param message Definition message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Experiment.IDefinition, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Definition message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Definition
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Experiment.Definition;

                            /**
                             * Decodes a Definition message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Definition
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Experiment.Definition;

                            /**
                             * Verifies a Definition message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Definition message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Definition
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Experiment.Definition;

                            /**
                             * Creates a plain object from a Definition message. Also converts values to other types if specified.
                             * @param message Definition
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.Experiment.Definition, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Definition to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Definition
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a Result. */
                        interface IResult {

                            /** Result versionMetrics */
                            versionMetrics?: (google.cloud.dialogflow.cx.v3.Experiment.Result.IVersionMetrics[]|null);

                            /** Result lastUpdateTime */
                            lastUpdateTime?: (google.protobuf.ITimestamp|null);
                        }

                        /** Represents a Result. */
                        class Result implements IResult {

                            /**
                             * Constructs a new Result.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Experiment.IResult);

                            /** Result versionMetrics. */
                            public versionMetrics: google.cloud.dialogflow.cx.v3.Experiment.Result.IVersionMetrics[];

                            /** Result lastUpdateTime. */
                            public lastUpdateTime?: (google.protobuf.ITimestamp|null);

                            /**
                             * Creates a new Result instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Result instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Experiment.IResult): google.cloud.dialogflow.cx.v3.Experiment.Result;

                            /**
                             * Encodes the specified Result message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Experiment.Result.verify|verify} messages.
                             * @param message Result message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Experiment.IResult, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Experiment.Result.verify|verify} messages.
                             * @param message Result message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Experiment.IResult, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Result message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Result
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Experiment.Result;

                            /**
                             * Decodes a Result message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Result
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Experiment.Result;

                            /**
                             * Verifies a Result message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Result message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Result
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Experiment.Result;

                            /**
                             * Creates a plain object from a Result message. Also converts values to other types if specified.
                             * @param message Result
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.Experiment.Result, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Result to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Result
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace Result {

                            /** MetricType enum. */
                            enum MetricType {
                                METRIC_UNSPECIFIED = 0,
                                CONTAINED_SESSION_NO_CALLBACK_RATE = 1,
                                LIVE_AGENT_HANDOFF_RATE = 2,
                                CALLBACK_SESSION_RATE = 3,
                                ABANDONED_SESSION_RATE = 4,
                                SESSION_END_RATE = 5
                            }

                            /** CountType enum. */
                            enum CountType {
                                COUNT_TYPE_UNSPECIFIED = 0,
                                TOTAL_NO_MATCH_COUNT = 1,
                                TOTAL_TURN_COUNT = 2,
                                AVERAGE_TURN_COUNT = 3
                            }

                            /** Properties of a ConfidenceInterval. */
                            interface IConfidenceInterval {

                                /** ConfidenceInterval confidenceLevel */
                                confidenceLevel?: (number|null);

                                /** ConfidenceInterval ratio */
                                ratio?: (number|null);

                                /** ConfidenceInterval lowerBound */
                                lowerBound?: (number|null);

                                /** ConfidenceInterval upperBound */
                                upperBound?: (number|null);
                            }

                            /** Represents a ConfidenceInterval. */
                            class ConfidenceInterval implements IConfidenceInterval {

                                /**
                                 * Constructs a new ConfidenceInterval.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3.Experiment.Result.IConfidenceInterval);

                                /** ConfidenceInterval confidenceLevel. */
                                public confidenceLevel: number;

                                /** ConfidenceInterval ratio. */
                                public ratio: number;

                                /** ConfidenceInterval lowerBound. */
                                public lowerBound: number;

                                /** ConfidenceInterval upperBound. */
                                public upperBound: number;

                                /**
                                 * Creates a new ConfidenceInterval instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns ConfidenceInterval instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3.Experiment.Result.IConfidenceInterval): google.cloud.dialogflow.cx.v3.Experiment.Result.ConfidenceInterval;

                                /**
                                 * Encodes the specified ConfidenceInterval message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Experiment.Result.ConfidenceInterval.verify|verify} messages.
                                 * @param message ConfidenceInterval message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3.Experiment.Result.IConfidenceInterval, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified ConfidenceInterval message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Experiment.Result.ConfidenceInterval.verify|verify} messages.
                                 * @param message ConfidenceInterval message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Experiment.Result.IConfidenceInterval, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a ConfidenceInterval message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns ConfidenceInterval
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Experiment.Result.ConfidenceInterval;

                                /**
                                 * Decodes a ConfidenceInterval message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns ConfidenceInterval
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Experiment.Result.ConfidenceInterval;

                                /**
                                 * Verifies a ConfidenceInterval message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a ConfidenceInterval message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns ConfidenceInterval
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Experiment.Result.ConfidenceInterval;

                                /**
                                 * Creates a plain object from a ConfidenceInterval message. Also converts values to other types if specified.
                                 * @param message ConfidenceInterval
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3.Experiment.Result.ConfidenceInterval, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this ConfidenceInterval to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for ConfidenceInterval
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            /** Properties of a Metric. */
                            interface IMetric {

                                /** Metric type */
                                type?: (google.cloud.dialogflow.cx.v3.Experiment.Result.MetricType|keyof typeof google.cloud.dialogflow.cx.v3.Experiment.Result.MetricType|null);

                                /** Metric countType */
                                countType?: (google.cloud.dialogflow.cx.v3.Experiment.Result.CountType|keyof typeof google.cloud.dialogflow.cx.v3.Experiment.Result.CountType|null);

                                /** Metric ratio */
                                ratio?: (number|null);

                                /** Metric count */
                                count?: (number|null);

                                /** Metric confidenceInterval */
                                confidenceInterval?: (google.cloud.dialogflow.cx.v3.Experiment.Result.IConfidenceInterval|null);
                            }

                            /** Represents a Metric. */
                            class Metric implements IMetric {

                                /**
                                 * Constructs a new Metric.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3.Experiment.Result.IMetric);

                                /** Metric type. */
                                public type: (google.cloud.dialogflow.cx.v3.Experiment.Result.MetricType|keyof typeof google.cloud.dialogflow.cx.v3.Experiment.Result.MetricType);

                                /** Metric countType. */
                                public countType: (google.cloud.dialogflow.cx.v3.Experiment.Result.CountType|keyof typeof google.cloud.dialogflow.cx.v3.Experiment.Result.CountType);

                                /** Metric ratio. */
                                public ratio?: (number|null);

                                /** Metric count. */
                                public count?: (number|null);

                                /** Metric confidenceInterval. */
                                public confidenceInterval?: (google.cloud.dialogflow.cx.v3.Experiment.Result.IConfidenceInterval|null);

                                /** Metric value. */
                                public value?: ("ratio"|"count");

                                /**
                                 * Creates a new Metric instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns Metric instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3.Experiment.Result.IMetric): google.cloud.dialogflow.cx.v3.Experiment.Result.Metric;

                                /**
                                 * Encodes the specified Metric message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Experiment.Result.Metric.verify|verify} messages.
                                 * @param message Metric message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3.Experiment.Result.IMetric, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified Metric message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Experiment.Result.Metric.verify|verify} messages.
                                 * @param message Metric message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Experiment.Result.IMetric, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a Metric message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns Metric
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Experiment.Result.Metric;

                                /**
                                 * Decodes a Metric message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns Metric
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Experiment.Result.Metric;

                                /**
                                 * Verifies a Metric message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a Metric message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns Metric
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Experiment.Result.Metric;

                                /**
                                 * Creates a plain object from a Metric message. Also converts values to other types if specified.
                                 * @param message Metric
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3.Experiment.Result.Metric, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this Metric to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for Metric
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            /** Properties of a VersionMetrics. */
                            interface IVersionMetrics {

                                /** VersionMetrics version */
                                version?: (string|null);

                                /** VersionMetrics metrics */
                                metrics?: (google.cloud.dialogflow.cx.v3.Experiment.Result.IMetric[]|null);

                                /** VersionMetrics sessionCount */
                                sessionCount?: (number|null);
                            }

                            /** Represents a VersionMetrics. */
                            class VersionMetrics implements IVersionMetrics {

                                /**
                                 * Constructs a new VersionMetrics.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3.Experiment.Result.IVersionMetrics);

                                /** VersionMetrics version. */
                                public version: string;

                                /** VersionMetrics metrics. */
                                public metrics: google.cloud.dialogflow.cx.v3.Experiment.Result.IMetric[];

                                /** VersionMetrics sessionCount. */
                                public sessionCount: number;

                                /**
                                 * Creates a new VersionMetrics instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns VersionMetrics instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3.Experiment.Result.IVersionMetrics): google.cloud.dialogflow.cx.v3.Experiment.Result.VersionMetrics;

                                /**
                                 * Encodes the specified VersionMetrics message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Experiment.Result.VersionMetrics.verify|verify} messages.
                                 * @param message VersionMetrics message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3.Experiment.Result.IVersionMetrics, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified VersionMetrics message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Experiment.Result.VersionMetrics.verify|verify} messages.
                                 * @param message VersionMetrics message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Experiment.Result.IVersionMetrics, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a VersionMetrics message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns VersionMetrics
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Experiment.Result.VersionMetrics;

                                /**
                                 * Decodes a VersionMetrics message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns VersionMetrics
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Experiment.Result.VersionMetrics;

                                /**
                                 * Verifies a VersionMetrics message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a VersionMetrics message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns VersionMetrics
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Experiment.Result.VersionMetrics;

                                /**
                                 * Creates a plain object from a VersionMetrics message. Also converts values to other types if specified.
                                 * @param message VersionMetrics
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3.Experiment.Result.VersionMetrics, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this VersionMetrics to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for VersionMetrics
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }
                    }

                    /** Properties of a VersionVariants. */
                    interface IVersionVariants {

                        /** VersionVariants variants */
                        variants?: (google.cloud.dialogflow.cx.v3.VersionVariants.IVariant[]|null);
                    }

                    /** Represents a VersionVariants. */
                    class VersionVariants implements IVersionVariants {

                        /**
                         * Constructs a new VersionVariants.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IVersionVariants);

                        /** VersionVariants variants. */
                        public variants: google.cloud.dialogflow.cx.v3.VersionVariants.IVariant[];

                        /**
                         * Creates a new VersionVariants instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns VersionVariants instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IVersionVariants): google.cloud.dialogflow.cx.v3.VersionVariants;

                        /**
                         * Encodes the specified VersionVariants message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.VersionVariants.verify|verify} messages.
                         * @param message VersionVariants message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IVersionVariants, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified VersionVariants message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.VersionVariants.verify|verify} messages.
                         * @param message VersionVariants message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IVersionVariants, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a VersionVariants message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns VersionVariants
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.VersionVariants;

                        /**
                         * Decodes a VersionVariants message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns VersionVariants
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.VersionVariants;

                        /**
                         * Verifies a VersionVariants message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a VersionVariants message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns VersionVariants
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.VersionVariants;

                        /**
                         * Creates a plain object from a VersionVariants message. Also converts values to other types if specified.
                         * @param message VersionVariants
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.VersionVariants, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this VersionVariants to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for VersionVariants
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace VersionVariants {

                        /** Properties of a Variant. */
                        interface IVariant {

                            /** Variant version */
                            version?: (string|null);

                            /** Variant trafficAllocation */
                            trafficAllocation?: (number|null);

                            /** Variant isControlGroup */
                            isControlGroup?: (boolean|null);
                        }

                        /** Represents a Variant. */
                        class Variant implements IVariant {

                            /**
                             * Constructs a new Variant.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.VersionVariants.IVariant);

                            /** Variant version. */
                            public version: string;

                            /** Variant trafficAllocation. */
                            public trafficAllocation: number;

                            /** Variant isControlGroup. */
                            public isControlGroup: boolean;

                            /**
                             * Creates a new Variant instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Variant instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.VersionVariants.IVariant): google.cloud.dialogflow.cx.v3.VersionVariants.Variant;

                            /**
                             * Encodes the specified Variant message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.VersionVariants.Variant.verify|verify} messages.
                             * @param message Variant message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.VersionVariants.IVariant, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Variant message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.VersionVariants.Variant.verify|verify} messages.
                             * @param message Variant message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.VersionVariants.IVariant, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Variant message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Variant
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.VersionVariants.Variant;

                            /**
                             * Decodes a Variant message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Variant
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.VersionVariants.Variant;

                            /**
                             * Verifies a Variant message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Variant message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Variant
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.VersionVariants.Variant;

                            /**
                             * Creates a plain object from a Variant message. Also converts values to other types if specified.
                             * @param message Variant
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.VersionVariants.Variant, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Variant to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Variant
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a VariantsHistory. */
                    interface IVariantsHistory {

                        /** VariantsHistory versionVariants */
                        versionVariants?: (google.cloud.dialogflow.cx.v3.IVersionVariants|null);

                        /** VariantsHistory updateTime */
                        updateTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a VariantsHistory. */
                    class VariantsHistory implements IVariantsHistory {

                        /**
                         * Constructs a new VariantsHistory.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IVariantsHistory);

                        /** VariantsHistory versionVariants. */
                        public versionVariants?: (google.cloud.dialogflow.cx.v3.IVersionVariants|null);

                        /** VariantsHistory updateTime. */
                        public updateTime?: (google.protobuf.ITimestamp|null);

                        /** VariantsHistory variants. */
                        public variants?: "versionVariants";

                        /**
                         * Creates a new VariantsHistory instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns VariantsHistory instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IVariantsHistory): google.cloud.dialogflow.cx.v3.VariantsHistory;

                        /**
                         * Encodes the specified VariantsHistory message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.VariantsHistory.verify|verify} messages.
                         * @param message VariantsHistory message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IVariantsHistory, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified VariantsHistory message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.VariantsHistory.verify|verify} messages.
                         * @param message VariantsHistory message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IVariantsHistory, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a VariantsHistory message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns VariantsHistory
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.VariantsHistory;

                        /**
                         * Decodes a VariantsHistory message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns VariantsHistory
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.VariantsHistory;

                        /**
                         * Verifies a VariantsHistory message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a VariantsHistory message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns VariantsHistory
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.VariantsHistory;

                        /**
                         * Creates a plain object from a VariantsHistory message. Also converts values to other types if specified.
                         * @param message VariantsHistory
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.VariantsHistory, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this VariantsHistory to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for VariantsHistory
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a RolloutConfig. */
                    interface IRolloutConfig {

                        /** RolloutConfig rolloutSteps */
                        rolloutSteps?: (google.cloud.dialogflow.cx.v3.RolloutConfig.IRolloutStep[]|null);

                        /** RolloutConfig rolloutCondition */
                        rolloutCondition?: (string|null);

                        /** RolloutConfig failureCondition */
                        failureCondition?: (string|null);
                    }

                    /** Represents a RolloutConfig. */
                    class RolloutConfig implements IRolloutConfig {

                        /**
                         * Constructs a new RolloutConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IRolloutConfig);

                        /** RolloutConfig rolloutSteps. */
                        public rolloutSteps: google.cloud.dialogflow.cx.v3.RolloutConfig.IRolloutStep[];

                        /** RolloutConfig rolloutCondition. */
                        public rolloutCondition: string;

                        /** RolloutConfig failureCondition. */
                        public failureCondition: string;

                        /**
                         * Creates a new RolloutConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RolloutConfig instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IRolloutConfig): google.cloud.dialogflow.cx.v3.RolloutConfig;

                        /**
                         * Encodes the specified RolloutConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RolloutConfig.verify|verify} messages.
                         * @param message RolloutConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IRolloutConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RolloutConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RolloutConfig.verify|verify} messages.
                         * @param message RolloutConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IRolloutConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RolloutConfig message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RolloutConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.RolloutConfig;

                        /**
                         * Decodes a RolloutConfig message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RolloutConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.RolloutConfig;

                        /**
                         * Verifies a RolloutConfig message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RolloutConfig message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RolloutConfig
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.RolloutConfig;

                        /**
                         * Creates a plain object from a RolloutConfig message. Also converts values to other types if specified.
                         * @param message RolloutConfig
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.RolloutConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RolloutConfig to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RolloutConfig
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace RolloutConfig {

                        /** Properties of a RolloutStep. */
                        interface IRolloutStep {

                            /** RolloutStep displayName */
                            displayName?: (string|null);

                            /** RolloutStep trafficPercent */
                            trafficPercent?: (number|null);

                            /** RolloutStep minDuration */
                            minDuration?: (google.protobuf.IDuration|null);
                        }

                        /** Represents a RolloutStep. */
                        class RolloutStep implements IRolloutStep {

                            /**
                             * Constructs a new RolloutStep.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.RolloutConfig.IRolloutStep);

                            /** RolloutStep displayName. */
                            public displayName: string;

                            /** RolloutStep trafficPercent. */
                            public trafficPercent: number;

                            /** RolloutStep minDuration. */
                            public minDuration?: (google.protobuf.IDuration|null);

                            /**
                             * Creates a new RolloutStep instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns RolloutStep instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.RolloutConfig.IRolloutStep): google.cloud.dialogflow.cx.v3.RolloutConfig.RolloutStep;

                            /**
                             * Encodes the specified RolloutStep message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RolloutConfig.RolloutStep.verify|verify} messages.
                             * @param message RolloutStep message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.RolloutConfig.IRolloutStep, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified RolloutStep message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RolloutConfig.RolloutStep.verify|verify} messages.
                             * @param message RolloutStep message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.RolloutConfig.IRolloutStep, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a RolloutStep message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns RolloutStep
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.RolloutConfig.RolloutStep;

                            /**
                             * Decodes a RolloutStep message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns RolloutStep
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.RolloutConfig.RolloutStep;

                            /**
                             * Verifies a RolloutStep message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a RolloutStep message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns RolloutStep
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.RolloutConfig.RolloutStep;

                            /**
                             * Creates a plain object from a RolloutStep message. Also converts values to other types if specified.
                             * @param message RolloutStep
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.RolloutConfig.RolloutStep, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this RolloutStep to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for RolloutStep
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a RolloutState. */
                    interface IRolloutState {

                        /** RolloutState step */
                        step?: (string|null);

                        /** RolloutState stepIndex */
                        stepIndex?: (number|null);

                        /** RolloutState startTime */
                        startTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a RolloutState. */
                    class RolloutState implements IRolloutState {

                        /**
                         * Constructs a new RolloutState.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IRolloutState);

                        /** RolloutState step. */
                        public step: string;

                        /** RolloutState stepIndex. */
                        public stepIndex: number;

                        /** RolloutState startTime. */
                        public startTime?: (google.protobuf.ITimestamp|null);

                        /**
                         * Creates a new RolloutState instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RolloutState instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IRolloutState): google.cloud.dialogflow.cx.v3.RolloutState;

                        /**
                         * Encodes the specified RolloutState message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RolloutState.verify|verify} messages.
                         * @param message RolloutState message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IRolloutState, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RolloutState message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.RolloutState.verify|verify} messages.
                         * @param message RolloutState message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IRolloutState, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RolloutState message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RolloutState
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.RolloutState;

                        /**
                         * Decodes a RolloutState message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RolloutState
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.RolloutState;

                        /**
                         * Verifies a RolloutState message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RolloutState message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RolloutState
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.RolloutState;

                        /**
                         * Creates a plain object from a RolloutState message. Also converts values to other types if specified.
                         * @param message RolloutState
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.RolloutState, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RolloutState to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RolloutState
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListExperimentsRequest. */
                    interface IListExperimentsRequest {

                        /** ListExperimentsRequest parent */
                        parent?: (string|null);

                        /** ListExperimentsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListExperimentsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListExperimentsRequest. */
                    class ListExperimentsRequest implements IListExperimentsRequest {

                        /**
                         * Constructs a new ListExperimentsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListExperimentsRequest);

                        /** ListExperimentsRequest parent. */
                        public parent: string;

                        /** ListExperimentsRequest pageSize. */
                        public pageSize: number;

                        /** ListExperimentsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListExperimentsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListExperimentsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListExperimentsRequest): google.cloud.dialogflow.cx.v3.ListExperimentsRequest;

                        /**
                         * Encodes the specified ListExperimentsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListExperimentsRequest.verify|verify} messages.
                         * @param message ListExperimentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListExperimentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListExperimentsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListExperimentsRequest.verify|verify} messages.
                         * @param message ListExperimentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListExperimentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListExperimentsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListExperimentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListExperimentsRequest;

                        /**
                         * Decodes a ListExperimentsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListExperimentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListExperimentsRequest;

                        /**
                         * Verifies a ListExperimentsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListExperimentsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListExperimentsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListExperimentsRequest;

                        /**
                         * Creates a plain object from a ListExperimentsRequest message. Also converts values to other types if specified.
                         * @param message ListExperimentsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListExperimentsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListExperimentsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListExperimentsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListExperimentsResponse. */
                    interface IListExperimentsResponse {

                        /** ListExperimentsResponse experiments */
                        experiments?: (google.cloud.dialogflow.cx.v3.IExperiment[]|null);

                        /** ListExperimentsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListExperimentsResponse. */
                    class ListExperimentsResponse implements IListExperimentsResponse {

                        /**
                         * Constructs a new ListExperimentsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListExperimentsResponse);

                        /** ListExperimentsResponse experiments. */
                        public experiments: google.cloud.dialogflow.cx.v3.IExperiment[];

                        /** ListExperimentsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListExperimentsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListExperimentsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListExperimentsResponse): google.cloud.dialogflow.cx.v3.ListExperimentsResponse;

                        /**
                         * Encodes the specified ListExperimentsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListExperimentsResponse.verify|verify} messages.
                         * @param message ListExperimentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListExperimentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListExperimentsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListExperimentsResponse.verify|verify} messages.
                         * @param message ListExperimentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListExperimentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListExperimentsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListExperimentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListExperimentsResponse;

                        /**
                         * Decodes a ListExperimentsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListExperimentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListExperimentsResponse;

                        /**
                         * Verifies a ListExperimentsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListExperimentsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListExperimentsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListExperimentsResponse;

                        /**
                         * Creates a plain object from a ListExperimentsResponse message. Also converts values to other types if specified.
                         * @param message ListExperimentsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListExperimentsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListExperimentsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListExperimentsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetExperimentRequest. */
                    interface IGetExperimentRequest {

                        /** GetExperimentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetExperimentRequest. */
                    class GetExperimentRequest implements IGetExperimentRequest {

                        /**
                         * Constructs a new GetExperimentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetExperimentRequest);

                        /** GetExperimentRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetExperimentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetExperimentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetExperimentRequest): google.cloud.dialogflow.cx.v3.GetExperimentRequest;

                        /**
                         * Encodes the specified GetExperimentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetExperimentRequest.verify|verify} messages.
                         * @param message GetExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetExperimentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetExperimentRequest.verify|verify} messages.
                         * @param message GetExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetExperimentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.GetExperimentRequest;

                        /**
                         * Decodes a GetExperimentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.GetExperimentRequest;

                        /**
                         * Verifies a GetExperimentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetExperimentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetExperimentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GetExperimentRequest;

                        /**
                         * Creates a plain object from a GetExperimentRequest message. Also converts values to other types if specified.
                         * @param message GetExperimentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.GetExperimentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetExperimentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetExperimentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateExperimentRequest. */
                    interface ICreateExperimentRequest {

                        /** CreateExperimentRequest parent */
                        parent?: (string|null);

                        /** CreateExperimentRequest experiment */
                        experiment?: (google.cloud.dialogflow.cx.v3.IExperiment|null);
                    }

                    /** Represents a CreateExperimentRequest. */
                    class CreateExperimentRequest implements ICreateExperimentRequest {

                        /**
                         * Constructs a new CreateExperimentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICreateExperimentRequest);

                        /** CreateExperimentRequest parent. */
                        public parent: string;

                        /** CreateExperimentRequest experiment. */
                        public experiment?: (google.cloud.dialogflow.cx.v3.IExperiment|null);

                        /**
                         * Creates a new CreateExperimentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateExperimentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICreateExperimentRequest): google.cloud.dialogflow.cx.v3.CreateExperimentRequest;

                        /**
                         * Encodes the specified CreateExperimentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateExperimentRequest.verify|verify} messages.
                         * @param message CreateExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICreateExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateExperimentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateExperimentRequest.verify|verify} messages.
                         * @param message CreateExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICreateExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateExperimentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CreateExperimentRequest;

                        /**
                         * Decodes a CreateExperimentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CreateExperimentRequest;

                        /**
                         * Verifies a CreateExperimentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateExperimentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateExperimentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CreateExperimentRequest;

                        /**
                         * Creates a plain object from a CreateExperimentRequest message. Also converts values to other types if specified.
                         * @param message CreateExperimentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CreateExperimentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateExperimentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateExperimentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateExperimentRequest. */
                    interface IUpdateExperimentRequest {

                        /** UpdateExperimentRequest experiment */
                        experiment?: (google.cloud.dialogflow.cx.v3.IExperiment|null);

                        /** UpdateExperimentRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateExperimentRequest. */
                    class UpdateExperimentRequest implements IUpdateExperimentRequest {

                        /**
                         * Constructs a new UpdateExperimentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IUpdateExperimentRequest);

                        /** UpdateExperimentRequest experiment. */
                        public experiment?: (google.cloud.dialogflow.cx.v3.IExperiment|null);

                        /** UpdateExperimentRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateExperimentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateExperimentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IUpdateExperimentRequest): google.cloud.dialogflow.cx.v3.UpdateExperimentRequest;

                        /**
                         * Encodes the specified UpdateExperimentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateExperimentRequest.verify|verify} messages.
                         * @param message UpdateExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IUpdateExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateExperimentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateExperimentRequest.verify|verify} messages.
                         * @param message UpdateExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IUpdateExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateExperimentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.UpdateExperimentRequest;

                        /**
                         * Decodes an UpdateExperimentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.UpdateExperimentRequest;

                        /**
                         * Verifies an UpdateExperimentRequest message.
                         * @param message Plain 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 UpdateExperimentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateExperimentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.UpdateExperimentRequest;

                        /**
                         * Creates a plain object from an UpdateExperimentRequest message. Also converts values to other types if specified.
                         * @param message UpdateExperimentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.UpdateExperimentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateExperimentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateExperimentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteExperimentRequest. */
                    interface IDeleteExperimentRequest {

                        /** DeleteExperimentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeleteExperimentRequest. */
                    class DeleteExperimentRequest implements IDeleteExperimentRequest {

                        /**
                         * Constructs a new DeleteExperimentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeleteExperimentRequest);

                        /** DeleteExperimentRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeleteExperimentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteExperimentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeleteExperimentRequest): google.cloud.dialogflow.cx.v3.DeleteExperimentRequest;

                        /**
                         * Encodes the specified DeleteExperimentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteExperimentRequest.verify|verify} messages.
                         * @param message DeleteExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeleteExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteExperimentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteExperimentRequest.verify|verify} messages.
                         * @param message DeleteExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeleteExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteExperimentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DeleteExperimentRequest;

                        /**
                         * Decodes a DeleteExperimentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DeleteExperimentRequest;

                        /**
                         * Verifies a DeleteExperimentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteExperimentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteExperimentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DeleteExperimentRequest;

                        /**
                         * Creates a plain object from a DeleteExperimentRequest message. Also converts values to other types if specified.
                         * @param message DeleteExperimentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DeleteExperimentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteExperimentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteExperimentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a StartExperimentRequest. */
                    interface IStartExperimentRequest {

                        /** StartExperimentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a StartExperimentRequest. */
                    class StartExperimentRequest implements IStartExperimentRequest {

                        /**
                         * Constructs a new StartExperimentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IStartExperimentRequest);

                        /** StartExperimentRequest name. */
                        public name: string;

                        /**
                         * Creates a new StartExperimentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns StartExperimentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IStartExperimentRequest): google.cloud.dialogflow.cx.v3.StartExperimentRequest;

                        /**
                         * Encodes the specified StartExperimentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.StartExperimentRequest.verify|verify} messages.
                         * @param message StartExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IStartExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified StartExperimentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.StartExperimentRequest.verify|verify} messages.
                         * @param message StartExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IStartExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a StartExperimentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns StartExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.StartExperimentRequest;

                        /**
                         * Decodes a StartExperimentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns StartExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.StartExperimentRequest;

                        /**
                         * Verifies a StartExperimentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a StartExperimentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns StartExperimentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.StartExperimentRequest;

                        /**
                         * Creates a plain object from a StartExperimentRequest message. Also converts values to other types if specified.
                         * @param message StartExperimentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.StartExperimentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this StartExperimentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for StartExperimentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a StopExperimentRequest. */
                    interface IStopExperimentRequest {

                        /** StopExperimentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a StopExperimentRequest. */
                    class StopExperimentRequest implements IStopExperimentRequest {

                        /**
                         * Constructs a new StopExperimentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IStopExperimentRequest);

                        /** StopExperimentRequest name. */
                        public name: string;

                        /**
                         * Creates a new StopExperimentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns StopExperimentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IStopExperimentRequest): google.cloud.dialogflow.cx.v3.StopExperimentRequest;

                        /**
                         * Encodes the specified StopExperimentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.StopExperimentRequest.verify|verify} messages.
                         * @param message StopExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IStopExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified StopExperimentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.StopExperimentRequest.verify|verify} messages.
                         * @param message StopExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IStopExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a StopExperimentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns StopExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.StopExperimentRequest;

                        /**
                         * Decodes a StopExperimentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns StopExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.StopExperimentRequest;

                        /**
                         * Verifies a StopExperimentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a StopExperimentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns StopExperimentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.StopExperimentRequest;

                        /**
                         * Creates a plain object from a StopExperimentRequest message. Also converts values to other types if specified.
                         * @param message StopExperimentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.StopExperimentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this StopExperimentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for StopExperimentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a Generators */
                    class Generators extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Generators 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 Generators 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): Generators;

                        /**
                         * Calls ListGenerators.
                         * @param request ListGeneratorsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListGeneratorsResponse
                         */
                        public listGenerators(request: google.cloud.dialogflow.cx.v3.IListGeneratorsRequest, callback: google.cloud.dialogflow.cx.v3.Generators.ListGeneratorsCallback): void;

                        /**
                         * Calls ListGenerators.
                         * @param request ListGeneratorsRequest message or plain object
                         * @returns Promise
                         */
                        public listGenerators(request: google.cloud.dialogflow.cx.v3.IListGeneratorsRequest): Promise<google.cloud.dialogflow.cx.v3.ListGeneratorsResponse>;

                        /**
                         * Calls GetGenerator.
                         * @param request GetGeneratorRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Generator
                         */
                        public getGenerator(request: google.cloud.dialogflow.cx.v3.IGetGeneratorRequest, callback: google.cloud.dialogflow.cx.v3.Generators.GetGeneratorCallback): void;

                        /**
                         * Calls GetGenerator.
                         * @param request GetGeneratorRequest message or plain object
                         * @returns Promise
                         */
                        public getGenerator(request: google.cloud.dialogflow.cx.v3.IGetGeneratorRequest): Promise<google.cloud.dialogflow.cx.v3.Generator>;

                        /**
                         * Calls CreateGenerator.
                         * @param request CreateGeneratorRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Generator
                         */
                        public createGenerator(request: google.cloud.dialogflow.cx.v3.ICreateGeneratorRequest, callback: google.cloud.dialogflow.cx.v3.Generators.CreateGeneratorCallback): void;

                        /**
                         * Calls CreateGenerator.
                         * @param request CreateGeneratorRequest message or plain object
                         * @returns Promise
                         */
                        public createGenerator(request: google.cloud.dialogflow.cx.v3.ICreateGeneratorRequest): Promise<google.cloud.dialogflow.cx.v3.Generator>;

                        /**
                         * Calls UpdateGenerator.
                         * @param request UpdateGeneratorRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Generator
                         */
                        public updateGenerator(request: google.cloud.dialogflow.cx.v3.IUpdateGeneratorRequest, callback: google.cloud.dialogflow.cx.v3.Generators.UpdateGeneratorCallback): void;

                        /**
                         * Calls UpdateGenerator.
                         * @param request UpdateGeneratorRequest message or plain object
                         * @returns Promise
                         */
                        public updateGenerator(request: google.cloud.dialogflow.cx.v3.IUpdateGeneratorRequest): Promise<google.cloud.dialogflow.cx.v3.Generator>;

                        /**
                         * Calls DeleteGenerator.
                         * @param request DeleteGeneratorRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteGenerator(request: google.cloud.dialogflow.cx.v3.IDeleteGeneratorRequest, callback: google.cloud.dialogflow.cx.v3.Generators.DeleteGeneratorCallback): void;

                        /**
                         * Calls DeleteGenerator.
                         * @param request DeleteGeneratorRequest message or plain object
                         * @returns Promise
                         */
                        public deleteGenerator(request: google.cloud.dialogflow.cx.v3.IDeleteGeneratorRequest): Promise<google.protobuf.Empty>;
                    }

                    namespace Generators {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Generators|listGenerators}.
                         * @param error Error, if any
                         * @param [response] ListGeneratorsResponse
                         */
                        type ListGeneratorsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListGeneratorsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Generators|getGenerator}.
                         * @param error Error, if any
                         * @param [response] Generator
                         */
                        type GetGeneratorCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Generator) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Generators|createGenerator}.
                         * @param error Error, if any
                         * @param [response] Generator
                         */
                        type CreateGeneratorCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Generator) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Generators|updateGenerator}.
                         * @param error Error, if any
                         * @param [response] Generator
                         */
                        type UpdateGeneratorCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Generator) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Generators|deleteGenerator}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteGeneratorCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                    }

                    /** Properties of a Generator. */
                    interface IGenerator {

                        /** Generator name */
                        name?: (string|null);

                        /** Generator displayName */
                        displayName?: (string|null);

                        /** Generator promptText */
                        promptText?: (google.cloud.dialogflow.cx.v3.IPhrase|null);

                        /** Generator placeholders */
                        placeholders?: (google.cloud.dialogflow.cx.v3.Generator.IPlaceholder[]|null);

                        /** Generator modelParameter */
                        modelParameter?: (google.cloud.dialogflow.cx.v3.Generator.IModelParameter|null);
                    }

                    /** Represents a Generator. */
                    class Generator implements IGenerator {

                        /**
                         * Constructs a new Generator.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGenerator);

                        /** Generator name. */
                        public name: string;

                        /** Generator displayName. */
                        public displayName: string;

                        /** Generator promptText. */
                        public promptText?: (google.cloud.dialogflow.cx.v3.IPhrase|null);

                        /** Generator placeholders. */
                        public placeholders: google.cloud.dialogflow.cx.v3.Generator.IPlaceholder[];

                        /** Generator modelParameter. */
                        public modelParameter?: (google.cloud.dialogflow.cx.v3.Generator.IModelParameter|null);

                        /**
                         * Creates a new Generator instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Generator instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGenerator): google.cloud.dialogflow.cx.v3.Generator;

                        /**
                         * Encodes the specified Generator message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Generator.verify|verify} messages.
                         * @param message Generator message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGenerator, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Generator message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Generator.verify|verify} messages.
                         * @param message Generator message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGenerator, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Generator message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Generator
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Generator;

                        /**
                         * Decodes a Generator message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Generator
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Generator;

                        /**
                         * Verifies a Generator message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Generator message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Generator
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Generator;

                        /**
                         * Creates a plain object from a Generator message. Also converts values to other types if specified.
                         * @param message Generator
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.Generator, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Generator to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Generator
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Generator {

                        /** Properties of a Placeholder. */
                        interface IPlaceholder {

                            /** Placeholder id */
                            id?: (string|null);

                            /** Placeholder name */
                            name?: (string|null);
                        }

                        /** Represents a Placeholder. */
                        class Placeholder implements IPlaceholder {

                            /**
                             * Constructs a new Placeholder.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Generator.IPlaceholder);

                            /** Placeholder id. */
                            public id: string;

                            /** Placeholder name. */
                            public name: string;

                            /**
                             * Creates a new Placeholder instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Placeholder instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Generator.IPlaceholder): google.cloud.dialogflow.cx.v3.Generator.Placeholder;

                            /**
                             * Encodes the specified Placeholder message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Generator.Placeholder.verify|verify} messages.
                             * @param message Placeholder message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Generator.IPlaceholder, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Placeholder message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Generator.Placeholder.verify|verify} messages.
                             * @param message Placeholder message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Generator.IPlaceholder, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Placeholder message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Placeholder
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Generator.Placeholder;

                            /**
                             * Decodes a Placeholder message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Placeholder
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Generator.Placeholder;

                            /**
                             * Verifies a Placeholder message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Placeholder message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Placeholder
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Generator.Placeholder;

                            /**
                             * Creates a plain object from a Placeholder message. Also converts values to other types if specified.
                             * @param message Placeholder
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.Generator.Placeholder, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Placeholder to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Placeholder
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a ModelParameter. */
                        interface IModelParameter {

                            /** ModelParameter temperature */
                            temperature?: (number|null);

                            /** ModelParameter maxDecodeSteps */
                            maxDecodeSteps?: (number|null);

                            /** ModelParameter topP */
                            topP?: (number|null);

                            /** ModelParameter topK */
                            topK?: (number|null);
                        }

                        /** Represents a ModelParameter. */
                        class ModelParameter implements IModelParameter {

                            /**
                             * Constructs a new ModelParameter.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.Generator.IModelParameter);

                            /** ModelParameter temperature. */
                            public temperature?: (number|null);

                            /** ModelParameter maxDecodeSteps. */
                            public maxDecodeSteps?: (number|null);

                            /** ModelParameter topP. */
                            public topP?: (number|null);

                            /** ModelParameter topK. */
                            public topK?: (number|null);

                            /**
                             * Creates a new ModelParameter instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ModelParameter instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.Generator.IModelParameter): google.cloud.dialogflow.cx.v3.Generator.ModelParameter;

                            /**
                             * Encodes the specified ModelParameter message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Generator.ModelParameter.verify|verify} messages.
                             * @param message ModelParameter message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.Generator.IModelParameter, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ModelParameter message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Generator.ModelParameter.verify|verify} messages.
                             * @param message ModelParameter message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.Generator.IModelParameter, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ModelParameter message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ModelParameter
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Generator.ModelParameter;

                            /**
                             * Decodes a ModelParameter message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ModelParameter
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Generator.ModelParameter;

                            /**
                             * Verifies a ModelParameter message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ModelParameter message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ModelParameter
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Generator.ModelParameter;

                            /**
                             * Creates a plain object from a ModelParameter message. Also converts values to other types if specified.
                             * @param message ModelParameter
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.Generator.ModelParameter, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ModelParameter to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ModelParameter
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a Phrase. */
                    interface IPhrase {

                        /** Phrase text */
                        text?: (string|null);
                    }

                    /** Represents a Phrase. */
                    class Phrase implements IPhrase {

                        /**
                         * Constructs a new Phrase.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IPhrase);

                        /** Phrase text. */
                        public text: string;

                        /**
                         * Creates a new Phrase instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Phrase instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IPhrase): google.cloud.dialogflow.cx.v3.Phrase;

                        /**
                         * Encodes the specified Phrase message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Phrase.verify|verify} messages.
                         * @param message Phrase message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Phrase message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Phrase.verify|verify} messages.
                         * @param message Phrase message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Phrase message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Phrase
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Phrase;

                        /**
                         * Decodes a Phrase message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Phrase
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Phrase;

                        /**
                         * Verifies a Phrase message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Phrase message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Phrase
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Phrase;

                        /**
                         * Creates a plain object from a Phrase message. Also converts values to other types if specified.
                         * @param message Phrase
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.Phrase, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Phrase to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Phrase
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListGeneratorsRequest. */
                    interface IListGeneratorsRequest {

                        /** ListGeneratorsRequest parent */
                        parent?: (string|null);

                        /** ListGeneratorsRequest languageCode */
                        languageCode?: (string|null);

                        /** ListGeneratorsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListGeneratorsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListGeneratorsRequest. */
                    class ListGeneratorsRequest implements IListGeneratorsRequest {

                        /**
                         * Constructs a new ListGeneratorsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListGeneratorsRequest);

                        /** ListGeneratorsRequest parent. */
                        public parent: string;

                        /** ListGeneratorsRequest languageCode. */
                        public languageCode: string;

                        /** ListGeneratorsRequest pageSize. */
                        public pageSize: number;

                        /** ListGeneratorsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListGeneratorsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListGeneratorsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListGeneratorsRequest): google.cloud.dialogflow.cx.v3.ListGeneratorsRequest;

                        /**
                         * Encodes the specified ListGeneratorsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListGeneratorsRequest.verify|verify} messages.
                         * @param message ListGeneratorsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListGeneratorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListGeneratorsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListGeneratorsRequest.verify|verify} messages.
                         * @param message ListGeneratorsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListGeneratorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListGeneratorsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListGeneratorsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListGeneratorsRequest;

                        /**
                         * Decodes a ListGeneratorsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListGeneratorsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListGeneratorsRequest;

                        /**
                         * Verifies a ListGeneratorsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListGeneratorsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListGeneratorsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListGeneratorsRequest;

                        /**
                         * Creates a plain object from a ListGeneratorsRequest message. Also converts values to other types if specified.
                         * @param message ListGeneratorsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListGeneratorsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListGeneratorsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListGeneratorsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListGeneratorsResponse. */
                    interface IListGeneratorsResponse {

                        /** ListGeneratorsResponse generators */
                        generators?: (google.cloud.dialogflow.cx.v3.IGenerator[]|null);

                        /** ListGeneratorsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListGeneratorsResponse. */
                    class ListGeneratorsResponse implements IListGeneratorsResponse {

                        /**
                         * Constructs a new ListGeneratorsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListGeneratorsResponse);

                        /** ListGeneratorsResponse generators. */
                        public generators: google.cloud.dialogflow.cx.v3.IGenerator[];

                        /** ListGeneratorsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListGeneratorsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListGeneratorsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListGeneratorsResponse): google.cloud.dialogflow.cx.v3.ListGeneratorsResponse;

                        /**
                         * Encodes the specified ListGeneratorsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListGeneratorsResponse.verify|verify} messages.
                         * @param message ListGeneratorsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListGeneratorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListGeneratorsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListGeneratorsResponse.verify|verify} messages.
                         * @param message ListGeneratorsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListGeneratorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListGeneratorsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListGeneratorsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListGeneratorsResponse;

                        /**
                         * Decodes a ListGeneratorsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListGeneratorsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListGeneratorsResponse;

                        /**
                         * Verifies a ListGeneratorsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListGeneratorsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListGeneratorsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListGeneratorsResponse;

                        /**
                         * Creates a plain object from a ListGeneratorsResponse message. Also converts values to other types if specified.
                         * @param message ListGeneratorsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListGeneratorsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListGeneratorsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListGeneratorsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetGeneratorRequest. */
                    interface IGetGeneratorRequest {

                        /** GetGeneratorRequest name */
                        name?: (string|null);

                        /** GetGeneratorRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetGeneratorRequest. */
                    class GetGeneratorRequest implements IGetGeneratorRequest {

                        /**
                         * Constructs a new GetGeneratorRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetGeneratorRequest);

                        /** GetGeneratorRequest name. */
                        public name: string;

                        /** GetGeneratorRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetGeneratorRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetGeneratorRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetGeneratorRequest): google.cloud.dialogflow.cx.v3.GetGeneratorRequest;

                        /**
                         * Encodes the specified GetGeneratorRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetGeneratorRequest.verify|verify} messages.
                         * @param message GetGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetGeneratorRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetGeneratorRequest.verify|verify} messages.
                         * @param message GetGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetGeneratorRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.GetGeneratorRequest;

                        /**
                         * Decodes a GetGeneratorRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.GetGeneratorRequest;

                        /**
                         * Verifies a GetGeneratorRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetGeneratorRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetGeneratorRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GetGeneratorRequest;

                        /**
                         * Creates a plain object from a GetGeneratorRequest message. Also converts values to other types if specified.
                         * @param message GetGeneratorRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.GetGeneratorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetGeneratorRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetGeneratorRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateGeneratorRequest. */
                    interface ICreateGeneratorRequest {

                        /** CreateGeneratorRequest parent */
                        parent?: (string|null);

                        /** CreateGeneratorRequest generator */
                        generator?: (google.cloud.dialogflow.cx.v3.IGenerator|null);

                        /** CreateGeneratorRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a CreateGeneratorRequest. */
                    class CreateGeneratorRequest implements ICreateGeneratorRequest {

                        /**
                         * Constructs a new CreateGeneratorRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICreateGeneratorRequest);

                        /** CreateGeneratorRequest parent. */
                        public parent: string;

                        /** CreateGeneratorRequest generator. */
                        public generator?: (google.cloud.dialogflow.cx.v3.IGenerator|null);

                        /** CreateGeneratorRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new CreateGeneratorRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateGeneratorRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICreateGeneratorRequest): google.cloud.dialogflow.cx.v3.CreateGeneratorRequest;

                        /**
                         * Encodes the specified CreateGeneratorRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateGeneratorRequest.verify|verify} messages.
                         * @param message CreateGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICreateGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateGeneratorRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateGeneratorRequest.verify|verify} messages.
                         * @param message CreateGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICreateGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateGeneratorRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CreateGeneratorRequest;

                        /**
                         * Decodes a CreateGeneratorRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CreateGeneratorRequest;

                        /**
                         * Verifies a CreateGeneratorRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateGeneratorRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateGeneratorRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CreateGeneratorRequest;

                        /**
                         * Creates a plain object from a CreateGeneratorRequest message. Also converts values to other types if specified.
                         * @param message CreateGeneratorRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CreateGeneratorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateGeneratorRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateGeneratorRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateGeneratorRequest. */
                    interface IUpdateGeneratorRequest {

                        /** UpdateGeneratorRequest generator */
                        generator?: (google.cloud.dialogflow.cx.v3.IGenerator|null);

                        /** UpdateGeneratorRequest languageCode */
                        languageCode?: (string|null);

                        /** UpdateGeneratorRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateGeneratorRequest. */
                    class UpdateGeneratorRequest implements IUpdateGeneratorRequest {

                        /**
                         * Constructs a new UpdateGeneratorRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IUpdateGeneratorRequest);

                        /** UpdateGeneratorRequest generator. */
                        public generator?: (google.cloud.dialogflow.cx.v3.IGenerator|null);

                        /** UpdateGeneratorRequest languageCode. */
                        public languageCode: string;

                        /** UpdateGeneratorRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateGeneratorRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateGeneratorRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IUpdateGeneratorRequest): google.cloud.dialogflow.cx.v3.UpdateGeneratorRequest;

                        /**
                         * Encodes the specified UpdateGeneratorRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateGeneratorRequest.verify|verify} messages.
                         * @param message UpdateGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IUpdateGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateGeneratorRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateGeneratorRequest.verify|verify} messages.
                         * @param message UpdateGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IUpdateGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateGeneratorRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.UpdateGeneratorRequest;

                        /**
                         * Decodes an UpdateGeneratorRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.UpdateGeneratorRequest;

                        /**
                         * Verifies an UpdateGeneratorRequest message.
                         * @param message Plain 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 UpdateGeneratorRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateGeneratorRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.UpdateGeneratorRequest;

                        /**
                         * Creates a plain object from an UpdateGeneratorRequest message. Also converts values to other types if specified.
                         * @param message UpdateGeneratorRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.UpdateGeneratorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateGeneratorRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateGeneratorRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteGeneratorRequest. */
                    interface IDeleteGeneratorRequest {

                        /** DeleteGeneratorRequest name */
                        name?: (string|null);

                        /** DeleteGeneratorRequest force */
                        force?: (boolean|null);
                    }

                    /** Represents a DeleteGeneratorRequest. */
                    class DeleteGeneratorRequest implements IDeleteGeneratorRequest {

                        /**
                         * Constructs a new DeleteGeneratorRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeleteGeneratorRequest);

                        /** DeleteGeneratorRequest name. */
                        public name: string;

                        /** DeleteGeneratorRequest force. */
                        public force: boolean;

                        /**
                         * Creates a new DeleteGeneratorRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteGeneratorRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeleteGeneratorRequest): google.cloud.dialogflow.cx.v3.DeleteGeneratorRequest;

                        /**
                         * Encodes the specified DeleteGeneratorRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteGeneratorRequest.verify|verify} messages.
                         * @param message DeleteGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeleteGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteGeneratorRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteGeneratorRequest.verify|verify} messages.
                         * @param message DeleteGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeleteGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteGeneratorRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DeleteGeneratorRequest;

                        /**
                         * Decodes a DeleteGeneratorRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DeleteGeneratorRequest;

                        /**
                         * Verifies a DeleteGeneratorRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteGeneratorRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteGeneratorRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DeleteGeneratorRequest;

                        /**
                         * Creates a plain object from a DeleteGeneratorRequest message. Also converts values to other types if specified.
                         * @param message DeleteGeneratorRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DeleteGeneratorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteGeneratorRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteGeneratorRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a SecuritySettingsService */
                    class SecuritySettingsService extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new SecuritySettingsService 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 SecuritySettingsService 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): SecuritySettingsService;

                        /**
                         * Calls CreateSecuritySettings.
                         * @param request CreateSecuritySettingsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and SecuritySettings
                         */
                        public createSecuritySettings(request: google.cloud.dialogflow.cx.v3.ICreateSecuritySettingsRequest, callback: google.cloud.dialogflow.cx.v3.SecuritySettingsService.CreateSecuritySettingsCallback): void;

                        /**
                         * Calls CreateSecuritySettings.
                         * @param request CreateSecuritySettingsRequest message or plain object
                         * @returns Promise
                         */
                        public createSecuritySettings(request: google.cloud.dialogflow.cx.v3.ICreateSecuritySettingsRequest): Promise<google.cloud.dialogflow.cx.v3.SecuritySettings>;

                        /**
                         * Calls GetSecuritySettings.
                         * @param request GetSecuritySettingsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and SecuritySettings
                         */
                        public getSecuritySettings(request: google.cloud.dialogflow.cx.v3.IGetSecuritySettingsRequest, callback: google.cloud.dialogflow.cx.v3.SecuritySettingsService.GetSecuritySettingsCallback): void;

                        /**
                         * Calls GetSecuritySettings.
                         * @param request GetSecuritySettingsRequest message or plain object
                         * @returns Promise
                         */
                        public getSecuritySettings(request: google.cloud.dialogflow.cx.v3.IGetSecuritySettingsRequest): Promise<google.cloud.dialogflow.cx.v3.SecuritySettings>;

                        /**
                         * Calls UpdateSecuritySettings.
                         * @param request UpdateSecuritySettingsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and SecuritySettings
                         */
                        public updateSecuritySettings(request: google.cloud.dialogflow.cx.v3.IUpdateSecuritySettingsRequest, callback: google.cloud.dialogflow.cx.v3.SecuritySettingsService.UpdateSecuritySettingsCallback): void;

                        /**
                         * Calls UpdateSecuritySettings.
                         * @param request UpdateSecuritySettingsRequest message or plain object
                         * @returns Promise
                         */
                        public updateSecuritySettings(request: google.cloud.dialogflow.cx.v3.IUpdateSecuritySettingsRequest): Promise<google.cloud.dialogflow.cx.v3.SecuritySettings>;

                        /**
                         * Calls ListSecuritySettings.
                         * @param request ListSecuritySettingsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListSecuritySettingsResponse
                         */
                        public listSecuritySettings(request: google.cloud.dialogflow.cx.v3.IListSecuritySettingsRequest, callback: google.cloud.dialogflow.cx.v3.SecuritySettingsService.ListSecuritySettingsCallback): void;

                        /**
                         * Calls ListSecuritySettings.
                         * @param request ListSecuritySettingsRequest message or plain object
                         * @returns Promise
                         */
                        public listSecuritySettings(request: google.cloud.dialogflow.cx.v3.IListSecuritySettingsRequest): Promise<google.cloud.dialogflow.cx.v3.ListSecuritySettingsResponse>;

                        /**
                         * Calls DeleteSecuritySettings.
                         * @param request DeleteSecuritySettingsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteSecuritySettings(request: google.cloud.dialogflow.cx.v3.IDeleteSecuritySettingsRequest, callback: google.cloud.dialogflow.cx.v3.SecuritySettingsService.DeleteSecuritySettingsCallback): void;

                        /**
                         * Calls DeleteSecuritySettings.
                         * @param request DeleteSecuritySettingsRequest message or plain object
                         * @returns Promise
                         */
                        public deleteSecuritySettings(request: google.cloud.dialogflow.cx.v3.IDeleteSecuritySettingsRequest): Promise<google.protobuf.Empty>;
                    }

                    namespace SecuritySettingsService {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.SecuritySettingsService|createSecuritySettings}.
                         * @param error Error, if any
                         * @param [response] SecuritySettings
                         */
                        type CreateSecuritySettingsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.SecuritySettings) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.SecuritySettingsService|getSecuritySettings}.
                         * @param error Error, if any
                         * @param [response] SecuritySettings
                         */
                        type GetSecuritySettingsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.SecuritySettings) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.SecuritySettingsService|updateSecuritySettings}.
                         * @param error Error, if any
                         * @param [response] SecuritySettings
                         */
                        type UpdateSecuritySettingsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.SecuritySettings) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.SecuritySettingsService|listSecuritySettings}.
                         * @param error Error, if any
                         * @param [response] ListSecuritySettingsResponse
                         */
                        type ListSecuritySettingsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListSecuritySettingsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.SecuritySettingsService|deleteSecuritySettings}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteSecuritySettingsCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                    }

                    /** Properties of a GetSecuritySettingsRequest. */
                    interface IGetSecuritySettingsRequest {

                        /** GetSecuritySettingsRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetSecuritySettingsRequest. */
                    class GetSecuritySettingsRequest implements IGetSecuritySettingsRequest {

                        /**
                         * Constructs a new GetSecuritySettingsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetSecuritySettingsRequest);

                        /** GetSecuritySettingsRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetSecuritySettingsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetSecuritySettingsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetSecuritySettingsRequest): google.cloud.dialogflow.cx.v3.GetSecuritySettingsRequest;

                        /**
                         * Encodes the specified GetSecuritySettingsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetSecuritySettingsRequest.verify|verify} messages.
                         * @param message GetSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetSecuritySettingsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetSecuritySettingsRequest.verify|verify} messages.
                         * @param message GetSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetSecuritySettingsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.GetSecuritySettingsRequest;

                        /**
                         * Decodes a GetSecuritySettingsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.GetSecuritySettingsRequest;

                        /**
                         * Verifies a GetSecuritySettingsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetSecuritySettingsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetSecuritySettingsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GetSecuritySettingsRequest;

                        /**
                         * Creates a plain object from a GetSecuritySettingsRequest message. Also converts values to other types if specified.
                         * @param message GetSecuritySettingsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.GetSecuritySettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetSecuritySettingsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetSecuritySettingsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateSecuritySettingsRequest. */
                    interface IUpdateSecuritySettingsRequest {

                        /** UpdateSecuritySettingsRequest securitySettings */
                        securitySettings?: (google.cloud.dialogflow.cx.v3.ISecuritySettings|null);

                        /** UpdateSecuritySettingsRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateSecuritySettingsRequest. */
                    class UpdateSecuritySettingsRequest implements IUpdateSecuritySettingsRequest {

                        /**
                         * Constructs a new UpdateSecuritySettingsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IUpdateSecuritySettingsRequest);

                        /** UpdateSecuritySettingsRequest securitySettings. */
                        public securitySettings?: (google.cloud.dialogflow.cx.v3.ISecuritySettings|null);

                        /** UpdateSecuritySettingsRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateSecuritySettingsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateSecuritySettingsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IUpdateSecuritySettingsRequest): google.cloud.dialogflow.cx.v3.UpdateSecuritySettingsRequest;

                        /**
                         * Encodes the specified UpdateSecuritySettingsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateSecuritySettingsRequest.verify|verify} messages.
                         * @param message UpdateSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IUpdateSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateSecuritySettingsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateSecuritySettingsRequest.verify|verify} messages.
                         * @param message UpdateSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IUpdateSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateSecuritySettingsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.UpdateSecuritySettingsRequest;

                        /**
                         * Decodes an UpdateSecuritySettingsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.UpdateSecuritySettingsRequest;

                        /**
                         * Verifies an UpdateSecuritySettingsRequest message.
                         * @param message Plain 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 UpdateSecuritySettingsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateSecuritySettingsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.UpdateSecuritySettingsRequest;

                        /**
                         * Creates a plain object from an UpdateSecuritySettingsRequest message. Also converts values to other types if specified.
                         * @param message UpdateSecuritySettingsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.UpdateSecuritySettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateSecuritySettingsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateSecuritySettingsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListSecuritySettingsRequest. */
                    interface IListSecuritySettingsRequest {

                        /** ListSecuritySettingsRequest parent */
                        parent?: (string|null);

                        /** ListSecuritySettingsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListSecuritySettingsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListSecuritySettingsRequest. */
                    class ListSecuritySettingsRequest implements IListSecuritySettingsRequest {

                        /**
                         * Constructs a new ListSecuritySettingsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListSecuritySettingsRequest);

                        /** ListSecuritySettingsRequest parent. */
                        public parent: string;

                        /** ListSecuritySettingsRequest pageSize. */
                        public pageSize: number;

                        /** ListSecuritySettingsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListSecuritySettingsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListSecuritySettingsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListSecuritySettingsRequest): google.cloud.dialogflow.cx.v3.ListSecuritySettingsRequest;

                        /**
                         * Encodes the specified ListSecuritySettingsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListSecuritySettingsRequest.verify|verify} messages.
                         * @param message ListSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListSecuritySettingsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListSecuritySettingsRequest.verify|verify} messages.
                         * @param message ListSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListSecuritySettingsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListSecuritySettingsRequest;

                        /**
                         * Decodes a ListSecuritySettingsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListSecuritySettingsRequest;

                        /**
                         * Verifies a ListSecuritySettingsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListSecuritySettingsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListSecuritySettingsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListSecuritySettingsRequest;

                        /**
                         * Creates a plain object from a ListSecuritySettingsRequest message. Also converts values to other types if specified.
                         * @param message ListSecuritySettingsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListSecuritySettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListSecuritySettingsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListSecuritySettingsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListSecuritySettingsResponse. */
                    interface IListSecuritySettingsResponse {

                        /** ListSecuritySettingsResponse securitySettings */
                        securitySettings?: (google.cloud.dialogflow.cx.v3.ISecuritySettings[]|null);

                        /** ListSecuritySettingsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListSecuritySettingsResponse. */
                    class ListSecuritySettingsResponse implements IListSecuritySettingsResponse {

                        /**
                         * Constructs a new ListSecuritySettingsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListSecuritySettingsResponse);

                        /** ListSecuritySettingsResponse securitySettings. */
                        public securitySettings: google.cloud.dialogflow.cx.v3.ISecuritySettings[];

                        /** ListSecuritySettingsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListSecuritySettingsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListSecuritySettingsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListSecuritySettingsResponse): google.cloud.dialogflow.cx.v3.ListSecuritySettingsResponse;

                        /**
                         * Encodes the specified ListSecuritySettingsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListSecuritySettingsResponse.verify|verify} messages.
                         * @param message ListSecuritySettingsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListSecuritySettingsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListSecuritySettingsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListSecuritySettingsResponse.verify|verify} messages.
                         * @param message ListSecuritySettingsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListSecuritySettingsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListSecuritySettingsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListSecuritySettingsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListSecuritySettingsResponse;

                        /**
                         * Decodes a ListSecuritySettingsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListSecuritySettingsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListSecuritySettingsResponse;

                        /**
                         * Verifies a ListSecuritySettingsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListSecuritySettingsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListSecuritySettingsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListSecuritySettingsResponse;

                        /**
                         * Creates a plain object from a ListSecuritySettingsResponse message. Also converts values to other types if specified.
                         * @param message ListSecuritySettingsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListSecuritySettingsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListSecuritySettingsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListSecuritySettingsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateSecuritySettingsRequest. */
                    interface ICreateSecuritySettingsRequest {

                        /** CreateSecuritySettingsRequest parent */
                        parent?: (string|null);

                        /** CreateSecuritySettingsRequest securitySettings */
                        securitySettings?: (google.cloud.dialogflow.cx.v3.ISecuritySettings|null);
                    }

                    /** Represents a CreateSecuritySettingsRequest. */
                    class CreateSecuritySettingsRequest implements ICreateSecuritySettingsRequest {

                        /**
                         * Constructs a new CreateSecuritySettingsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICreateSecuritySettingsRequest);

                        /** CreateSecuritySettingsRequest parent. */
                        public parent: string;

                        /** CreateSecuritySettingsRequest securitySettings. */
                        public securitySettings?: (google.cloud.dialogflow.cx.v3.ISecuritySettings|null);

                        /**
                         * Creates a new CreateSecuritySettingsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateSecuritySettingsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICreateSecuritySettingsRequest): google.cloud.dialogflow.cx.v3.CreateSecuritySettingsRequest;

                        /**
                         * Encodes the specified CreateSecuritySettingsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateSecuritySettingsRequest.verify|verify} messages.
                         * @param message CreateSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICreateSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateSecuritySettingsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateSecuritySettingsRequest.verify|verify} messages.
                         * @param message CreateSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICreateSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateSecuritySettingsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CreateSecuritySettingsRequest;

                        /**
                         * Decodes a CreateSecuritySettingsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CreateSecuritySettingsRequest;

                        /**
                         * Verifies a CreateSecuritySettingsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateSecuritySettingsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateSecuritySettingsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CreateSecuritySettingsRequest;

                        /**
                         * Creates a plain object from a CreateSecuritySettingsRequest message. Also converts values to other types if specified.
                         * @param message CreateSecuritySettingsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CreateSecuritySettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateSecuritySettingsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateSecuritySettingsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteSecuritySettingsRequest. */
                    interface IDeleteSecuritySettingsRequest {

                        /** DeleteSecuritySettingsRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeleteSecuritySettingsRequest. */
                    class DeleteSecuritySettingsRequest implements IDeleteSecuritySettingsRequest {

                        /**
                         * Constructs a new DeleteSecuritySettingsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeleteSecuritySettingsRequest);

                        /** DeleteSecuritySettingsRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeleteSecuritySettingsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteSecuritySettingsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeleteSecuritySettingsRequest): google.cloud.dialogflow.cx.v3.DeleteSecuritySettingsRequest;

                        /**
                         * Encodes the specified DeleteSecuritySettingsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteSecuritySettingsRequest.verify|verify} messages.
                         * @param message DeleteSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeleteSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteSecuritySettingsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteSecuritySettingsRequest.verify|verify} messages.
                         * @param message DeleteSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeleteSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteSecuritySettingsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DeleteSecuritySettingsRequest;

                        /**
                         * Decodes a DeleteSecuritySettingsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DeleteSecuritySettingsRequest;

                        /**
                         * Verifies a DeleteSecuritySettingsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteSecuritySettingsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteSecuritySettingsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DeleteSecuritySettingsRequest;

                        /**
                         * Creates a plain object from a DeleteSecuritySettingsRequest message. Also converts values to other types if specified.
                         * @param message DeleteSecuritySettingsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DeleteSecuritySettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteSecuritySettingsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteSecuritySettingsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a SecuritySettings. */
                    interface ISecuritySettings {

                        /** SecuritySettings name */
                        name?: (string|null);

                        /** SecuritySettings displayName */
                        displayName?: (string|null);

                        /** SecuritySettings redactionStrategy */
                        redactionStrategy?: (google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy|keyof typeof google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy|null);

                        /** SecuritySettings redactionScope */
                        redactionScope?: (google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope|keyof typeof google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope|null);

                        /** SecuritySettings inspectTemplate */
                        inspectTemplate?: (string|null);

                        /** SecuritySettings deidentifyTemplate */
                        deidentifyTemplate?: (string|null);

                        /** SecuritySettings retentionWindowDays */
                        retentionWindowDays?: (number|null);

                        /** SecuritySettings retentionStrategy */
                        retentionStrategy?: (google.cloud.dialogflow.cx.v3.SecuritySettings.RetentionStrategy|keyof typeof google.cloud.dialogflow.cx.v3.SecuritySettings.RetentionStrategy|null);

                        /** SecuritySettings purgeDataTypes */
                        purgeDataTypes?: (google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType[]|null);

                        /** SecuritySettings audioExportSettings */
                        audioExportSettings?: (google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings|null);

                        /** SecuritySettings insightsExportSettings */
                        insightsExportSettings?: (google.cloud.dialogflow.cx.v3.SecuritySettings.IInsightsExportSettings|null);
                    }

                    /** Represents a SecuritySettings. */
                    class SecuritySettings implements ISecuritySettings {

                        /**
                         * Constructs a new SecuritySettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ISecuritySettings);

                        /** SecuritySettings name. */
                        public name: string;

                        /** SecuritySettings displayName. */
                        public displayName: string;

                        /** SecuritySettings redactionStrategy. */
                        public redactionStrategy: (google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy|keyof typeof google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionStrategy);

                        /** SecuritySettings redactionScope. */
                        public redactionScope: (google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope|keyof typeof google.cloud.dialogflow.cx.v3.SecuritySettings.RedactionScope);

                        /** SecuritySettings inspectTemplate. */
                        public inspectTemplate: string;

                        /** SecuritySettings deidentifyTemplate. */
                        public deidentifyTemplate: string;

                        /** SecuritySettings retentionWindowDays. */
                        public retentionWindowDays?: (number|null);

                        /** SecuritySettings retentionStrategy. */
                        public retentionStrategy?: (google.cloud.dialogflow.cx.v3.SecuritySettings.RetentionStrategy|keyof typeof google.cloud.dialogflow.cx.v3.SecuritySettings.RetentionStrategy|null);

                        /** SecuritySettings purgeDataTypes. */
                        public purgeDataTypes: google.cloud.dialogflow.cx.v3.SecuritySettings.PurgeDataType[];

                        /** SecuritySettings audioExportSettings. */
                        public audioExportSettings?: (google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings|null);

                        /** SecuritySettings insightsExportSettings. */
                        public insightsExportSettings?: (google.cloud.dialogflow.cx.v3.SecuritySettings.IInsightsExportSettings|null);

                        /** SecuritySettings dataRetention. */
                        public dataRetention?: ("retentionWindowDays"|"retentionStrategy");

                        /**
                         * Creates a new SecuritySettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SecuritySettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ISecuritySettings): google.cloud.dialogflow.cx.v3.SecuritySettings;

                        /**
                         * Encodes the specified SecuritySettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SecuritySettings.verify|verify} messages.
                         * @param message SecuritySettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ISecuritySettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SecuritySettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SecuritySettings.verify|verify} messages.
                         * @param message SecuritySettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ISecuritySettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SecuritySettings message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SecuritySettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.SecuritySettings;

                        /**
                         * Decodes a SecuritySettings message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SecuritySettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.SecuritySettings;

                        /**
                         * Verifies a SecuritySettings message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SecuritySettings message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SecuritySettings
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.SecuritySettings;

                        /**
                         * Creates a plain object from a SecuritySettings message. Also converts values to other types if specified.
                         * @param message SecuritySettings
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.SecuritySettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SecuritySettings to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SecuritySettings
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace SecuritySettings {

                        /** RedactionStrategy enum. */
                        enum RedactionStrategy {
                            REDACTION_STRATEGY_UNSPECIFIED = 0,
                            REDACT_WITH_SERVICE = 1
                        }

                        /** RedactionScope enum. */
                        enum RedactionScope {
                            REDACTION_SCOPE_UNSPECIFIED = 0,
                            REDACT_DISK_STORAGE = 2
                        }

                        /** RetentionStrategy enum. */
                        enum RetentionStrategy {
                            RETENTION_STRATEGY_UNSPECIFIED = 0,
                            REMOVE_AFTER_CONVERSATION = 1
                        }

                        /** PurgeDataType enum. */
                        enum PurgeDataType {
                            PURGE_DATA_TYPE_UNSPECIFIED = 0,
                            DIALOGFLOW_HISTORY = 1
                        }

                        /** Properties of an AudioExportSettings. */
                        interface IAudioExportSettings {

                            /** AudioExportSettings gcsBucket */
                            gcsBucket?: (string|null);

                            /** AudioExportSettings audioExportPattern */
                            audioExportPattern?: (string|null);

                            /** AudioExportSettings enableAudioRedaction */
                            enableAudioRedaction?: (boolean|null);

                            /** AudioExportSettings audioFormat */
                            audioFormat?: (google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat|keyof typeof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat|null);

                            /** AudioExportSettings storeTtsAudio */
                            storeTtsAudio?: (boolean|null);
                        }

                        /** Represents an AudioExportSettings. */
                        class AudioExportSettings implements IAudioExportSettings {

                            /**
                             * Constructs a new AudioExportSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings);

                            /** AudioExportSettings gcsBucket. */
                            public gcsBucket: string;

                            /** AudioExportSettings audioExportPattern. */
                            public audioExportPattern: string;

                            /** AudioExportSettings enableAudioRedaction. */
                            public enableAudioRedaction: boolean;

                            /** AudioExportSettings audioFormat. */
                            public audioFormat: (google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat|keyof typeof google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.AudioFormat);

                            /** AudioExportSettings storeTtsAudio. */
                            public storeTtsAudio: boolean;

                            /**
                             * Creates a new AudioExportSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns AudioExportSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings): google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings;

                            /**
                             * Encodes the specified AudioExportSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.verify|verify} messages.
                             * @param message AudioExportSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified AudioExportSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings.verify|verify} messages.
                             * @param message AudioExportSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.SecuritySettings.IAudioExportSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an AudioExportSettings message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns AudioExportSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings;

                            /**
                             * Decodes an AudioExportSettings message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns AudioExportSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings;

                            /**
                             * Verifies an AudioExportSettings message.
                             * @param message Plain 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 AudioExportSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns AudioExportSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings;

                            /**
                             * Creates a plain object from an AudioExportSettings message. Also converts values to other types if specified.
                             * @param message AudioExportSettings
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.SecuritySettings.AudioExportSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this AudioExportSettings to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for AudioExportSettings
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace AudioExportSettings {

                            /** AudioFormat enum. */
                            enum AudioFormat {
                                AUDIO_FORMAT_UNSPECIFIED = 0,
                                MULAW = 1,
                                MP3 = 2,
                                OGG = 3
                            }
                        }

                        /** Properties of an InsightsExportSettings. */
                        interface IInsightsExportSettings {

                            /** InsightsExportSettings enableInsightsExport */
                            enableInsightsExport?: (boolean|null);
                        }

                        /** Represents an InsightsExportSettings. */
                        class InsightsExportSettings implements IInsightsExportSettings {

                            /**
                             * Constructs a new InsightsExportSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3.SecuritySettings.IInsightsExportSettings);

                            /** InsightsExportSettings enableInsightsExport. */
                            public enableInsightsExport: boolean;

                            /**
                             * Creates a new InsightsExportSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns InsightsExportSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3.SecuritySettings.IInsightsExportSettings): google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings;

                            /**
                             * Encodes the specified InsightsExportSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.verify|verify} messages.
                             * @param message InsightsExportSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3.SecuritySettings.IInsightsExportSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified InsightsExportSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings.verify|verify} messages.
                             * @param message InsightsExportSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.SecuritySettings.IInsightsExportSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an InsightsExportSettings message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns InsightsExportSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings;

                            /**
                             * Decodes an InsightsExportSettings message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns InsightsExportSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings;

                            /**
                             * Verifies an InsightsExportSettings message.
                             * @param message Plain 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 InsightsExportSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns InsightsExportSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings;

                            /**
                             * Creates a plain object from an InsightsExportSettings message. Also converts values to other types if specified.
                             * @param message InsightsExportSettings
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3.SecuritySettings.InsightsExportSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this InsightsExportSettings to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for InsightsExportSettings
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Represents a Versions */
                    class Versions extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Versions 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 Versions 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): Versions;

                        /**
                         * Calls ListVersions.
                         * @param request ListVersionsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListVersionsResponse
                         */
                        public listVersions(request: google.cloud.dialogflow.cx.v3.IListVersionsRequest, callback: google.cloud.dialogflow.cx.v3.Versions.ListVersionsCallback): void;

                        /**
                         * Calls ListVersions.
                         * @param request ListVersionsRequest message or plain object
                         * @returns Promise
                         */
                        public listVersions(request: google.cloud.dialogflow.cx.v3.IListVersionsRequest): Promise<google.cloud.dialogflow.cx.v3.ListVersionsResponse>;

                        /**
                         * Calls GetVersion.
                         * @param request GetVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Version
                         */
                        public getVersion(request: google.cloud.dialogflow.cx.v3.IGetVersionRequest, callback: google.cloud.dialogflow.cx.v3.Versions.GetVersionCallback): void;

                        /**
                         * Calls GetVersion.
                         * @param request GetVersionRequest message or plain object
                         * @returns Promise
                         */
                        public getVersion(request: google.cloud.dialogflow.cx.v3.IGetVersionRequest): Promise<google.cloud.dialogflow.cx.v3.Version>;

                        /**
                         * Calls CreateVersion.
                         * @param request CreateVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public createVersion(request: google.cloud.dialogflow.cx.v3.ICreateVersionRequest, callback: google.cloud.dialogflow.cx.v3.Versions.CreateVersionCallback): void;

                        /**
                         * Calls CreateVersion.
                         * @param request CreateVersionRequest message or plain object
                         * @returns Promise
                         */
                        public createVersion(request: google.cloud.dialogflow.cx.v3.ICreateVersionRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls UpdateVersion.
                         * @param request UpdateVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Version
                         */
                        public updateVersion(request: google.cloud.dialogflow.cx.v3.IUpdateVersionRequest, callback: google.cloud.dialogflow.cx.v3.Versions.UpdateVersionCallback): void;

                        /**
                         * Calls UpdateVersion.
                         * @param request UpdateVersionRequest message or plain object
                         * @returns Promise
                         */
                        public updateVersion(request: google.cloud.dialogflow.cx.v3.IUpdateVersionRequest): Promise<google.cloud.dialogflow.cx.v3.Version>;

                        /**
                         * Calls DeleteVersion.
                         * @param request DeleteVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteVersion(request: google.cloud.dialogflow.cx.v3.IDeleteVersionRequest, callback: google.cloud.dialogflow.cx.v3.Versions.DeleteVersionCallback): void;

                        /**
                         * Calls DeleteVersion.
                         * @param request DeleteVersionRequest message or plain object
                         * @returns Promise
                         */
                        public deleteVersion(request: google.cloud.dialogflow.cx.v3.IDeleteVersionRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls LoadVersion.
                         * @param request LoadVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public loadVersion(request: google.cloud.dialogflow.cx.v3.ILoadVersionRequest, callback: google.cloud.dialogflow.cx.v3.Versions.LoadVersionCallback): void;

                        /**
                         * Calls LoadVersion.
                         * @param request LoadVersionRequest message or plain object
                         * @returns Promise
                         */
                        public loadVersion(request: google.cloud.dialogflow.cx.v3.ILoadVersionRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls CompareVersions.
                         * @param request CompareVersionsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and CompareVersionsResponse
                         */
                        public compareVersions(request: google.cloud.dialogflow.cx.v3.ICompareVersionsRequest, callback: google.cloud.dialogflow.cx.v3.Versions.CompareVersionsCallback): void;

                        /**
                         * Calls CompareVersions.
                         * @param request CompareVersionsRequest message or plain object
                         * @returns Promise
                         */
                        public compareVersions(request: google.cloud.dialogflow.cx.v3.ICompareVersionsRequest): Promise<google.cloud.dialogflow.cx.v3.CompareVersionsResponse>;
                    }

                    namespace Versions {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Versions|listVersions}.
                         * @param error Error, if any
                         * @param [response] ListVersionsResponse
                         */
                        type ListVersionsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.ListVersionsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Versions|getVersion}.
                         * @param error Error, if any
                         * @param [response] Version
                         */
                        type GetVersionCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Version) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Versions|createVersion}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type CreateVersionCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Versions|updateVersion}.
                         * @param error Error, if any
                         * @param [response] Version
                         */
                        type UpdateVersionCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.Version) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Versions|deleteVersion}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteVersionCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Versions|loadVersion}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type LoadVersionCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3.Versions|compareVersions}.
                         * @param error Error, if any
                         * @param [response] CompareVersionsResponse
                         */
                        type CompareVersionsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3.CompareVersionsResponse) => void;
                    }

                    /** Properties of a CreateVersionOperationMetadata. */
                    interface ICreateVersionOperationMetadata {

                        /** CreateVersionOperationMetadata version */
                        version?: (string|null);
                    }

                    /** Represents a CreateVersionOperationMetadata. */
                    class CreateVersionOperationMetadata implements ICreateVersionOperationMetadata {

                        /**
                         * Constructs a new CreateVersionOperationMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICreateVersionOperationMetadata);

                        /** CreateVersionOperationMetadata version. */
                        public version: string;

                        /**
                         * Creates a new CreateVersionOperationMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateVersionOperationMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICreateVersionOperationMetadata): google.cloud.dialogflow.cx.v3.CreateVersionOperationMetadata;

                        /**
                         * Encodes the specified CreateVersionOperationMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateVersionOperationMetadata.verify|verify} messages.
                         * @param message CreateVersionOperationMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICreateVersionOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateVersionOperationMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateVersionOperationMetadata.verify|verify} messages.
                         * @param message CreateVersionOperationMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICreateVersionOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateVersionOperationMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateVersionOperationMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CreateVersionOperationMetadata;

                        /**
                         * Decodes a CreateVersionOperationMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateVersionOperationMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CreateVersionOperationMetadata;

                        /**
                         * Verifies a CreateVersionOperationMetadata message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateVersionOperationMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateVersionOperationMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CreateVersionOperationMetadata;

                        /**
                         * Creates a plain object from a CreateVersionOperationMetadata message. Also converts values to other types if specified.
                         * @param message CreateVersionOperationMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CreateVersionOperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateVersionOperationMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateVersionOperationMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a Version. */
                    interface IVersion {

                        /** Version name */
                        name?: (string|null);

                        /** Version displayName */
                        displayName?: (string|null);

                        /** Version description */
                        description?: (string|null);

                        /** Version nluSettings */
                        nluSettings?: (google.cloud.dialogflow.cx.v3.INluSettings|null);

                        /** Version createTime */
                        createTime?: (google.protobuf.ITimestamp|null);

                        /** Version state */
                        state?: (google.cloud.dialogflow.cx.v3.Version.State|keyof typeof google.cloud.dialogflow.cx.v3.Version.State|null);
                    }

                    /** Represents a Version. */
                    class Version implements IVersion {

                        /**
                         * Constructs a new Version.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IVersion);

                        /** Version name. */
                        public name: string;

                        /** Version displayName. */
                        public displayName: string;

                        /** Version description. */
                        public description: string;

                        /** Version nluSettings. */
                        public nluSettings?: (google.cloud.dialogflow.cx.v3.INluSettings|null);

                        /** Version createTime. */
                        public createTime?: (google.protobuf.ITimestamp|null);

                        /** Version state. */
                        public state: (google.cloud.dialogflow.cx.v3.Version.State|keyof typeof google.cloud.dialogflow.cx.v3.Version.State);

                        /**
                         * Creates a new Version instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Version instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IVersion): google.cloud.dialogflow.cx.v3.Version;

                        /**
                         * Encodes the specified Version message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Version.verify|verify} messages.
                         * @param message Version message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IVersion, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Version message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.Version.verify|verify} messages.
                         * @param message Version message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IVersion, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Version message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Version
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.Version;

                        /**
                         * Decodes a Version message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Version
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.Version;

                        /**
                         * Verifies a Version message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Version message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Version
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.Version;

                        /**
                         * Creates a plain object from a Version message. Also converts values to other types if specified.
                         * @param message Version
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.Version, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Version to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Version
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Version {

                        /** State enum. */
                        enum State {
                            STATE_UNSPECIFIED = 0,
                            RUNNING = 1,
                            SUCCEEDED = 2,
                            FAILED = 3
                        }
                    }

                    /** Properties of a ListVersionsRequest. */
                    interface IListVersionsRequest {

                        /** ListVersionsRequest parent */
                        parent?: (string|null);

                        /** ListVersionsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListVersionsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListVersionsRequest. */
                    class ListVersionsRequest implements IListVersionsRequest {

                        /**
                         * Constructs a new ListVersionsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListVersionsRequest);

                        /** ListVersionsRequest parent. */
                        public parent: string;

                        /** ListVersionsRequest pageSize. */
                        public pageSize: number;

                        /** ListVersionsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListVersionsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListVersionsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListVersionsRequest): google.cloud.dialogflow.cx.v3.ListVersionsRequest;

                        /**
                         * Encodes the specified ListVersionsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListVersionsRequest.verify|verify} messages.
                         * @param message ListVersionsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListVersionsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListVersionsRequest.verify|verify} messages.
                         * @param message ListVersionsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListVersionsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListVersionsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListVersionsRequest;

                        /**
                         * Decodes a ListVersionsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListVersionsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListVersionsRequest;

                        /**
                         * Verifies a ListVersionsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListVersionsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListVersionsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListVersionsRequest;

                        /**
                         * Creates a plain object from a ListVersionsRequest message. Also converts values to other types if specified.
                         * @param message ListVersionsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListVersionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListVersionsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListVersionsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListVersionsResponse. */
                    interface IListVersionsResponse {

                        /** ListVersionsResponse versions */
                        versions?: (google.cloud.dialogflow.cx.v3.IVersion[]|null);

                        /** ListVersionsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListVersionsResponse. */
                    class ListVersionsResponse implements IListVersionsResponse {

                        /**
                         * Constructs a new ListVersionsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IListVersionsResponse);

                        /** ListVersionsResponse versions. */
                        public versions: google.cloud.dialogflow.cx.v3.IVersion[];

                        /** ListVersionsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListVersionsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListVersionsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IListVersionsResponse): google.cloud.dialogflow.cx.v3.ListVersionsResponse;

                        /**
                         * Encodes the specified ListVersionsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListVersionsResponse.verify|verify} messages.
                         * @param message ListVersionsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IListVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListVersionsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.ListVersionsResponse.verify|verify} messages.
                         * @param message ListVersionsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IListVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListVersionsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListVersionsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.ListVersionsResponse;

                        /**
                         * Decodes a ListVersionsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListVersionsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.ListVersionsResponse;

                        /**
                         * Verifies a ListVersionsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListVersionsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListVersionsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.ListVersionsResponse;

                        /**
                         * Creates a plain object from a ListVersionsResponse message. Also converts values to other types if specified.
                         * @param message ListVersionsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.ListVersionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListVersionsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListVersionsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetVersionRequest. */
                    interface IGetVersionRequest {

                        /** GetVersionRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetVersionRequest. */
                    class GetVersionRequest implements IGetVersionRequest {

                        /**
                         * Constructs a new GetVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IGetVersionRequest);

                        /** GetVersionRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IGetVersionRequest): google.cloud.dialogflow.cx.v3.GetVersionRequest;

                        /**
                         * Encodes the specified GetVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetVersionRequest.verify|verify} messages.
                         * @param message GetVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IGetVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.GetVersionRequest.verify|verify} messages.
                         * @param message GetVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IGetVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.GetVersionRequest;

                        /**
                         * Decodes a GetVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.GetVersionRequest;

                        /**
                         * Verifies a GetVersionRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.GetVersionRequest;

                        /**
                         * Creates a plain object from a GetVersionRequest message. Also converts values to other types if specified.
                         * @param message GetVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.GetVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateVersionRequest. */
                    interface ICreateVersionRequest {

                        /** CreateVersionRequest parent */
                        parent?: (string|null);

                        /** CreateVersionRequest version */
                        version?: (google.cloud.dialogflow.cx.v3.IVersion|null);
                    }

                    /** Represents a CreateVersionRequest. */
                    class CreateVersionRequest implements ICreateVersionRequest {

                        /**
                         * Constructs a new CreateVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICreateVersionRequest);

                        /** CreateVersionRequest parent. */
                        public parent: string;

                        /** CreateVersionRequest version. */
                        public version?: (google.cloud.dialogflow.cx.v3.IVersion|null);

                        /**
                         * Creates a new CreateVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICreateVersionRequest): google.cloud.dialogflow.cx.v3.CreateVersionRequest;

                        /**
                         * Encodes the specified CreateVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateVersionRequest.verify|verify} messages.
                         * @param message CreateVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICreateVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CreateVersionRequest.verify|verify} messages.
                         * @param message CreateVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICreateVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CreateVersionRequest;

                        /**
                         * Decodes a CreateVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CreateVersionRequest;

                        /**
                         * Verifies a CreateVersionRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CreateVersionRequest;

                        /**
                         * Creates a plain object from a CreateVersionRequest message. Also converts values to other types if specified.
                         * @param message CreateVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CreateVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateVersionRequest. */
                    interface IUpdateVersionRequest {

                        /** UpdateVersionRequest version */
                        version?: (google.cloud.dialogflow.cx.v3.IVersion|null);

                        /** UpdateVersionRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateVersionRequest. */
                    class UpdateVersionRequest implements IUpdateVersionRequest {

                        /**
                         * Constructs a new UpdateVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IUpdateVersionRequest);

                        /** UpdateVersionRequest version. */
                        public version?: (google.cloud.dialogflow.cx.v3.IVersion|null);

                        /** UpdateVersionRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IUpdateVersionRequest): google.cloud.dialogflow.cx.v3.UpdateVersionRequest;

                        /**
                         * Encodes the specified UpdateVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateVersionRequest.verify|verify} messages.
                         * @param message UpdateVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IUpdateVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.UpdateVersionRequest.verify|verify} messages.
                         * @param message UpdateVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IUpdateVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.UpdateVersionRequest;

                        /**
                         * Decodes an UpdateVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.UpdateVersionRequest;

                        /**
                         * Verifies an UpdateVersionRequest message.
                         * @param message Plain 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 UpdateVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.UpdateVersionRequest;

                        /**
                         * Creates a plain object from an UpdateVersionRequest message. Also converts values to other types if specified.
                         * @param message UpdateVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.UpdateVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteVersionRequest. */
                    interface IDeleteVersionRequest {

                        /** DeleteVersionRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeleteVersionRequest. */
                    class DeleteVersionRequest implements IDeleteVersionRequest {

                        /**
                         * Constructs a new DeleteVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.IDeleteVersionRequest);

                        /** DeleteVersionRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeleteVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.IDeleteVersionRequest): google.cloud.dialogflow.cx.v3.DeleteVersionRequest;

                        /**
                         * Encodes the specified DeleteVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteVersionRequest.verify|verify} messages.
                         * @param message DeleteVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.IDeleteVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.DeleteVersionRequest.verify|verify} messages.
                         * @param message DeleteVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.IDeleteVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.DeleteVersionRequest;

                        /**
                         * Decodes a DeleteVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.DeleteVersionRequest;

                        /**
                         * Verifies a DeleteVersionRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.DeleteVersionRequest;

                        /**
                         * Creates a plain object from a DeleteVersionRequest message. Also converts values to other types if specified.
                         * @param message DeleteVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.DeleteVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a LoadVersionRequest. */
                    interface ILoadVersionRequest {

                        /** LoadVersionRequest name */
                        name?: (string|null);

                        /** LoadVersionRequest allowOverrideAgentResources */
                        allowOverrideAgentResources?: (boolean|null);
                    }

                    /** Represents a LoadVersionRequest. */
                    class LoadVersionRequest implements ILoadVersionRequest {

                        /**
                         * Constructs a new LoadVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ILoadVersionRequest);

                        /** LoadVersionRequest name. */
                        public name: string;

                        /** LoadVersionRequest allowOverrideAgentResources. */
                        public allowOverrideAgentResources: boolean;

                        /**
                         * Creates a new LoadVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns LoadVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ILoadVersionRequest): google.cloud.dialogflow.cx.v3.LoadVersionRequest;

                        /**
                         * Encodes the specified LoadVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.LoadVersionRequest.verify|verify} messages.
                         * @param message LoadVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ILoadVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified LoadVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.LoadVersionRequest.verify|verify} messages.
                         * @param message LoadVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ILoadVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a LoadVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns LoadVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.LoadVersionRequest;

                        /**
                         * Decodes a LoadVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns LoadVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.LoadVersionRequest;

                        /**
                         * Verifies a LoadVersionRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a LoadVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns LoadVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.LoadVersionRequest;

                        /**
                         * Creates a plain object from a LoadVersionRequest message. Also converts values to other types if specified.
                         * @param message LoadVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.LoadVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this LoadVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for LoadVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CompareVersionsRequest. */
                    interface ICompareVersionsRequest {

                        /** CompareVersionsRequest baseVersion */
                        baseVersion?: (string|null);

                        /** CompareVersionsRequest targetVersion */
                        targetVersion?: (string|null);

                        /** CompareVersionsRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a CompareVersionsRequest. */
                    class CompareVersionsRequest implements ICompareVersionsRequest {

                        /**
                         * Constructs a new CompareVersionsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICompareVersionsRequest);

                        /** CompareVersionsRequest baseVersion. */
                        public baseVersion: string;

                        /** CompareVersionsRequest targetVersion. */
                        public targetVersion: string;

                        /** CompareVersionsRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new CompareVersionsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CompareVersionsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICompareVersionsRequest): google.cloud.dialogflow.cx.v3.CompareVersionsRequest;

                        /**
                         * Encodes the specified CompareVersionsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CompareVersionsRequest.verify|verify} messages.
                         * @param message CompareVersionsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICompareVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CompareVersionsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CompareVersionsRequest.verify|verify} messages.
                         * @param message CompareVersionsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICompareVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CompareVersionsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CompareVersionsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CompareVersionsRequest;

                        /**
                         * Decodes a CompareVersionsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CompareVersionsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CompareVersionsRequest;

                        /**
                         * Verifies a CompareVersionsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CompareVersionsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CompareVersionsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CompareVersionsRequest;

                        /**
                         * Creates a plain object from a CompareVersionsRequest message. Also converts values to other types if specified.
                         * @param message CompareVersionsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CompareVersionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CompareVersionsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CompareVersionsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CompareVersionsResponse. */
                    interface ICompareVersionsResponse {

                        /** CompareVersionsResponse baseVersionContentJson */
                        baseVersionContentJson?: (string|null);

                        /** CompareVersionsResponse targetVersionContentJson */
                        targetVersionContentJson?: (string|null);

                        /** CompareVersionsResponse compareTime */
                        compareTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a CompareVersionsResponse. */
                    class CompareVersionsResponse implements ICompareVersionsResponse {

                        /**
                         * Constructs a new CompareVersionsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3.ICompareVersionsResponse);

                        /** CompareVersionsResponse baseVersionContentJson. */
                        public baseVersionContentJson: string;

                        /** CompareVersionsResponse targetVersionContentJson. */
                        public targetVersionContentJson: string;

                        /** CompareVersionsResponse compareTime. */
                        public compareTime?: (google.protobuf.ITimestamp|null);

                        /**
                         * Creates a new CompareVersionsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CompareVersionsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3.ICompareVersionsResponse): google.cloud.dialogflow.cx.v3.CompareVersionsResponse;

                        /**
                         * Encodes the specified CompareVersionsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CompareVersionsResponse.verify|verify} messages.
                         * @param message CompareVersionsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3.ICompareVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CompareVersionsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3.CompareVersionsResponse.verify|verify} messages.
                         * @param message CompareVersionsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3.ICompareVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CompareVersionsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CompareVersionsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3.CompareVersionsResponse;

                        /**
                         * Decodes a CompareVersionsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CompareVersionsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3.CompareVersionsResponse;

                        /**
                         * Verifies a CompareVersionsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CompareVersionsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CompareVersionsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3.CompareVersionsResponse;

                        /**
                         * Creates a plain object from a CompareVersionsResponse message. Also converts values to other types if specified.
                         * @param message CompareVersionsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3.CompareVersionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CompareVersionsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CompareVersionsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }
                }

                /** Namespace v3beta1. */
                namespace v3beta1 {

                    /** Properties of an AdvancedSettings. */
                    interface IAdvancedSettings {

                        /** AdvancedSettings audioExportGcsDestination */
                        audioExportGcsDestination?: (google.cloud.dialogflow.cx.v3beta1.IGcsDestination|null);

                        /** AdvancedSettings speechSettings */
                        speechSettings?: (google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.ISpeechSettings|null);

                        /** AdvancedSettings dtmfSettings */
                        dtmfSettings?: (google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.IDtmfSettings|null);

                        /** AdvancedSettings loggingSettings */
                        loggingSettings?: (google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.ILoggingSettings|null);
                    }

                    /** Represents an AdvancedSettings. */
                    class AdvancedSettings implements IAdvancedSettings {

                        /**
                         * Constructs a new AdvancedSettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings);

                        /** AdvancedSettings audioExportGcsDestination. */
                        public audioExportGcsDestination?: (google.cloud.dialogflow.cx.v3beta1.IGcsDestination|null);

                        /** AdvancedSettings speechSettings. */
                        public speechSettings?: (google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.ISpeechSettings|null);

                        /** AdvancedSettings dtmfSettings. */
                        public dtmfSettings?: (google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.IDtmfSettings|null);

                        /** AdvancedSettings loggingSettings. */
                        public loggingSettings?: (google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.ILoggingSettings|null);

                        /**
                         * Creates a new AdvancedSettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns AdvancedSettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings;

                        /**
                         * Encodes the specified AdvancedSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.verify|verify} messages.
                         * @param message AdvancedSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified AdvancedSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.verify|verify} messages.
                         * @param message AdvancedSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an AdvancedSettings message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns AdvancedSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings;

                        /**
                         * Decodes an AdvancedSettings message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns AdvancedSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings;

                        /**
                         * Verifies an AdvancedSettings message.
                         * @param message Plain 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 AdvancedSettings message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns AdvancedSettings
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings;

                        /**
                         * Creates a plain object from an AdvancedSettings message. Also converts values to other types if specified.
                         * @param message AdvancedSettings
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this AdvancedSettings to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for AdvancedSettings
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace AdvancedSettings {

                        /** Properties of a SpeechSettings. */
                        interface ISpeechSettings {

                            /** SpeechSettings endpointerSensitivity */
                            endpointerSensitivity?: (number|null);

                            /** SpeechSettings noSpeechTimeout */
                            noSpeechTimeout?: (google.protobuf.IDuration|null);

                            /** SpeechSettings useTimeoutBasedEndpointing */
                            useTimeoutBasedEndpointing?: (boolean|null);

                            /** SpeechSettings models */
                            models?: ({ [k: string]: string }|null);
                        }

                        /** Represents a SpeechSettings. */
                        class SpeechSettings implements ISpeechSettings {

                            /**
                             * Constructs a new SpeechSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.ISpeechSettings);

                            /** SpeechSettings endpointerSensitivity. */
                            public endpointerSensitivity: number;

                            /** SpeechSettings noSpeechTimeout. */
                            public noSpeechTimeout?: (google.protobuf.IDuration|null);

                            /** SpeechSettings useTimeoutBasedEndpointing. */
                            public useTimeoutBasedEndpointing: boolean;

                            /** SpeechSettings models. */
                            public models: { [k: string]: string };

                            /**
                             * Creates a new SpeechSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns SpeechSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.ISpeechSettings): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.SpeechSettings;

                            /**
                             * Encodes the specified SpeechSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.SpeechSettings.verify|verify} messages.
                             * @param message SpeechSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.ISpeechSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified SpeechSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.SpeechSettings.verify|verify} messages.
                             * @param message SpeechSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.ISpeechSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a SpeechSettings message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns SpeechSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.SpeechSettings;

                            /**
                             * Decodes a SpeechSettings message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns SpeechSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.SpeechSettings;

                            /**
                             * Verifies a SpeechSettings message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a SpeechSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns SpeechSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.SpeechSettings;

                            /**
                             * Creates a plain object from a SpeechSettings message. Also converts values to other types if specified.
                             * @param message SpeechSettings
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.SpeechSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this SpeechSettings to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for SpeechSettings
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a DtmfSettings. */
                        interface IDtmfSettings {

                            /** DtmfSettings enabled */
                            enabled?: (boolean|null);

                            /** DtmfSettings maxDigits */
                            maxDigits?: (number|null);

                            /** DtmfSettings finishDigit */
                            finishDigit?: (string|null);

                            /** DtmfSettings interdigitTimeoutDuration */
                            interdigitTimeoutDuration?: (google.protobuf.IDuration|null);

                            /** DtmfSettings endpointingTimeoutDuration */
                            endpointingTimeoutDuration?: (google.protobuf.IDuration|null);
                        }

                        /** Represents a DtmfSettings. */
                        class DtmfSettings implements IDtmfSettings {

                            /**
                             * Constructs a new DtmfSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.IDtmfSettings);

                            /** DtmfSettings enabled. */
                            public enabled: boolean;

                            /** DtmfSettings maxDigits. */
                            public maxDigits: number;

                            /** DtmfSettings finishDigit. */
                            public finishDigit: string;

                            /** DtmfSettings interdigitTimeoutDuration. */
                            public interdigitTimeoutDuration?: (google.protobuf.IDuration|null);

                            /** DtmfSettings endpointingTimeoutDuration. */
                            public endpointingTimeoutDuration?: (google.protobuf.IDuration|null);

                            /**
                             * Creates a new DtmfSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns DtmfSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.IDtmfSettings): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.DtmfSettings;

                            /**
                             * Encodes the specified DtmfSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.DtmfSettings.verify|verify} messages.
                             * @param message DtmfSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.IDtmfSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified DtmfSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.DtmfSettings.verify|verify} messages.
                             * @param message DtmfSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.IDtmfSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a DtmfSettings message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns DtmfSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.DtmfSettings;

                            /**
                             * Decodes a DtmfSettings message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns DtmfSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.DtmfSettings;

                            /**
                             * Verifies a DtmfSettings message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a DtmfSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns DtmfSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.DtmfSettings;

                            /**
                             * Creates a plain object from a DtmfSettings message. Also converts values to other types if specified.
                             * @param message DtmfSettings
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.DtmfSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this DtmfSettings to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for DtmfSettings
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a LoggingSettings. */
                        interface ILoggingSettings {

                            /** LoggingSettings enableStackdriverLogging */
                            enableStackdriverLogging?: (boolean|null);

                            /** LoggingSettings enableInteractionLogging */
                            enableInteractionLogging?: (boolean|null);

                            /** LoggingSettings enableConsentBasedRedaction */
                            enableConsentBasedRedaction?: (boolean|null);
                        }

                        /** Represents a LoggingSettings. */
                        class LoggingSettings implements ILoggingSettings {

                            /**
                             * Constructs a new LoggingSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.ILoggingSettings);

                            /** LoggingSettings enableStackdriverLogging. */
                            public enableStackdriverLogging: boolean;

                            /** LoggingSettings enableInteractionLogging. */
                            public enableInteractionLogging: boolean;

                            /** LoggingSettings enableConsentBasedRedaction. */
                            public enableConsentBasedRedaction: boolean;

                            /**
                             * Creates a new LoggingSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns LoggingSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.ILoggingSettings): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.LoggingSettings;

                            /**
                             * Encodes the specified LoggingSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.LoggingSettings.verify|verify} messages.
                             * @param message LoggingSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.ILoggingSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified LoggingSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.LoggingSettings.verify|verify} messages.
                             * @param message LoggingSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.ILoggingSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a LoggingSettings message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns LoggingSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.LoggingSettings;

                            /**
                             * Decodes a LoggingSettings message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns LoggingSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.LoggingSettings;

                            /**
                             * Verifies a LoggingSettings message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a LoggingSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns LoggingSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.LoggingSettings;

                            /**
                             * Creates a plain object from a LoggingSettings message. Also converts values to other types if specified.
                             * @param message LoggingSettings
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.LoggingSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this LoggingSettings to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for LoggingSettings
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a GcsDestination. */
                    interface IGcsDestination {

                        /** GcsDestination uri */
                        uri?: (string|null);
                    }

                    /** Represents a GcsDestination. */
                    class GcsDestination implements IGcsDestination {

                        /**
                         * Constructs a new GcsDestination.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGcsDestination);

                        /** GcsDestination uri. */
                        public uri: string;

                        /**
                         * Creates a new GcsDestination instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GcsDestination instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGcsDestination): google.cloud.dialogflow.cx.v3beta1.GcsDestination;

                        /**
                         * Encodes the specified GcsDestination message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GcsDestination.verify|verify} messages.
                         * @param message GcsDestination message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GcsDestination message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GcsDestination.verify|verify} messages.
                         * @param message GcsDestination message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGcsDestination, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GcsDestination message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GcsDestination
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GcsDestination;

                        /**
                         * Decodes a GcsDestination message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GcsDestination
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GcsDestination;

                        /**
                         * Verifies a GcsDestination message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GcsDestination message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GcsDestination
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GcsDestination;

                        /**
                         * Creates a plain object from a GcsDestination message. Also converts values to other types if specified.
                         * @param message GcsDestination
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GcsDestination, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GcsDestination to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GcsDestination
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents an Agents */
                    class Agents extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Agents 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 Agents 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): Agents;

                        /**
                         * Calls ListAgents.
                         * @param request ListAgentsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListAgentsResponse
                         */
                        public listAgents(request: google.cloud.dialogflow.cx.v3beta1.IListAgentsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Agents.ListAgentsCallback): void;

                        /**
                         * Calls ListAgents.
                         * @param request ListAgentsRequest message or plain object
                         * @returns Promise
                         */
                        public listAgents(request: google.cloud.dialogflow.cx.v3beta1.IListAgentsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListAgentsResponse>;

                        /**
                         * Calls GetAgent.
                         * @param request GetAgentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Agent
                         */
                        public getAgent(request: google.cloud.dialogflow.cx.v3beta1.IGetAgentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Agents.GetAgentCallback): void;

                        /**
                         * Calls GetAgent.
                         * @param request GetAgentRequest message or plain object
                         * @returns Promise
                         */
                        public getAgent(request: google.cloud.dialogflow.cx.v3beta1.IGetAgentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Agent>;

                        /**
                         * Calls CreateAgent.
                         * @param request CreateAgentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Agent
                         */
                        public createAgent(request: google.cloud.dialogflow.cx.v3beta1.ICreateAgentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Agents.CreateAgentCallback): void;

                        /**
                         * Calls CreateAgent.
                         * @param request CreateAgentRequest message or plain object
                         * @returns Promise
                         */
                        public createAgent(request: google.cloud.dialogflow.cx.v3beta1.ICreateAgentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Agent>;

                        /**
                         * Calls UpdateAgent.
                         * @param request UpdateAgentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Agent
                         */
                        public updateAgent(request: google.cloud.dialogflow.cx.v3beta1.IUpdateAgentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Agents.UpdateAgentCallback): void;

                        /**
                         * Calls UpdateAgent.
                         * @param request UpdateAgentRequest message or plain object
                         * @returns Promise
                         */
                        public updateAgent(request: google.cloud.dialogflow.cx.v3beta1.IUpdateAgentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Agent>;

                        /**
                         * Calls DeleteAgent.
                         * @param request DeleteAgentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteAgent(request: google.cloud.dialogflow.cx.v3beta1.IDeleteAgentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Agents.DeleteAgentCallback): void;

                        /**
                         * Calls DeleteAgent.
                         * @param request DeleteAgentRequest message or plain object
                         * @returns Promise
                         */
                        public deleteAgent(request: google.cloud.dialogflow.cx.v3beta1.IDeleteAgentRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls ExportAgent.
                         * @param request ExportAgentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public exportAgent(request: google.cloud.dialogflow.cx.v3beta1.IExportAgentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Agents.ExportAgentCallback): void;

                        /**
                         * Calls ExportAgent.
                         * @param request ExportAgentRequest message or plain object
                         * @returns Promise
                         */
                        public exportAgent(request: google.cloud.dialogflow.cx.v3beta1.IExportAgentRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls RestoreAgent.
                         * @param request RestoreAgentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public restoreAgent(request: google.cloud.dialogflow.cx.v3beta1.IRestoreAgentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Agents.RestoreAgentCallback): void;

                        /**
                         * Calls RestoreAgent.
                         * @param request RestoreAgentRequest message or plain object
                         * @returns Promise
                         */
                        public restoreAgent(request: google.cloud.dialogflow.cx.v3beta1.IRestoreAgentRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ValidateAgent.
                         * @param request ValidateAgentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and AgentValidationResult
                         */
                        public validateAgent(request: google.cloud.dialogflow.cx.v3beta1.IValidateAgentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Agents.ValidateAgentCallback): void;

                        /**
                         * Calls ValidateAgent.
                         * @param request ValidateAgentRequest message or plain object
                         * @returns Promise
                         */
                        public validateAgent(request: google.cloud.dialogflow.cx.v3beta1.IValidateAgentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.AgentValidationResult>;

                        /**
                         * Calls GetAgentValidationResult.
                         * @param request GetAgentValidationResultRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and AgentValidationResult
                         */
                        public getAgentValidationResult(request: google.cloud.dialogflow.cx.v3beta1.IGetAgentValidationResultRequest, callback: google.cloud.dialogflow.cx.v3beta1.Agents.GetAgentValidationResultCallback): void;

                        /**
                         * Calls GetAgentValidationResult.
                         * @param request GetAgentValidationResultRequest message or plain object
                         * @returns Promise
                         */
                        public getAgentValidationResult(request: google.cloud.dialogflow.cx.v3beta1.IGetAgentValidationResultRequest): Promise<google.cloud.dialogflow.cx.v3beta1.AgentValidationResult>;

                        /**
                         * Calls GetGenerativeSettings.
                         * @param request GetGenerativeSettingsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and GenerativeSettings
                         */
                        public getGenerativeSettings(request: google.cloud.dialogflow.cx.v3beta1.IGetGenerativeSettingsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Agents.GetGenerativeSettingsCallback): void;

                        /**
                         * Calls GetGenerativeSettings.
                         * @param request GetGenerativeSettingsRequest message or plain object
                         * @returns Promise
                         */
                        public getGenerativeSettings(request: google.cloud.dialogflow.cx.v3beta1.IGetGenerativeSettingsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.GenerativeSettings>;

                        /**
                         * Calls UpdateGenerativeSettings.
                         * @param request UpdateGenerativeSettingsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and GenerativeSettings
                         */
                        public updateGenerativeSettings(request: google.cloud.dialogflow.cx.v3beta1.IUpdateGenerativeSettingsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Agents.UpdateGenerativeSettingsCallback): void;

                        /**
                         * Calls UpdateGenerativeSettings.
                         * @param request UpdateGenerativeSettingsRequest message or plain object
                         * @returns Promise
                         */
                        public updateGenerativeSettings(request: google.cloud.dialogflow.cx.v3beta1.IUpdateGenerativeSettingsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.GenerativeSettings>;
                    }

                    namespace Agents {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Agents|listAgents}.
                         * @param error Error, if any
                         * @param [response] ListAgentsResponse
                         */
                        type ListAgentsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListAgentsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Agents|getAgent}.
                         * @param error Error, if any
                         * @param [response] Agent
                         */
                        type GetAgentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Agent) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Agents|createAgent}.
                         * @param error Error, if any
                         * @param [response] Agent
                         */
                        type CreateAgentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Agent) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Agents|updateAgent}.
                         * @param error Error, if any
                         * @param [response] Agent
                         */
                        type UpdateAgentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Agent) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Agents|deleteAgent}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteAgentCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Agents|exportAgent}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ExportAgentCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Agents|restoreAgent}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type RestoreAgentCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Agents|validateAgent}.
                         * @param error Error, if any
                         * @param [response] AgentValidationResult
                         */
                        type ValidateAgentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.AgentValidationResult) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Agents|getAgentValidationResult}.
                         * @param error Error, if any
                         * @param [response] AgentValidationResult
                         */
                        type GetAgentValidationResultCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.AgentValidationResult) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Agents|getGenerativeSettings}.
                         * @param error Error, if any
                         * @param [response] GenerativeSettings
                         */
                        type GetGenerativeSettingsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Agents|updateGenerativeSettings}.
                         * @param error Error, if any
                         * @param [response] GenerativeSettings
                         */
                        type UpdateGenerativeSettingsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings) => void;
                    }

                    /** Properties of a SpeechToTextSettings. */
                    interface ISpeechToTextSettings {

                        /** SpeechToTextSettings enableSpeechAdaptation */
                        enableSpeechAdaptation?: (boolean|null);
                    }

                    /** Represents a SpeechToTextSettings. */
                    class SpeechToTextSettings implements ISpeechToTextSettings {

                        /**
                         * Constructs a new SpeechToTextSettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ISpeechToTextSettings);

                        /** SpeechToTextSettings enableSpeechAdaptation. */
                        public enableSpeechAdaptation: boolean;

                        /**
                         * Creates a new SpeechToTextSettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SpeechToTextSettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ISpeechToTextSettings): google.cloud.dialogflow.cx.v3beta1.SpeechToTextSettings;

                        /**
                         * Encodes the specified SpeechToTextSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SpeechToTextSettings.verify|verify} messages.
                         * @param message SpeechToTextSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ISpeechToTextSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SpeechToTextSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SpeechToTextSettings.verify|verify} messages.
                         * @param message SpeechToTextSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ISpeechToTextSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SpeechToTextSettings message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SpeechToTextSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.SpeechToTextSettings;

                        /**
                         * Decodes a SpeechToTextSettings message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SpeechToTextSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.SpeechToTextSettings;

                        /**
                         * Verifies a SpeechToTextSettings message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SpeechToTextSettings message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SpeechToTextSettings
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.SpeechToTextSettings;

                        /**
                         * Creates a plain object from a SpeechToTextSettings message. Also converts values to other types if specified.
                         * @param message SpeechToTextSettings
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.SpeechToTextSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SpeechToTextSettings to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SpeechToTextSettings
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an Agent. */
                    interface IAgent {

                        /** Agent name */
                        name?: (string|null);

                        /** Agent displayName */
                        displayName?: (string|null);

                        /** Agent defaultLanguageCode */
                        defaultLanguageCode?: (string|null);

                        /** Agent supportedLanguageCodes */
                        supportedLanguageCodes?: (string[]|null);

                        /** Agent timeZone */
                        timeZone?: (string|null);

                        /** Agent description */
                        description?: (string|null);

                        /** Agent avatarUri */
                        avatarUri?: (string|null);

                        /** Agent speechToTextSettings */
                        speechToTextSettings?: (google.cloud.dialogflow.cx.v3beta1.ISpeechToTextSettings|null);

                        /** Agent startFlow */
                        startFlow?: (string|null);

                        /** Agent startPlaybook */
                        startPlaybook?: (string|null);

                        /** Agent securitySettings */
                        securitySettings?: (string|null);

                        /** Agent enableStackdriverLogging */
                        enableStackdriverLogging?: (boolean|null);

                        /** Agent enableSpellCorrection */
                        enableSpellCorrection?: (boolean|null);

                        /** Agent enableMultiLanguageTraining */
                        enableMultiLanguageTraining?: (boolean|null);

                        /** Agent locked */
                        locked?: (boolean|null);

                        /** Agent advancedSettings */
                        advancedSettings?: (google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings|null);

                        /** Agent gitIntegrationSettings */
                        gitIntegrationSettings?: (google.cloud.dialogflow.cx.v3beta1.Agent.IGitIntegrationSettings|null);

                        /** Agent bigqueryExportSettings */
                        bigqueryExportSettings?: (google.cloud.dialogflow.cx.v3beta1.IBigQueryExportSettings|null);

                        /** Agent textToSpeechSettings */
                        textToSpeechSettings?: (google.cloud.dialogflow.cx.v3beta1.ITextToSpeechSettings|null);

                        /** Agent genAppBuilderSettings */
                        genAppBuilderSettings?: (google.cloud.dialogflow.cx.v3beta1.Agent.IGenAppBuilderSettings|null);

                        /** Agent answerFeedbackSettings */
                        answerFeedbackSettings?: (google.cloud.dialogflow.cx.v3beta1.Agent.IAnswerFeedbackSettings|null);

                        /** Agent personalizationSettings */
                        personalizationSettings?: (google.cloud.dialogflow.cx.v3beta1.Agent.IPersonalizationSettings|null);

                        /** Agent clientCertificateSettings */
                        clientCertificateSettings?: (google.cloud.dialogflow.cx.v3beta1.Agent.IClientCertificateSettings|null);

                        /** Agent satisfiesPzs */
                        satisfiesPzs?: (boolean|null);

                        /** Agent satisfiesPzi */
                        satisfiesPzi?: (boolean|null);
                    }

                    /** Represents an Agent. */
                    class Agent implements IAgent {

                        /**
                         * Constructs a new Agent.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IAgent);

                        /** Agent name. */
                        public name: string;

                        /** Agent displayName. */
                        public displayName: string;

                        /** Agent defaultLanguageCode. */
                        public defaultLanguageCode: string;

                        /** Agent supportedLanguageCodes. */
                        public supportedLanguageCodes: string[];

                        /** Agent timeZone. */
                        public timeZone: string;

                        /** Agent description. */
                        public description: string;

                        /** Agent avatarUri. */
                        public avatarUri: string;

                        /** Agent speechToTextSettings. */
                        public speechToTextSettings?: (google.cloud.dialogflow.cx.v3beta1.ISpeechToTextSettings|null);

                        /** Agent startFlow. */
                        public startFlow?: (string|null);

                        /** Agent startPlaybook. */
                        public startPlaybook?: (string|null);

                        /** Agent securitySettings. */
                        public securitySettings: string;

                        /** Agent enableStackdriverLogging. */
                        public enableStackdriverLogging: boolean;

                        /** Agent enableSpellCorrection. */
                        public enableSpellCorrection: boolean;

                        /** Agent enableMultiLanguageTraining. */
                        public enableMultiLanguageTraining: boolean;

                        /** Agent locked. */
                        public locked: boolean;

                        /** Agent advancedSettings. */
                        public advancedSettings?: (google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings|null);

                        /** Agent gitIntegrationSettings. */
                        public gitIntegrationSettings?: (google.cloud.dialogflow.cx.v3beta1.Agent.IGitIntegrationSettings|null);

                        /** Agent bigqueryExportSettings. */
                        public bigqueryExportSettings?: (google.cloud.dialogflow.cx.v3beta1.IBigQueryExportSettings|null);

                        /** Agent textToSpeechSettings. */
                        public textToSpeechSettings?: (google.cloud.dialogflow.cx.v3beta1.ITextToSpeechSettings|null);

                        /** Agent genAppBuilderSettings. */
                        public genAppBuilderSettings?: (google.cloud.dialogflow.cx.v3beta1.Agent.IGenAppBuilderSettings|null);

                        /** Agent answerFeedbackSettings. */
                        public answerFeedbackSettings?: (google.cloud.dialogflow.cx.v3beta1.Agent.IAnswerFeedbackSettings|null);

                        /** Agent personalizationSettings. */
                        public personalizationSettings?: (google.cloud.dialogflow.cx.v3beta1.Agent.IPersonalizationSettings|null);

                        /** Agent clientCertificateSettings. */
                        public clientCertificateSettings?: (google.cloud.dialogflow.cx.v3beta1.Agent.IClientCertificateSettings|null);

                        /** Agent satisfiesPzs. */
                        public satisfiesPzs?: (boolean|null);

                        /** Agent satisfiesPzi. */
                        public satisfiesPzi?: (boolean|null);

                        /** Agent sessionEntryResource. */
                        public sessionEntryResource?: ("startFlow"|"startPlaybook");

                        /**
                         * Creates a new Agent instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Agent instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IAgent): google.cloud.dialogflow.cx.v3beta1.Agent;

                        /**
                         * Encodes the specified Agent message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.verify|verify} messages.
                         * @param message Agent message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IAgent, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Agent message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.verify|verify} messages.
                         * @param message Agent message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IAgent, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an Agent message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Agent
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Agent;

                        /**
                         * Decodes an Agent message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Agent
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Agent;

                        /**
                         * Verifies an Agent message.
                         * @param message Plain 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 Agent message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Agent
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Agent;

                        /**
                         * Creates a plain object from an Agent message. Also converts values to other types if specified.
                         * @param message Agent
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Agent, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Agent to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Agent
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Agent {

                        /** Properties of a GitIntegrationSettings. */
                        interface IGitIntegrationSettings {

                            /** GitIntegrationSettings githubSettings */
                            githubSettings?: (google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.IGithubSettings|null);

                            /** GitIntegrationSettings gitConnectionSettings */
                            gitConnectionSettings?: (google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.IGitConnectionSettings|null);
                        }

                        /** Represents a GitIntegrationSettings. */
                        class GitIntegrationSettings implements IGitIntegrationSettings {

                            /**
                             * Constructs a new GitIntegrationSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Agent.IGitIntegrationSettings);

                            /** GitIntegrationSettings githubSettings. */
                            public githubSettings?: (google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.IGithubSettings|null);

                            /** GitIntegrationSettings gitConnectionSettings. */
                            public gitConnectionSettings?: (google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.IGitConnectionSettings|null);

                            /** GitIntegrationSettings gitSettings. */
                            public gitSettings?: ("githubSettings"|"gitConnectionSettings");

                            /**
                             * Creates a new GitIntegrationSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns GitIntegrationSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Agent.IGitIntegrationSettings): google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings;

                            /**
                             * Encodes the specified GitIntegrationSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.verify|verify} messages.
                             * @param message GitIntegrationSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Agent.IGitIntegrationSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified GitIntegrationSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.verify|verify} messages.
                             * @param message GitIntegrationSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Agent.IGitIntegrationSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a GitIntegrationSettings message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns GitIntegrationSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings;

                            /**
                             * Decodes a GitIntegrationSettings message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns GitIntegrationSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings;

                            /**
                             * Verifies a GitIntegrationSettings message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a GitIntegrationSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns GitIntegrationSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings;

                            /**
                             * Creates a plain object from a GitIntegrationSettings message. Also converts values to other types if specified.
                             * @param message GitIntegrationSettings
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this GitIntegrationSettings to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for GitIntegrationSettings
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace GitIntegrationSettings {

                            /** Properties of a GithubSettings. */
                            interface IGithubSettings {

                                /** GithubSettings displayName */
                                displayName?: (string|null);

                                /** GithubSettings repositoryUri */
                                repositoryUri?: (string|null);

                                /** GithubSettings trackingBranch */
                                trackingBranch?: (string|null);

                                /** GithubSettings accessToken */
                                accessToken?: (string|null);

                                /** GithubSettings branches */
                                branches?: (string[]|null);
                            }

                            /** Represents a GithubSettings. */
                            class GithubSettings implements IGithubSettings {

                                /**
                                 * Constructs a new GithubSettings.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.IGithubSettings);

                                /** GithubSettings displayName. */
                                public displayName: string;

                                /** GithubSettings repositoryUri. */
                                public repositoryUri: string;

                                /** GithubSettings trackingBranch. */
                                public trackingBranch: string;

                                /** GithubSettings accessToken. */
                                public accessToken: string;

                                /** GithubSettings branches. */
                                public branches: string[];

                                /**
                                 * Creates a new GithubSettings instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns GithubSettings instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.IGithubSettings): google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.GithubSettings;

                                /**
                                 * Encodes the specified GithubSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.GithubSettings.verify|verify} messages.
                                 * @param message GithubSettings message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.IGithubSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified GithubSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.GithubSettings.verify|verify} messages.
                                 * @param message GithubSettings message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.IGithubSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a GithubSettings message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns GithubSettings
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.GithubSettings;

                                /**
                                 * Decodes a GithubSettings message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns GithubSettings
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.GithubSettings;

                                /**
                                 * Verifies a GithubSettings message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a GithubSettings message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns GithubSettings
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.GithubSettings;

                                /**
                                 * Creates a plain object from a GithubSettings message. Also converts values to other types if specified.
                                 * @param message GithubSettings
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.GithubSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this GithubSettings to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for GithubSettings
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            /** Properties of a GitConnectionSettings. */
                            interface IGitConnectionSettings {

                                /** GitConnectionSettings displayName */
                                displayName?: (string|null);

                                /** GitConnectionSettings repositoryUri */
                                repositoryUri?: (string|null);

                                /** GitConnectionSettings trackingBranch */
                                trackingBranch?: (string|null);

                                /** GitConnectionSettings branches */
                                branches?: (string[]|null);

                                /** GitConnectionSettings accessTokenSecret */
                                accessTokenSecret?: (string|null);
                            }

                            /** Represents a GitConnectionSettings. */
                            class GitConnectionSettings implements IGitConnectionSettings {

                                /**
                                 * Constructs a new GitConnectionSettings.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.IGitConnectionSettings);

                                /** GitConnectionSettings displayName. */
                                public displayName: string;

                                /** GitConnectionSettings repositoryUri. */
                                public repositoryUri: string;

                                /** GitConnectionSettings trackingBranch. */
                                public trackingBranch: string;

                                /** GitConnectionSettings branches. */
                                public branches: string[];

                                /** GitConnectionSettings accessTokenSecret. */
                                public accessTokenSecret?: (string|null);

                                /** GitConnectionSettings gitAuthentication. */
                                public gitAuthentication?: "accessTokenSecret";

                                /**
                                 * Creates a new GitConnectionSettings instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns GitConnectionSettings instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.IGitConnectionSettings): google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.GitConnectionSettings;

                                /**
                                 * Encodes the specified GitConnectionSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.GitConnectionSettings.verify|verify} messages.
                                 * @param message GitConnectionSettings message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.IGitConnectionSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified GitConnectionSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.GitConnectionSettings.verify|verify} messages.
                                 * @param message GitConnectionSettings message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.IGitConnectionSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a GitConnectionSettings message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns GitConnectionSettings
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.GitConnectionSettings;

                                /**
                                 * Decodes a GitConnectionSettings message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns GitConnectionSettings
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.GitConnectionSettings;

                                /**
                                 * Verifies a GitConnectionSettings message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a GitConnectionSettings message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns GitConnectionSettings
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.GitConnectionSettings;

                                /**
                                 * Creates a plain object from a GitConnectionSettings message. Also converts values to other types if specified.
                                 * @param message GitConnectionSettings
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Agent.GitIntegrationSettings.GitConnectionSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this GitConnectionSettings to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for GitConnectionSettings
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }

                        /** Properties of a GenAppBuilderSettings. */
                        interface IGenAppBuilderSettings {

                            /** GenAppBuilderSettings engine */
                            engine?: (string|null);
                        }

                        /** Represents a GenAppBuilderSettings. */
                        class GenAppBuilderSettings implements IGenAppBuilderSettings {

                            /**
                             * Constructs a new GenAppBuilderSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Agent.IGenAppBuilderSettings);

                            /** GenAppBuilderSettings engine. */
                            public engine: string;

                            /**
                             * Creates a new GenAppBuilderSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns GenAppBuilderSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Agent.IGenAppBuilderSettings): google.cloud.dialogflow.cx.v3beta1.Agent.GenAppBuilderSettings;

                            /**
                             * Encodes the specified GenAppBuilderSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.GenAppBuilderSettings.verify|verify} messages.
                             * @param message GenAppBuilderSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Agent.IGenAppBuilderSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified GenAppBuilderSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.GenAppBuilderSettings.verify|verify} messages.
                             * @param message GenAppBuilderSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Agent.IGenAppBuilderSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a GenAppBuilderSettings message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns GenAppBuilderSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Agent.GenAppBuilderSettings;

                            /**
                             * Decodes a GenAppBuilderSettings message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns GenAppBuilderSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Agent.GenAppBuilderSettings;

                            /**
                             * Verifies a GenAppBuilderSettings message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a GenAppBuilderSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns GenAppBuilderSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Agent.GenAppBuilderSettings;

                            /**
                             * Creates a plain object from a GenAppBuilderSettings message. Also converts values to other types if specified.
                             * @param message GenAppBuilderSettings
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Agent.GenAppBuilderSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this GenAppBuilderSettings to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for GenAppBuilderSettings
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of an AnswerFeedbackSettings. */
                        interface IAnswerFeedbackSettings {

                            /** AnswerFeedbackSettings enableAnswerFeedback */
                            enableAnswerFeedback?: (boolean|null);
                        }

                        /** Represents an AnswerFeedbackSettings. */
                        class AnswerFeedbackSettings implements IAnswerFeedbackSettings {

                            /**
                             * Constructs a new AnswerFeedbackSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Agent.IAnswerFeedbackSettings);

                            /** AnswerFeedbackSettings enableAnswerFeedback. */
                            public enableAnswerFeedback: boolean;

                            /**
                             * Creates a new AnswerFeedbackSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns AnswerFeedbackSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Agent.IAnswerFeedbackSettings): google.cloud.dialogflow.cx.v3beta1.Agent.AnswerFeedbackSettings;

                            /**
                             * Encodes the specified AnswerFeedbackSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.AnswerFeedbackSettings.verify|verify} messages.
                             * @param message AnswerFeedbackSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Agent.IAnswerFeedbackSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified AnswerFeedbackSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.AnswerFeedbackSettings.verify|verify} messages.
                             * @param message AnswerFeedbackSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Agent.IAnswerFeedbackSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an AnswerFeedbackSettings message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns AnswerFeedbackSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Agent.AnswerFeedbackSettings;

                            /**
                             * Decodes an AnswerFeedbackSettings message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns AnswerFeedbackSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Agent.AnswerFeedbackSettings;

                            /**
                             * Verifies an AnswerFeedbackSettings message.
                             * @param message Plain 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 AnswerFeedbackSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns AnswerFeedbackSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Agent.AnswerFeedbackSettings;

                            /**
                             * Creates a plain object from an AnswerFeedbackSettings message. Also converts values to other types if specified.
                             * @param message AnswerFeedbackSettings
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Agent.AnswerFeedbackSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this AnswerFeedbackSettings to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for AnswerFeedbackSettings
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a PersonalizationSettings. */
                        interface IPersonalizationSettings {

                            /** PersonalizationSettings defaultEndUserMetadata */
                            defaultEndUserMetadata?: (google.protobuf.IStruct|null);
                        }

                        /** Represents a PersonalizationSettings. */
                        class PersonalizationSettings implements IPersonalizationSettings {

                            /**
                             * Constructs a new PersonalizationSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Agent.IPersonalizationSettings);

                            /** PersonalizationSettings defaultEndUserMetadata. */
                            public defaultEndUserMetadata?: (google.protobuf.IStruct|null);

                            /**
                             * Creates a new PersonalizationSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns PersonalizationSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Agent.IPersonalizationSettings): google.cloud.dialogflow.cx.v3beta1.Agent.PersonalizationSettings;

                            /**
                             * Encodes the specified PersonalizationSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.PersonalizationSettings.verify|verify} messages.
                             * @param message PersonalizationSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Agent.IPersonalizationSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified PersonalizationSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.PersonalizationSettings.verify|verify} messages.
                             * @param message PersonalizationSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Agent.IPersonalizationSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a PersonalizationSettings message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns PersonalizationSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Agent.PersonalizationSettings;

                            /**
                             * Decodes a PersonalizationSettings message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns PersonalizationSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Agent.PersonalizationSettings;

                            /**
                             * Verifies a PersonalizationSettings message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a PersonalizationSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns PersonalizationSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Agent.PersonalizationSettings;

                            /**
                             * Creates a plain object from a PersonalizationSettings message. Also converts values to other types if specified.
                             * @param message PersonalizationSettings
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Agent.PersonalizationSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this PersonalizationSettings to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for PersonalizationSettings
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a ClientCertificateSettings. */
                        interface IClientCertificateSettings {

                            /** ClientCertificateSettings sslCertificate */
                            sslCertificate?: (string|null);

                            /** ClientCertificateSettings privateKey */
                            privateKey?: (string|null);

                            /** ClientCertificateSettings passphrase */
                            passphrase?: (string|null);
                        }

                        /** Represents a ClientCertificateSettings. */
                        class ClientCertificateSettings implements IClientCertificateSettings {

                            /**
                             * Constructs a new ClientCertificateSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Agent.IClientCertificateSettings);

                            /** ClientCertificateSettings sslCertificate. */
                            public sslCertificate: string;

                            /** ClientCertificateSettings privateKey. */
                            public privateKey: string;

                            /** ClientCertificateSettings passphrase. */
                            public passphrase: string;

                            /**
                             * Creates a new ClientCertificateSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ClientCertificateSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Agent.IClientCertificateSettings): google.cloud.dialogflow.cx.v3beta1.Agent.ClientCertificateSettings;

                            /**
                             * Encodes the specified ClientCertificateSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.ClientCertificateSettings.verify|verify} messages.
                             * @param message ClientCertificateSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Agent.IClientCertificateSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ClientCertificateSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Agent.ClientCertificateSettings.verify|verify} messages.
                             * @param message ClientCertificateSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Agent.IClientCertificateSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ClientCertificateSettings message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ClientCertificateSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Agent.ClientCertificateSettings;

                            /**
                             * Decodes a ClientCertificateSettings message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ClientCertificateSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Agent.ClientCertificateSettings;

                            /**
                             * Verifies a ClientCertificateSettings message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ClientCertificateSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ClientCertificateSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Agent.ClientCertificateSettings;

                            /**
                             * Creates a plain object from a ClientCertificateSettings message. Also converts values to other types if specified.
                             * @param message ClientCertificateSettings
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Agent.ClientCertificateSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ClientCertificateSettings to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ClientCertificateSettings
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a ListAgentsRequest. */
                    interface IListAgentsRequest {

                        /** ListAgentsRequest parent */
                        parent?: (string|null);

                        /** ListAgentsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListAgentsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListAgentsRequest. */
                    class ListAgentsRequest implements IListAgentsRequest {

                        /**
                         * Constructs a new ListAgentsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListAgentsRequest);

                        /** ListAgentsRequest parent. */
                        public parent: string;

                        /** ListAgentsRequest pageSize. */
                        public pageSize: number;

                        /** ListAgentsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListAgentsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListAgentsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListAgentsRequest): google.cloud.dialogflow.cx.v3beta1.ListAgentsRequest;

                        /**
                         * Encodes the specified ListAgentsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListAgentsRequest.verify|verify} messages.
                         * @param message ListAgentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListAgentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListAgentsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListAgentsRequest.verify|verify} messages.
                         * @param message ListAgentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListAgentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListAgentsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListAgentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListAgentsRequest;

                        /**
                         * Decodes a ListAgentsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListAgentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListAgentsRequest;

                        /**
                         * Verifies a ListAgentsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListAgentsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListAgentsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListAgentsRequest;

                        /**
                         * Creates a plain object from a ListAgentsRequest message. Also converts values to other types if specified.
                         * @param message ListAgentsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListAgentsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListAgentsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListAgentsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListAgentsResponse. */
                    interface IListAgentsResponse {

                        /** ListAgentsResponse agents */
                        agents?: (google.cloud.dialogflow.cx.v3beta1.IAgent[]|null);

                        /** ListAgentsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListAgentsResponse. */
                    class ListAgentsResponse implements IListAgentsResponse {

                        /**
                         * Constructs a new ListAgentsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListAgentsResponse);

                        /** ListAgentsResponse agents. */
                        public agents: google.cloud.dialogflow.cx.v3beta1.IAgent[];

                        /** ListAgentsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListAgentsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListAgentsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListAgentsResponse): google.cloud.dialogflow.cx.v3beta1.ListAgentsResponse;

                        /**
                         * Encodes the specified ListAgentsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListAgentsResponse.verify|verify} messages.
                         * @param message ListAgentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListAgentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListAgentsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListAgentsResponse.verify|verify} messages.
                         * @param message ListAgentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListAgentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListAgentsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListAgentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListAgentsResponse;

                        /**
                         * Decodes a ListAgentsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListAgentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListAgentsResponse;

                        /**
                         * Verifies a ListAgentsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListAgentsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListAgentsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListAgentsResponse;

                        /**
                         * Creates a plain object from a ListAgentsResponse message. Also converts values to other types if specified.
                         * @param message ListAgentsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListAgentsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListAgentsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListAgentsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetAgentRequest. */
                    interface IGetAgentRequest {

                        /** GetAgentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetAgentRequest. */
                    class GetAgentRequest implements IGetAgentRequest {

                        /**
                         * Constructs a new GetAgentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetAgentRequest);

                        /** GetAgentRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetAgentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetAgentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetAgentRequest): google.cloud.dialogflow.cx.v3beta1.GetAgentRequest;

                        /**
                         * Encodes the specified GetAgentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetAgentRequest.verify|verify} messages.
                         * @param message GetAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetAgentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetAgentRequest.verify|verify} messages.
                         * @param message GetAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetAgentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetAgentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetAgentRequest;

                        /**
                         * Decodes a GetAgentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetAgentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetAgentRequest;

                        /**
                         * Verifies a GetAgentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetAgentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetAgentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetAgentRequest;

                        /**
                         * Creates a plain object from a GetAgentRequest message. Also converts values to other types if specified.
                         * @param message GetAgentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetAgentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetAgentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetAgentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateAgentRequest. */
                    interface ICreateAgentRequest {

                        /** CreateAgentRequest parent */
                        parent?: (string|null);

                        /** CreateAgentRequest agent */
                        agent?: (google.cloud.dialogflow.cx.v3beta1.IAgent|null);
                    }

                    /** Represents a CreateAgentRequest. */
                    class CreateAgentRequest implements ICreateAgentRequest {

                        /**
                         * Constructs a new CreateAgentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateAgentRequest);

                        /** CreateAgentRequest parent. */
                        public parent: string;

                        /** CreateAgentRequest agent. */
                        public agent?: (google.cloud.dialogflow.cx.v3beta1.IAgent|null);

                        /**
                         * Creates a new CreateAgentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateAgentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateAgentRequest): google.cloud.dialogflow.cx.v3beta1.CreateAgentRequest;

                        /**
                         * Encodes the specified CreateAgentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateAgentRequest.verify|verify} messages.
                         * @param message CreateAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateAgentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateAgentRequest.verify|verify} messages.
                         * @param message CreateAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateAgentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateAgentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateAgentRequest;

                        /**
                         * Decodes a CreateAgentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateAgentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateAgentRequest;

                        /**
                         * Verifies a CreateAgentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateAgentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateAgentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateAgentRequest;

                        /**
                         * Creates a plain object from a CreateAgentRequest message. Also converts values to other types if specified.
                         * @param message CreateAgentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateAgentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateAgentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateAgentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateAgentRequest. */
                    interface IUpdateAgentRequest {

                        /** UpdateAgentRequest agent */
                        agent?: (google.cloud.dialogflow.cx.v3beta1.IAgent|null);

                        /** UpdateAgentRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateAgentRequest. */
                    class UpdateAgentRequest implements IUpdateAgentRequest {

                        /**
                         * Constructs a new UpdateAgentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateAgentRequest);

                        /** UpdateAgentRequest agent. */
                        public agent?: (google.cloud.dialogflow.cx.v3beta1.IAgent|null);

                        /** UpdateAgentRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateAgentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateAgentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateAgentRequest): google.cloud.dialogflow.cx.v3beta1.UpdateAgentRequest;

                        /**
                         * Encodes the specified UpdateAgentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateAgentRequest.verify|verify} messages.
                         * @param message UpdateAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateAgentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateAgentRequest.verify|verify} messages.
                         * @param message UpdateAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateAgentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateAgentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateAgentRequest;

                        /**
                         * Decodes an UpdateAgentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateAgentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateAgentRequest;

                        /**
                         * Verifies an UpdateAgentRequest message.
                         * @param message Plain 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 UpdateAgentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateAgentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateAgentRequest;

                        /**
                         * Creates a plain object from an UpdateAgentRequest message. Also converts values to other types if specified.
                         * @param message UpdateAgentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateAgentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateAgentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateAgentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteAgentRequest. */
                    interface IDeleteAgentRequest {

                        /** DeleteAgentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeleteAgentRequest. */
                    class DeleteAgentRequest implements IDeleteAgentRequest {

                        /**
                         * Constructs a new DeleteAgentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteAgentRequest);

                        /** DeleteAgentRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeleteAgentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteAgentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteAgentRequest): google.cloud.dialogflow.cx.v3beta1.DeleteAgentRequest;

                        /**
                         * Encodes the specified DeleteAgentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteAgentRequest.verify|verify} messages.
                         * @param message DeleteAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteAgentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteAgentRequest.verify|verify} messages.
                         * @param message DeleteAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteAgentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteAgentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteAgentRequest;

                        /**
                         * Decodes a DeleteAgentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteAgentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteAgentRequest;

                        /**
                         * Verifies a DeleteAgentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteAgentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteAgentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteAgentRequest;

                        /**
                         * Creates a plain object from a DeleteAgentRequest message. Also converts values to other types if specified.
                         * @param message DeleteAgentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteAgentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteAgentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteAgentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ExportAgentRequest. */
                    interface IExportAgentRequest {

                        /** ExportAgentRequest name */
                        name?: (string|null);

                        /** ExportAgentRequest agentUri */
                        agentUri?: (string|null);

                        /** ExportAgentRequest dataFormat */
                        dataFormat?: (google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.DataFormat|null);

                        /** ExportAgentRequest environment */
                        environment?: (string|null);

                        /** ExportAgentRequest gitDestination */
                        gitDestination?: (google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.IGitDestination|null);

                        /** ExportAgentRequest includeBigqueryExportSettings */
                        includeBigqueryExportSettings?: (boolean|null);
                    }

                    /** Represents an ExportAgentRequest. */
                    class ExportAgentRequest implements IExportAgentRequest {

                        /**
                         * Constructs a new ExportAgentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportAgentRequest);

                        /** ExportAgentRequest name. */
                        public name: string;

                        /** ExportAgentRequest agentUri. */
                        public agentUri: string;

                        /** ExportAgentRequest dataFormat. */
                        public dataFormat: (google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.DataFormat);

                        /** ExportAgentRequest environment. */
                        public environment: string;

                        /** ExportAgentRequest gitDestination. */
                        public gitDestination?: (google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.IGitDestination|null);

                        /** ExportAgentRequest includeBigqueryExportSettings. */
                        public includeBigqueryExportSettings: boolean;

                        /**
                         * Creates a new ExportAgentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportAgentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportAgentRequest): google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest;

                        /**
                         * Encodes the specified ExportAgentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.verify|verify} messages.
                         * @param message ExportAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportAgentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.verify|verify} messages.
                         * @param message ExportAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportAgentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportAgentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest;

                        /**
                         * Decodes an ExportAgentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportAgentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest;

                        /**
                         * Verifies an ExportAgentRequest message.
                         * @param message Plain 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 ExportAgentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportAgentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest;

                        /**
                         * Creates a plain object from an ExportAgentRequest message. Also converts values to other types if specified.
                         * @param message ExportAgentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportAgentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportAgentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ExportAgentRequest {

                        /** DataFormat enum. */
                        enum DataFormat {
                            DATA_FORMAT_UNSPECIFIED = 0,
                            BLOB = 1,
                            JSON_PACKAGE = 4
                        }

                        /** Properties of a GitDestination. */
                        interface IGitDestination {

                            /** GitDestination trackingBranch */
                            trackingBranch?: (string|null);

                            /** GitDestination commitMessage */
                            commitMessage?: (string|null);
                        }

                        /** Represents a GitDestination. */
                        class GitDestination implements IGitDestination {

                            /**
                             * Constructs a new GitDestination.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.IGitDestination);

                            /** GitDestination trackingBranch. */
                            public trackingBranch: string;

                            /** GitDestination commitMessage. */
                            public commitMessage: string;

                            /**
                             * Creates a new GitDestination instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns GitDestination instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.IGitDestination): google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.GitDestination;

                            /**
                             * Encodes the specified GitDestination message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.GitDestination.verify|verify} messages.
                             * @param message GitDestination message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.IGitDestination, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified GitDestination message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.GitDestination.verify|verify} messages.
                             * @param message GitDestination message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.IGitDestination, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a GitDestination message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns GitDestination
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.GitDestination;

                            /**
                             * Decodes a GitDestination message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns GitDestination
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.GitDestination;

                            /**
                             * Verifies a GitDestination message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a GitDestination message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns GitDestination
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.GitDestination;

                            /**
                             * Creates a plain object from a GitDestination message. Also converts values to other types if specified.
                             * @param message GitDestination
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportAgentRequest.GitDestination, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this GitDestination to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for GitDestination
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of an ExportAgentResponse. */
                    interface IExportAgentResponse {

                        /** ExportAgentResponse agentUri */
                        agentUri?: (string|null);

                        /** ExportAgentResponse agentContent */
                        agentContent?: (Uint8Array|Buffer|string|null);

                        /** ExportAgentResponse commitSha */
                        commitSha?: (string|null);
                    }

                    /** Represents an ExportAgentResponse. */
                    class ExportAgentResponse implements IExportAgentResponse {

                        /**
                         * Constructs a new ExportAgentResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportAgentResponse);

                        /** ExportAgentResponse agentUri. */
                        public agentUri?: (string|null);

                        /** ExportAgentResponse agentContent. */
                        public agentContent?: (Uint8Array|Buffer|string|null);

                        /** ExportAgentResponse commitSha. */
                        public commitSha?: (string|null);

                        /** ExportAgentResponse agent. */
                        public agent?: ("agentUri"|"agentContent"|"commitSha");

                        /**
                         * Creates a new ExportAgentResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportAgentResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportAgentResponse): google.cloud.dialogflow.cx.v3beta1.ExportAgentResponse;

                        /**
                         * Encodes the specified ExportAgentResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportAgentResponse.verify|verify} messages.
                         * @param message ExportAgentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportAgentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportAgentResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportAgentResponse.verify|verify} messages.
                         * @param message ExportAgentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportAgentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportAgentResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportAgentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportAgentResponse;

                        /**
                         * Decodes an ExportAgentResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportAgentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportAgentResponse;

                        /**
                         * Verifies an ExportAgentResponse message.
                         * @param message Plain 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 ExportAgentResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportAgentResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportAgentResponse;

                        /**
                         * Creates a plain object from an ExportAgentResponse message. Also converts values to other types if specified.
                         * @param message ExportAgentResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportAgentResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportAgentResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportAgentResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a RestoreAgentRequest. */
                    interface IRestoreAgentRequest {

                        /** RestoreAgentRequest name */
                        name?: (string|null);

                        /** RestoreAgentRequest agentUri */
                        agentUri?: (string|null);

                        /** RestoreAgentRequest agentContent */
                        agentContent?: (Uint8Array|Buffer|string|null);

                        /** RestoreAgentRequest gitSource */
                        gitSource?: (google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.IGitSource|null);

                        /** RestoreAgentRequest restoreOption */
                        restoreOption?: (google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.RestoreOption|keyof typeof google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.RestoreOption|null);
                    }

                    /** Represents a RestoreAgentRequest. */
                    class RestoreAgentRequest implements IRestoreAgentRequest {

                        /**
                         * Constructs a new RestoreAgentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IRestoreAgentRequest);

                        /** RestoreAgentRequest name. */
                        public name: string;

                        /** RestoreAgentRequest agentUri. */
                        public agentUri?: (string|null);

                        /** RestoreAgentRequest agentContent. */
                        public agentContent?: (Uint8Array|Buffer|string|null);

                        /** RestoreAgentRequest gitSource. */
                        public gitSource?: (google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.IGitSource|null);

                        /** RestoreAgentRequest restoreOption. */
                        public restoreOption: (google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.RestoreOption|keyof typeof google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.RestoreOption);

                        /** RestoreAgentRequest agent. */
                        public agent?: ("agentUri"|"agentContent"|"gitSource");

                        /**
                         * Creates a new RestoreAgentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RestoreAgentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IRestoreAgentRequest): google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest;

                        /**
                         * Encodes the specified RestoreAgentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.verify|verify} messages.
                         * @param message RestoreAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IRestoreAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RestoreAgentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.verify|verify} messages.
                         * @param message RestoreAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IRestoreAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RestoreAgentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RestoreAgentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest;

                        /**
                         * Decodes a RestoreAgentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RestoreAgentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest;

                        /**
                         * Verifies a RestoreAgentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RestoreAgentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RestoreAgentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest;

                        /**
                         * Creates a plain object from a RestoreAgentRequest message. Also converts values to other types if specified.
                         * @param message RestoreAgentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RestoreAgentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RestoreAgentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace RestoreAgentRequest {

                        /** Properties of a GitSource. */
                        interface IGitSource {

                            /** GitSource trackingBranch */
                            trackingBranch?: (string|null);
                        }

                        /** Represents a GitSource. */
                        class GitSource implements IGitSource {

                            /**
                             * Constructs a new GitSource.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.IGitSource);

                            /** GitSource trackingBranch. */
                            public trackingBranch: string;

                            /**
                             * Creates a new GitSource instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns GitSource instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.IGitSource): google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.GitSource;

                            /**
                             * Encodes the specified GitSource message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.GitSource.verify|verify} messages.
                             * @param message GitSource message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.IGitSource, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified GitSource message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.GitSource.verify|verify} messages.
                             * @param message GitSource message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.IGitSource, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a GitSource message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns GitSource
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.GitSource;

                            /**
                             * Decodes a GitSource message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns GitSource
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.GitSource;

                            /**
                             * Verifies a GitSource message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a GitSource message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns GitSource
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.GitSource;

                            /**
                             * Creates a plain object from a GitSource message. Also converts values to other types if specified.
                             * @param message GitSource
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.RestoreAgentRequest.GitSource, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this GitSource to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for GitSource
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** RestoreOption enum. */
                        enum RestoreOption {
                            RESTORE_OPTION_UNSPECIFIED = 0,
                            KEEP = 1,
                            FALLBACK = 2
                        }
                    }

                    /** Properties of a ValidateAgentRequest. */
                    interface IValidateAgentRequest {

                        /** ValidateAgentRequest name */
                        name?: (string|null);

                        /** ValidateAgentRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a ValidateAgentRequest. */
                    class ValidateAgentRequest implements IValidateAgentRequest {

                        /**
                         * Constructs a new ValidateAgentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IValidateAgentRequest);

                        /** ValidateAgentRequest name. */
                        public name: string;

                        /** ValidateAgentRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new ValidateAgentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ValidateAgentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IValidateAgentRequest): google.cloud.dialogflow.cx.v3beta1.ValidateAgentRequest;

                        /**
                         * Encodes the specified ValidateAgentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ValidateAgentRequest.verify|verify} messages.
                         * @param message ValidateAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IValidateAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ValidateAgentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ValidateAgentRequest.verify|verify} messages.
                         * @param message ValidateAgentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IValidateAgentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ValidateAgentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ValidateAgentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ValidateAgentRequest;

                        /**
                         * Decodes a ValidateAgentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ValidateAgentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ValidateAgentRequest;

                        /**
                         * Verifies a ValidateAgentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ValidateAgentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ValidateAgentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ValidateAgentRequest;

                        /**
                         * Creates a plain object from a ValidateAgentRequest message. Also converts values to other types if specified.
                         * @param message ValidateAgentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ValidateAgentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ValidateAgentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ValidateAgentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetAgentValidationResultRequest. */
                    interface IGetAgentValidationResultRequest {

                        /** GetAgentValidationResultRequest name */
                        name?: (string|null);

                        /** GetAgentValidationResultRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetAgentValidationResultRequest. */
                    class GetAgentValidationResultRequest implements IGetAgentValidationResultRequest {

                        /**
                         * Constructs a new GetAgentValidationResultRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetAgentValidationResultRequest);

                        /** GetAgentValidationResultRequest name. */
                        public name: string;

                        /** GetAgentValidationResultRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetAgentValidationResultRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetAgentValidationResultRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetAgentValidationResultRequest): google.cloud.dialogflow.cx.v3beta1.GetAgentValidationResultRequest;

                        /**
                         * Encodes the specified GetAgentValidationResultRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetAgentValidationResultRequest.verify|verify} messages.
                         * @param message GetAgentValidationResultRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetAgentValidationResultRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetAgentValidationResultRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetAgentValidationResultRequest.verify|verify} messages.
                         * @param message GetAgentValidationResultRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetAgentValidationResultRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetAgentValidationResultRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetAgentValidationResultRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetAgentValidationResultRequest;

                        /**
                         * Decodes a GetAgentValidationResultRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetAgentValidationResultRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetAgentValidationResultRequest;

                        /**
                         * Verifies a GetAgentValidationResultRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetAgentValidationResultRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetAgentValidationResultRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetAgentValidationResultRequest;

                        /**
                         * Creates a plain object from a GetAgentValidationResultRequest message. Also converts values to other types if specified.
                         * @param message GetAgentValidationResultRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetAgentValidationResultRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetAgentValidationResultRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetAgentValidationResultRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an AgentValidationResult. */
                    interface IAgentValidationResult {

                        /** AgentValidationResult name */
                        name?: (string|null);

                        /** AgentValidationResult flowValidationResults */
                        flowValidationResults?: (google.cloud.dialogflow.cx.v3beta1.IFlowValidationResult[]|null);
                    }

                    /** Represents an AgentValidationResult. */
                    class AgentValidationResult implements IAgentValidationResult {

                        /**
                         * Constructs a new AgentValidationResult.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IAgentValidationResult);

                        /** AgentValidationResult name. */
                        public name: string;

                        /** AgentValidationResult flowValidationResults. */
                        public flowValidationResults: google.cloud.dialogflow.cx.v3beta1.IFlowValidationResult[];

                        /**
                         * Creates a new AgentValidationResult instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns AgentValidationResult instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IAgentValidationResult): google.cloud.dialogflow.cx.v3beta1.AgentValidationResult;

                        /**
                         * Encodes the specified AgentValidationResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AgentValidationResult.verify|verify} messages.
                         * @param message AgentValidationResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IAgentValidationResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified AgentValidationResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AgentValidationResult.verify|verify} messages.
                         * @param message AgentValidationResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IAgentValidationResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an AgentValidationResult message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns AgentValidationResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.AgentValidationResult;

                        /**
                         * Decodes an AgentValidationResult message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns AgentValidationResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.AgentValidationResult;

                        /**
                         * Verifies an AgentValidationResult message.
                         * @param message Plain 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 AgentValidationResult message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns AgentValidationResult
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.AgentValidationResult;

                        /**
                         * Creates a plain object from an AgentValidationResult message. Also converts values to other types if specified.
                         * @param message AgentValidationResult
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.AgentValidationResult, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this AgentValidationResult to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for AgentValidationResult
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetGenerativeSettingsRequest. */
                    interface IGetGenerativeSettingsRequest {

                        /** GetGenerativeSettingsRequest name */
                        name?: (string|null);

                        /** GetGenerativeSettingsRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetGenerativeSettingsRequest. */
                    class GetGenerativeSettingsRequest implements IGetGenerativeSettingsRequest {

                        /**
                         * Constructs a new GetGenerativeSettingsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetGenerativeSettingsRequest);

                        /** GetGenerativeSettingsRequest name. */
                        public name: string;

                        /** GetGenerativeSettingsRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetGenerativeSettingsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetGenerativeSettingsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetGenerativeSettingsRequest): google.cloud.dialogflow.cx.v3beta1.GetGenerativeSettingsRequest;

                        /**
                         * Encodes the specified GetGenerativeSettingsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetGenerativeSettingsRequest.verify|verify} messages.
                         * @param message GetGenerativeSettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetGenerativeSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetGenerativeSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetGenerativeSettingsRequest.verify|verify} messages.
                         * @param message GetGenerativeSettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetGenerativeSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetGenerativeSettingsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetGenerativeSettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetGenerativeSettingsRequest;

                        /**
                         * Decodes a GetGenerativeSettingsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetGenerativeSettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetGenerativeSettingsRequest;

                        /**
                         * Verifies a GetGenerativeSettingsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetGenerativeSettingsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetGenerativeSettingsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetGenerativeSettingsRequest;

                        /**
                         * Creates a plain object from a GetGenerativeSettingsRequest message. Also converts values to other types if specified.
                         * @param message GetGenerativeSettingsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetGenerativeSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetGenerativeSettingsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetGenerativeSettingsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateGenerativeSettingsRequest. */
                    interface IUpdateGenerativeSettingsRequest {

                        /** UpdateGenerativeSettingsRequest generativeSettings */
                        generativeSettings?: (google.cloud.dialogflow.cx.v3beta1.IGenerativeSettings|null);

                        /** UpdateGenerativeSettingsRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateGenerativeSettingsRequest. */
                    class UpdateGenerativeSettingsRequest implements IUpdateGenerativeSettingsRequest {

                        /**
                         * Constructs a new UpdateGenerativeSettingsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateGenerativeSettingsRequest);

                        /** UpdateGenerativeSettingsRequest generativeSettings. */
                        public generativeSettings?: (google.cloud.dialogflow.cx.v3beta1.IGenerativeSettings|null);

                        /** UpdateGenerativeSettingsRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateGenerativeSettingsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateGenerativeSettingsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateGenerativeSettingsRequest): google.cloud.dialogflow.cx.v3beta1.UpdateGenerativeSettingsRequest;

                        /**
                         * Encodes the specified UpdateGenerativeSettingsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateGenerativeSettingsRequest.verify|verify} messages.
                         * @param message UpdateGenerativeSettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateGenerativeSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateGenerativeSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateGenerativeSettingsRequest.verify|verify} messages.
                         * @param message UpdateGenerativeSettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateGenerativeSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateGenerativeSettingsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateGenerativeSettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateGenerativeSettingsRequest;

                        /**
                         * Decodes an UpdateGenerativeSettingsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateGenerativeSettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateGenerativeSettingsRequest;

                        /**
                         * Verifies an UpdateGenerativeSettingsRequest message.
                         * @param message Plain 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 UpdateGenerativeSettingsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateGenerativeSettingsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateGenerativeSettingsRequest;

                        /**
                         * Creates a plain object from an UpdateGenerativeSettingsRequest message. Also converts values to other types if specified.
                         * @param message UpdateGenerativeSettingsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateGenerativeSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateGenerativeSettingsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateGenerativeSettingsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** AudioEncoding enum. */
                    enum AudioEncoding {
                        AUDIO_ENCODING_UNSPECIFIED = 0,
                        AUDIO_ENCODING_LINEAR_16 = 1,
                        AUDIO_ENCODING_FLAC = 2,
                        AUDIO_ENCODING_MULAW = 3,
                        AUDIO_ENCODING_AMR = 4,
                        AUDIO_ENCODING_AMR_WB = 5,
                        AUDIO_ENCODING_OGG_OPUS = 6,
                        AUDIO_ENCODING_SPEEX_WITH_HEADER_BYTE = 7,
                        AUDIO_ENCODING_ALAW = 8
                    }

                    /** SpeechModelVariant enum. */
                    enum SpeechModelVariant {
                        SPEECH_MODEL_VARIANT_UNSPECIFIED = 0,
                        USE_BEST_AVAILABLE = 1,
                        USE_STANDARD = 2,
                        USE_ENHANCED = 3
                    }

                    /** Properties of a SpeechWordInfo. */
                    interface ISpeechWordInfo {

                        /** SpeechWordInfo word */
                        word?: (string|null);

                        /** SpeechWordInfo startOffset */
                        startOffset?: (google.protobuf.IDuration|null);

                        /** SpeechWordInfo endOffset */
                        endOffset?: (google.protobuf.IDuration|null);

                        /** SpeechWordInfo confidence */
                        confidence?: (number|null);
                    }

                    /** Represents a SpeechWordInfo. */
                    class SpeechWordInfo implements ISpeechWordInfo {

                        /**
                         * Constructs a new SpeechWordInfo.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ISpeechWordInfo);

                        /** SpeechWordInfo word. */
                        public word: string;

                        /** SpeechWordInfo startOffset. */
                        public startOffset?: (google.protobuf.IDuration|null);

                        /** SpeechWordInfo endOffset. */
                        public endOffset?: (google.protobuf.IDuration|null);

                        /** SpeechWordInfo confidence. */
                        public confidence: number;

                        /**
                         * Creates a new SpeechWordInfo instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SpeechWordInfo instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ISpeechWordInfo): google.cloud.dialogflow.cx.v3beta1.SpeechWordInfo;

                        /**
                         * Encodes the specified SpeechWordInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SpeechWordInfo.verify|verify} messages.
                         * @param message SpeechWordInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ISpeechWordInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SpeechWordInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SpeechWordInfo.verify|verify} messages.
                         * @param message SpeechWordInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ISpeechWordInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SpeechWordInfo message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SpeechWordInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.SpeechWordInfo;

                        /**
                         * Decodes a SpeechWordInfo message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SpeechWordInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.SpeechWordInfo;

                        /**
                         * Verifies a SpeechWordInfo message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SpeechWordInfo message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SpeechWordInfo
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.SpeechWordInfo;

                        /**
                         * Creates a plain object from a SpeechWordInfo message. Also converts values to other types if specified.
                         * @param message SpeechWordInfo
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.SpeechWordInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SpeechWordInfo to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SpeechWordInfo
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a BargeInConfig. */
                    interface IBargeInConfig {

                        /** BargeInConfig noBargeInDuration */
                        noBargeInDuration?: (google.protobuf.IDuration|null);

                        /** BargeInConfig totalDuration */
                        totalDuration?: (google.protobuf.IDuration|null);
                    }

                    /** Represents a BargeInConfig. */
                    class BargeInConfig implements IBargeInConfig {

                        /**
                         * Constructs a new BargeInConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IBargeInConfig);

                        /** BargeInConfig noBargeInDuration. */
                        public noBargeInDuration?: (google.protobuf.IDuration|null);

                        /** BargeInConfig totalDuration. */
                        public totalDuration?: (google.protobuf.IDuration|null);

                        /**
                         * Creates a new BargeInConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BargeInConfig instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IBargeInConfig): google.cloud.dialogflow.cx.v3beta1.BargeInConfig;

                        /**
                         * Encodes the specified BargeInConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BargeInConfig.verify|verify} messages.
                         * @param message BargeInConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IBargeInConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BargeInConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BargeInConfig.verify|verify} messages.
                         * @param message BargeInConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IBargeInConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a BargeInConfig message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns BargeInConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.BargeInConfig;

                        /**
                         * Decodes a BargeInConfig message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns BargeInConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.BargeInConfig;

                        /**
                         * Verifies a BargeInConfig message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a BargeInConfig message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns BargeInConfig
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.BargeInConfig;

                        /**
                         * Creates a plain object from a BargeInConfig message. Also converts values to other types if specified.
                         * @param message BargeInConfig
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.BargeInConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this BargeInConfig to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for BargeInConfig
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an InputAudioConfig. */
                    interface IInputAudioConfig {

                        /** InputAudioConfig audioEncoding */
                        audioEncoding?: (google.cloud.dialogflow.cx.v3beta1.AudioEncoding|keyof typeof google.cloud.dialogflow.cx.v3beta1.AudioEncoding|null);

                        /** InputAudioConfig sampleRateHertz */
                        sampleRateHertz?: (number|null);

                        /** InputAudioConfig enableWordInfo */
                        enableWordInfo?: (boolean|null);

                        /** InputAudioConfig phraseHints */
                        phraseHints?: (string[]|null);

                        /** InputAudioConfig model */
                        model?: (string|null);

                        /** InputAudioConfig modelVariant */
                        modelVariant?: (google.cloud.dialogflow.cx.v3beta1.SpeechModelVariant|keyof typeof google.cloud.dialogflow.cx.v3beta1.SpeechModelVariant|null);

                        /** InputAudioConfig singleUtterance */
                        singleUtterance?: (boolean|null);

                        /** InputAudioConfig bargeInConfig */
                        bargeInConfig?: (google.cloud.dialogflow.cx.v3beta1.IBargeInConfig|null);

                        /** InputAudioConfig optOutConformerModelMigration */
                        optOutConformerModelMigration?: (boolean|null);
                    }

                    /** Represents an InputAudioConfig. */
                    class InputAudioConfig implements IInputAudioConfig {

                        /**
                         * Constructs a new InputAudioConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IInputAudioConfig);

                        /** InputAudioConfig audioEncoding. */
                        public audioEncoding: (google.cloud.dialogflow.cx.v3beta1.AudioEncoding|keyof typeof google.cloud.dialogflow.cx.v3beta1.AudioEncoding);

                        /** InputAudioConfig sampleRateHertz. */
                        public sampleRateHertz: number;

                        /** InputAudioConfig enableWordInfo. */
                        public enableWordInfo: boolean;

                        /** InputAudioConfig phraseHints. */
                        public phraseHints: string[];

                        /** InputAudioConfig model. */
                        public model: string;

                        /** InputAudioConfig modelVariant. */
                        public modelVariant: (google.cloud.dialogflow.cx.v3beta1.SpeechModelVariant|keyof typeof google.cloud.dialogflow.cx.v3beta1.SpeechModelVariant);

                        /** InputAudioConfig singleUtterance. */
                        public singleUtterance: boolean;

                        /** InputAudioConfig bargeInConfig. */
                        public bargeInConfig?: (google.cloud.dialogflow.cx.v3beta1.IBargeInConfig|null);

                        /** InputAudioConfig optOutConformerModelMigration. */
                        public optOutConformerModelMigration: boolean;

                        /**
                         * Creates a new InputAudioConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns InputAudioConfig instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IInputAudioConfig): google.cloud.dialogflow.cx.v3beta1.InputAudioConfig;

                        /**
                         * Encodes the specified InputAudioConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.InputAudioConfig.verify|verify} messages.
                         * @param message InputAudioConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IInputAudioConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified InputAudioConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.InputAudioConfig.verify|verify} messages.
                         * @param message InputAudioConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IInputAudioConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an InputAudioConfig message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns InputAudioConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.InputAudioConfig;

                        /**
                         * Decodes an InputAudioConfig message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns InputAudioConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.InputAudioConfig;

                        /**
                         * Verifies an InputAudioConfig message.
                         * @param message Plain 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 InputAudioConfig message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns InputAudioConfig
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.InputAudioConfig;

                        /**
                         * Creates a plain object from an InputAudioConfig message. Also converts values to other types if specified.
                         * @param message InputAudioConfig
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.InputAudioConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this InputAudioConfig to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for InputAudioConfig
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** SsmlVoiceGender enum. */
                    enum SsmlVoiceGender {
                        SSML_VOICE_GENDER_UNSPECIFIED = 0,
                        SSML_VOICE_GENDER_MALE = 1,
                        SSML_VOICE_GENDER_FEMALE = 2,
                        SSML_VOICE_GENDER_NEUTRAL = 3
                    }

                    /** Properties of a VoiceSelectionParams. */
                    interface IVoiceSelectionParams {

                        /** VoiceSelectionParams name */
                        name?: (string|null);

                        /** VoiceSelectionParams ssmlGender */
                        ssmlGender?: (google.cloud.dialogflow.cx.v3beta1.SsmlVoiceGender|keyof typeof google.cloud.dialogflow.cx.v3beta1.SsmlVoiceGender|null);
                    }

                    /** Represents a VoiceSelectionParams. */
                    class VoiceSelectionParams implements IVoiceSelectionParams {

                        /**
                         * Constructs a new VoiceSelectionParams.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IVoiceSelectionParams);

                        /** VoiceSelectionParams name. */
                        public name: string;

                        /** VoiceSelectionParams ssmlGender. */
                        public ssmlGender: (google.cloud.dialogflow.cx.v3beta1.SsmlVoiceGender|keyof typeof google.cloud.dialogflow.cx.v3beta1.SsmlVoiceGender);

                        /**
                         * Creates a new VoiceSelectionParams instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns VoiceSelectionParams instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IVoiceSelectionParams): google.cloud.dialogflow.cx.v3beta1.VoiceSelectionParams;

                        /**
                         * Encodes the specified VoiceSelectionParams message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.VoiceSelectionParams.verify|verify} messages.
                         * @param message VoiceSelectionParams message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IVoiceSelectionParams, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified VoiceSelectionParams message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.VoiceSelectionParams.verify|verify} messages.
                         * @param message VoiceSelectionParams message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IVoiceSelectionParams, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a VoiceSelectionParams message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns VoiceSelectionParams
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.VoiceSelectionParams;

                        /**
                         * Decodes a VoiceSelectionParams message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns VoiceSelectionParams
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.VoiceSelectionParams;

                        /**
                         * Verifies a VoiceSelectionParams message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a VoiceSelectionParams message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns VoiceSelectionParams
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.VoiceSelectionParams;

                        /**
                         * Creates a plain object from a VoiceSelectionParams message. Also converts values to other types if specified.
                         * @param message VoiceSelectionParams
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.VoiceSelectionParams, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this VoiceSelectionParams to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for VoiceSelectionParams
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a SynthesizeSpeechConfig. */
                    interface ISynthesizeSpeechConfig {

                        /** SynthesizeSpeechConfig speakingRate */
                        speakingRate?: (number|null);

                        /** SynthesizeSpeechConfig pitch */
                        pitch?: (number|null);

                        /** SynthesizeSpeechConfig volumeGainDb */
                        volumeGainDb?: (number|null);

                        /** SynthesizeSpeechConfig effectsProfileId */
                        effectsProfileId?: (string[]|null);

                        /** SynthesizeSpeechConfig voice */
                        voice?: (google.cloud.dialogflow.cx.v3beta1.IVoiceSelectionParams|null);
                    }

                    /** Represents a SynthesizeSpeechConfig. */
                    class SynthesizeSpeechConfig implements ISynthesizeSpeechConfig {

                        /**
                         * Constructs a new SynthesizeSpeechConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ISynthesizeSpeechConfig);

                        /** SynthesizeSpeechConfig speakingRate. */
                        public speakingRate: number;

                        /** SynthesizeSpeechConfig pitch. */
                        public pitch: number;

                        /** SynthesizeSpeechConfig volumeGainDb. */
                        public volumeGainDb: number;

                        /** SynthesizeSpeechConfig effectsProfileId. */
                        public effectsProfileId: string[];

                        /** SynthesizeSpeechConfig voice. */
                        public voice?: (google.cloud.dialogflow.cx.v3beta1.IVoiceSelectionParams|null);

                        /**
                         * Creates a new SynthesizeSpeechConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SynthesizeSpeechConfig instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ISynthesizeSpeechConfig): google.cloud.dialogflow.cx.v3beta1.SynthesizeSpeechConfig;

                        /**
                         * Encodes the specified SynthesizeSpeechConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SynthesizeSpeechConfig.verify|verify} messages.
                         * @param message SynthesizeSpeechConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ISynthesizeSpeechConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SynthesizeSpeechConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SynthesizeSpeechConfig.verify|verify} messages.
                         * @param message SynthesizeSpeechConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ISynthesizeSpeechConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SynthesizeSpeechConfig message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SynthesizeSpeechConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.SynthesizeSpeechConfig;

                        /**
                         * Decodes a SynthesizeSpeechConfig message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SynthesizeSpeechConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.SynthesizeSpeechConfig;

                        /**
                         * Verifies a SynthesizeSpeechConfig message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SynthesizeSpeechConfig message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SynthesizeSpeechConfig
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.SynthesizeSpeechConfig;

                        /**
                         * Creates a plain object from a SynthesizeSpeechConfig message. Also converts values to other types if specified.
                         * @param message SynthesizeSpeechConfig
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.SynthesizeSpeechConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SynthesizeSpeechConfig to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SynthesizeSpeechConfig
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** OutputAudioEncoding enum. */
                    enum OutputAudioEncoding {
                        OUTPUT_AUDIO_ENCODING_UNSPECIFIED = 0,
                        OUTPUT_AUDIO_ENCODING_LINEAR_16 = 1,
                        OUTPUT_AUDIO_ENCODING_MP3 = 2,
                        OUTPUT_AUDIO_ENCODING_MP3_64_KBPS = 4,
                        OUTPUT_AUDIO_ENCODING_OGG_OPUS = 3,
                        OUTPUT_AUDIO_ENCODING_MULAW = 5,
                        OUTPUT_AUDIO_ENCODING_ALAW = 6
                    }

                    /** Properties of an OutputAudioConfig. */
                    interface IOutputAudioConfig {

                        /** OutputAudioConfig audioEncoding */
                        audioEncoding?: (google.cloud.dialogflow.cx.v3beta1.OutputAudioEncoding|keyof typeof google.cloud.dialogflow.cx.v3beta1.OutputAudioEncoding|null);

                        /** OutputAudioConfig sampleRateHertz */
                        sampleRateHertz?: (number|null);

                        /** OutputAudioConfig synthesizeSpeechConfig */
                        synthesizeSpeechConfig?: (google.cloud.dialogflow.cx.v3beta1.ISynthesizeSpeechConfig|null);
                    }

                    /** Represents an OutputAudioConfig. */
                    class OutputAudioConfig implements IOutputAudioConfig {

                        /**
                         * Constructs a new OutputAudioConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IOutputAudioConfig);

                        /** OutputAudioConfig audioEncoding. */
                        public audioEncoding: (google.cloud.dialogflow.cx.v3beta1.OutputAudioEncoding|keyof typeof google.cloud.dialogflow.cx.v3beta1.OutputAudioEncoding);

                        /** OutputAudioConfig sampleRateHertz. */
                        public sampleRateHertz: number;

                        /** OutputAudioConfig synthesizeSpeechConfig. */
                        public synthesizeSpeechConfig?: (google.cloud.dialogflow.cx.v3beta1.ISynthesizeSpeechConfig|null);

                        /**
                         * Creates a new OutputAudioConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns OutputAudioConfig instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IOutputAudioConfig): google.cloud.dialogflow.cx.v3beta1.OutputAudioConfig;

                        /**
                         * Encodes the specified OutputAudioConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.OutputAudioConfig.verify|verify} messages.
                         * @param message OutputAudioConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IOutputAudioConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified OutputAudioConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.OutputAudioConfig.verify|verify} messages.
                         * @param message OutputAudioConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IOutputAudioConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an OutputAudioConfig message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns OutputAudioConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.OutputAudioConfig;

                        /**
                         * Decodes an OutputAudioConfig message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns OutputAudioConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.OutputAudioConfig;

                        /**
                         * Verifies an OutputAudioConfig message.
                         * @param message Plain 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 OutputAudioConfig message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns OutputAudioConfig
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.OutputAudioConfig;

                        /**
                         * Creates a plain object from an OutputAudioConfig message. Also converts values to other types if specified.
                         * @param message OutputAudioConfig
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.OutputAudioConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this OutputAudioConfig to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for OutputAudioConfig
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a TextToSpeechSettings. */
                    interface ITextToSpeechSettings {

                        /** TextToSpeechSettings synthesizeSpeechConfigs */
                        synthesizeSpeechConfigs?: ({ [k: string]: google.cloud.dialogflow.cx.v3beta1.ISynthesizeSpeechConfig }|null);
                    }

                    /** Represents a TextToSpeechSettings. */
                    class TextToSpeechSettings implements ITextToSpeechSettings {

                        /**
                         * Constructs a new TextToSpeechSettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ITextToSpeechSettings);

                        /** TextToSpeechSettings synthesizeSpeechConfigs. */
                        public synthesizeSpeechConfigs: { [k: string]: google.cloud.dialogflow.cx.v3beta1.ISynthesizeSpeechConfig };

                        /**
                         * Creates a new TextToSpeechSettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TextToSpeechSettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ITextToSpeechSettings): google.cloud.dialogflow.cx.v3beta1.TextToSpeechSettings;

                        /**
                         * Encodes the specified TextToSpeechSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TextToSpeechSettings.verify|verify} messages.
                         * @param message TextToSpeechSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ITextToSpeechSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TextToSpeechSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TextToSpeechSettings.verify|verify} messages.
                         * @param message TextToSpeechSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ITextToSpeechSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TextToSpeechSettings message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TextToSpeechSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TextToSpeechSettings;

                        /**
                         * Decodes a TextToSpeechSettings message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TextToSpeechSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TextToSpeechSettings;

                        /**
                         * Verifies a TextToSpeechSettings message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TextToSpeechSettings message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TextToSpeechSettings
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TextToSpeechSettings;

                        /**
                         * Creates a plain object from a TextToSpeechSettings message. Also converts values to other types if specified.
                         * @param message TextToSpeechSettings
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TextToSpeechSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TextToSpeechSettings to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TextToSpeechSettings
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a BigQueryExportSettings. */
                    interface IBigQueryExportSettings {

                        /** BigQueryExportSettings enabled */
                        enabled?: (boolean|null);

                        /** BigQueryExportSettings bigqueryTable */
                        bigqueryTable?: (string|null);
                    }

                    /** Represents a BigQueryExportSettings. */
                    class BigQueryExportSettings implements IBigQueryExportSettings {

                        /**
                         * Constructs a new BigQueryExportSettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IBigQueryExportSettings);

                        /** BigQueryExportSettings enabled. */
                        public enabled: boolean;

                        /** BigQueryExportSettings bigqueryTable. */
                        public bigqueryTable: string;

                        /**
                         * Creates a new BigQueryExportSettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BigQueryExportSettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IBigQueryExportSettings): google.cloud.dialogflow.cx.v3beta1.BigQueryExportSettings;

                        /**
                         * Encodes the specified BigQueryExportSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BigQueryExportSettings.verify|verify} messages.
                         * @param message BigQueryExportSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IBigQueryExportSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BigQueryExportSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BigQueryExportSettings.verify|verify} messages.
                         * @param message BigQueryExportSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IBigQueryExportSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a BigQueryExportSettings message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns BigQueryExportSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.BigQueryExportSettings;

                        /**
                         * Decodes a BigQueryExportSettings message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns BigQueryExportSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.BigQueryExportSettings;

                        /**
                         * Verifies a BigQueryExportSettings message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a BigQueryExportSettings message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns BigQueryExportSettings
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.BigQueryExportSettings;

                        /**
                         * Creates a plain object from a BigQueryExportSettings message. Also converts values to other types if specified.
                         * @param message BigQueryExportSettings
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.BigQueryExportSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this BigQueryExportSettings to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for BigQueryExportSettings
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a Flows */
                    class Flows extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Flows 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 Flows 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): Flows;

                        /**
                         * Calls CreateFlow.
                         * @param request CreateFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Flow
                         */
                        public createFlow(request: google.cloud.dialogflow.cx.v3beta1.ICreateFlowRequest, callback: google.cloud.dialogflow.cx.v3beta1.Flows.CreateFlowCallback): void;

                        /**
                         * Calls CreateFlow.
                         * @param request CreateFlowRequest message or plain object
                         * @returns Promise
                         */
                        public createFlow(request: google.cloud.dialogflow.cx.v3beta1.ICreateFlowRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Flow>;

                        /**
                         * Calls DeleteFlow.
                         * @param request DeleteFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteFlow(request: google.cloud.dialogflow.cx.v3beta1.IDeleteFlowRequest, callback: google.cloud.dialogflow.cx.v3beta1.Flows.DeleteFlowCallback): void;

                        /**
                         * Calls DeleteFlow.
                         * @param request DeleteFlowRequest message or plain object
                         * @returns Promise
                         */
                        public deleteFlow(request: google.cloud.dialogflow.cx.v3beta1.IDeleteFlowRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls ListFlows.
                         * @param request ListFlowsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListFlowsResponse
                         */
                        public listFlows(request: google.cloud.dialogflow.cx.v3beta1.IListFlowsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Flows.ListFlowsCallback): void;

                        /**
                         * Calls ListFlows.
                         * @param request ListFlowsRequest message or plain object
                         * @returns Promise
                         */
                        public listFlows(request: google.cloud.dialogflow.cx.v3beta1.IListFlowsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListFlowsResponse>;

                        /**
                         * Calls GetFlow.
                         * @param request GetFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Flow
                         */
                        public getFlow(request: google.cloud.dialogflow.cx.v3beta1.IGetFlowRequest, callback: google.cloud.dialogflow.cx.v3beta1.Flows.GetFlowCallback): void;

                        /**
                         * Calls GetFlow.
                         * @param request GetFlowRequest message or plain object
                         * @returns Promise
                         */
                        public getFlow(request: google.cloud.dialogflow.cx.v3beta1.IGetFlowRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Flow>;

                        /**
                         * Calls UpdateFlow.
                         * @param request UpdateFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Flow
                         */
                        public updateFlow(request: google.cloud.dialogflow.cx.v3beta1.IUpdateFlowRequest, callback: google.cloud.dialogflow.cx.v3beta1.Flows.UpdateFlowCallback): void;

                        /**
                         * Calls UpdateFlow.
                         * @param request UpdateFlowRequest message or plain object
                         * @returns Promise
                         */
                        public updateFlow(request: google.cloud.dialogflow.cx.v3beta1.IUpdateFlowRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Flow>;

                        /**
                         * Calls TrainFlow.
                         * @param request TrainFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public trainFlow(request: google.cloud.dialogflow.cx.v3beta1.ITrainFlowRequest, callback: google.cloud.dialogflow.cx.v3beta1.Flows.TrainFlowCallback): void;

                        /**
                         * Calls TrainFlow.
                         * @param request TrainFlowRequest message or plain object
                         * @returns Promise
                         */
                        public trainFlow(request: google.cloud.dialogflow.cx.v3beta1.ITrainFlowRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ValidateFlow.
                         * @param request ValidateFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and FlowValidationResult
                         */
                        public validateFlow(request: google.cloud.dialogflow.cx.v3beta1.IValidateFlowRequest, callback: google.cloud.dialogflow.cx.v3beta1.Flows.ValidateFlowCallback): void;

                        /**
                         * Calls ValidateFlow.
                         * @param request ValidateFlowRequest message or plain object
                         * @returns Promise
                         */
                        public validateFlow(request: google.cloud.dialogflow.cx.v3beta1.IValidateFlowRequest): Promise<google.cloud.dialogflow.cx.v3beta1.FlowValidationResult>;

                        /**
                         * Calls GetFlowValidationResult.
                         * @param request GetFlowValidationResultRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and FlowValidationResult
                         */
                        public getFlowValidationResult(request: google.cloud.dialogflow.cx.v3beta1.IGetFlowValidationResultRequest, callback: google.cloud.dialogflow.cx.v3beta1.Flows.GetFlowValidationResultCallback): void;

                        /**
                         * Calls GetFlowValidationResult.
                         * @param request GetFlowValidationResultRequest message or plain object
                         * @returns Promise
                         */
                        public getFlowValidationResult(request: google.cloud.dialogflow.cx.v3beta1.IGetFlowValidationResultRequest): Promise<google.cloud.dialogflow.cx.v3beta1.FlowValidationResult>;

                        /**
                         * Calls ImportFlow.
                         * @param request ImportFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public importFlow(request: google.cloud.dialogflow.cx.v3beta1.IImportFlowRequest, callback: google.cloud.dialogflow.cx.v3beta1.Flows.ImportFlowCallback): void;

                        /**
                         * Calls ImportFlow.
                         * @param request ImportFlowRequest message or plain object
                         * @returns Promise
                         */
                        public importFlow(request: google.cloud.dialogflow.cx.v3beta1.IImportFlowRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ExportFlow.
                         * @param request ExportFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public exportFlow(request: google.cloud.dialogflow.cx.v3beta1.IExportFlowRequest, callback: google.cloud.dialogflow.cx.v3beta1.Flows.ExportFlowCallback): void;

                        /**
                         * Calls ExportFlow.
                         * @param request ExportFlowRequest message or plain object
                         * @returns Promise
                         */
                        public exportFlow(request: google.cloud.dialogflow.cx.v3beta1.IExportFlowRequest): Promise<google.longrunning.Operation>;
                    }

                    namespace Flows {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Flows|createFlow}.
                         * @param error Error, if any
                         * @param [response] Flow
                         */
                        type CreateFlowCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Flow) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Flows|deleteFlow}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteFlowCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Flows|listFlows}.
                         * @param error Error, if any
                         * @param [response] ListFlowsResponse
                         */
                        type ListFlowsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListFlowsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Flows|getFlow}.
                         * @param error Error, if any
                         * @param [response] Flow
                         */
                        type GetFlowCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Flow) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Flows|updateFlow}.
                         * @param error Error, if any
                         * @param [response] Flow
                         */
                        type UpdateFlowCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Flow) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Flows|trainFlow}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type TrainFlowCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Flows|validateFlow}.
                         * @param error Error, if any
                         * @param [response] FlowValidationResult
                         */
                        type ValidateFlowCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.FlowValidationResult) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Flows|getFlowValidationResult}.
                         * @param error Error, if any
                         * @param [response] FlowValidationResult
                         */
                        type GetFlowValidationResultCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.FlowValidationResult) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Flows|importFlow}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ImportFlowCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Flows|exportFlow}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ExportFlowCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
                    }

                    /** Properties of a NluSettings. */
                    interface INluSettings {

                        /** NluSettings modelType */
                        modelType?: (google.cloud.dialogflow.cx.v3beta1.NluSettings.ModelType|keyof typeof google.cloud.dialogflow.cx.v3beta1.NluSettings.ModelType|null);

                        /** NluSettings classificationThreshold */
                        classificationThreshold?: (number|null);

                        /** NluSettings modelTrainingMode */
                        modelTrainingMode?: (google.cloud.dialogflow.cx.v3beta1.NluSettings.ModelTrainingMode|keyof typeof google.cloud.dialogflow.cx.v3beta1.NluSettings.ModelTrainingMode|null);
                    }

                    /** Represents a NluSettings. */
                    class NluSettings implements INluSettings {

                        /**
                         * Constructs a new NluSettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.INluSettings);

                        /** NluSettings modelType. */
                        public modelType: (google.cloud.dialogflow.cx.v3beta1.NluSettings.ModelType|keyof typeof google.cloud.dialogflow.cx.v3beta1.NluSettings.ModelType);

                        /** NluSettings classificationThreshold. */
                        public classificationThreshold: number;

                        /** NluSettings modelTrainingMode. */
                        public modelTrainingMode: (google.cloud.dialogflow.cx.v3beta1.NluSettings.ModelTrainingMode|keyof typeof google.cloud.dialogflow.cx.v3beta1.NluSettings.ModelTrainingMode);

                        /**
                         * Creates a new NluSettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns NluSettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.INluSettings): google.cloud.dialogflow.cx.v3beta1.NluSettings;

                        /**
                         * Encodes the specified NluSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.NluSettings.verify|verify} messages.
                         * @param message NluSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.INluSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified NluSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.NluSettings.verify|verify} messages.
                         * @param message NluSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.INluSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a NluSettings message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns NluSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.NluSettings;

                        /**
                         * Decodes a NluSettings message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns NluSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.NluSettings;

                        /**
                         * Verifies a NluSettings message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a NluSettings message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns NluSettings
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.NluSettings;

                        /**
                         * Creates a plain object from a NluSettings message. Also converts values to other types if specified.
                         * @param message NluSettings
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.NluSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this NluSettings to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for NluSettings
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace NluSettings {

                        /** ModelType enum. */
                        enum ModelType {
                            MODEL_TYPE_UNSPECIFIED = 0,
                            MODEL_TYPE_STANDARD = 1,
                            MODEL_TYPE_ADVANCED = 3
                        }

                        /** ModelTrainingMode enum. */
                        enum ModelTrainingMode {
                            MODEL_TRAINING_MODE_UNSPECIFIED = 0,
                            MODEL_TRAINING_MODE_AUTOMATIC = 1,
                            MODEL_TRAINING_MODE_MANUAL = 2
                        }
                    }

                    /** Properties of a Flow. */
                    interface IFlow {

                        /** Flow name */
                        name?: (string|null);

                        /** Flow displayName */
                        displayName?: (string|null);

                        /** Flow description */
                        description?: (string|null);

                        /** Flow transitionRoutes */
                        transitionRoutes?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRoute[]|null);

                        /** Flow eventHandlers */
                        eventHandlers?: (google.cloud.dialogflow.cx.v3beta1.IEventHandler[]|null);

                        /** Flow transitionRouteGroups */
                        transitionRouteGroups?: (string[]|null);

                        /** Flow nluSettings */
                        nluSettings?: (google.cloud.dialogflow.cx.v3beta1.INluSettings|null);

                        /** Flow advancedSettings */
                        advancedSettings?: (google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings|null);

                        /** Flow knowledgeConnectorSettings */
                        knowledgeConnectorSettings?: (google.cloud.dialogflow.cx.v3beta1.IKnowledgeConnectorSettings|null);

                        /** Flow multiLanguageSettings */
                        multiLanguageSettings?: (google.cloud.dialogflow.cx.v3beta1.Flow.IMultiLanguageSettings|null);

                        /** Flow locked */
                        locked?: (boolean|null);
                    }

                    /** Represents a Flow. */
                    class Flow implements IFlow {

                        /**
                         * Constructs a new Flow.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IFlow);

                        /** Flow name. */
                        public name: string;

                        /** Flow displayName. */
                        public displayName: string;

                        /** Flow description. */
                        public description: string;

                        /** Flow transitionRoutes. */
                        public transitionRoutes: google.cloud.dialogflow.cx.v3beta1.ITransitionRoute[];

                        /** Flow eventHandlers. */
                        public eventHandlers: google.cloud.dialogflow.cx.v3beta1.IEventHandler[];

                        /** Flow transitionRouteGroups. */
                        public transitionRouteGroups: string[];

                        /** Flow nluSettings. */
                        public nluSettings?: (google.cloud.dialogflow.cx.v3beta1.INluSettings|null);

                        /** Flow advancedSettings. */
                        public advancedSettings?: (google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings|null);

                        /** Flow knowledgeConnectorSettings. */
                        public knowledgeConnectorSettings?: (google.cloud.dialogflow.cx.v3beta1.IKnowledgeConnectorSettings|null);

                        /** Flow multiLanguageSettings. */
                        public multiLanguageSettings?: (google.cloud.dialogflow.cx.v3beta1.Flow.IMultiLanguageSettings|null);

                        /** Flow locked. */
                        public locked: boolean;

                        /**
                         * Creates a new Flow instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Flow instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IFlow): google.cloud.dialogflow.cx.v3beta1.Flow;

                        /**
                         * Encodes the specified Flow message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Flow.verify|verify} messages.
                         * @param message Flow message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IFlow, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Flow message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Flow.verify|verify} messages.
                         * @param message Flow message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IFlow, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Flow message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Flow
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Flow;

                        /**
                         * Decodes a Flow message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Flow
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Flow;

                        /**
                         * Verifies a Flow message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Flow message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Flow
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Flow;

                        /**
                         * Creates a plain object from a Flow message. Also converts values to other types if specified.
                         * @param message Flow
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Flow, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Flow to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Flow
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Flow {

                        /** Properties of a MultiLanguageSettings. */
                        interface IMultiLanguageSettings {

                            /** MultiLanguageSettings enableMultiLanguageDetection */
                            enableMultiLanguageDetection?: (boolean|null);

                            /** MultiLanguageSettings supportedResponseLanguageCodes */
                            supportedResponseLanguageCodes?: (string[]|null);
                        }

                        /** Represents a MultiLanguageSettings. */
                        class MultiLanguageSettings implements IMultiLanguageSettings {

                            /**
                             * Constructs a new MultiLanguageSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Flow.IMultiLanguageSettings);

                            /** MultiLanguageSettings enableMultiLanguageDetection. */
                            public enableMultiLanguageDetection: boolean;

                            /** MultiLanguageSettings supportedResponseLanguageCodes. */
                            public supportedResponseLanguageCodes: string[];

                            /**
                             * Creates a new MultiLanguageSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns MultiLanguageSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Flow.IMultiLanguageSettings): google.cloud.dialogflow.cx.v3beta1.Flow.MultiLanguageSettings;

                            /**
                             * Encodes the specified MultiLanguageSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Flow.MultiLanguageSettings.verify|verify} messages.
                             * @param message MultiLanguageSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Flow.IMultiLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified MultiLanguageSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Flow.MultiLanguageSettings.verify|verify} messages.
                             * @param message MultiLanguageSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Flow.IMultiLanguageSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a MultiLanguageSettings message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns MultiLanguageSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Flow.MultiLanguageSettings;

                            /**
                             * Decodes a MultiLanguageSettings message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns MultiLanguageSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Flow.MultiLanguageSettings;

                            /**
                             * Verifies a MultiLanguageSettings message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a MultiLanguageSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns MultiLanguageSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Flow.MultiLanguageSettings;

                            /**
                             * Creates a plain object from a MultiLanguageSettings message. Also converts values to other types if specified.
                             * @param message MultiLanguageSettings
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Flow.MultiLanguageSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this MultiLanguageSettings to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for MultiLanguageSettings
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a CreateFlowRequest. */
                    interface ICreateFlowRequest {

                        /** CreateFlowRequest parent */
                        parent?: (string|null);

                        /** CreateFlowRequest flow */
                        flow?: (google.cloud.dialogflow.cx.v3beta1.IFlow|null);

                        /** CreateFlowRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a CreateFlowRequest. */
                    class CreateFlowRequest implements ICreateFlowRequest {

                        /**
                         * Constructs a new CreateFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateFlowRequest);

                        /** CreateFlowRequest parent. */
                        public parent: string;

                        /** CreateFlowRequest flow. */
                        public flow?: (google.cloud.dialogflow.cx.v3beta1.IFlow|null);

                        /** CreateFlowRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new CreateFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateFlowRequest): google.cloud.dialogflow.cx.v3beta1.CreateFlowRequest;

                        /**
                         * Encodes the specified CreateFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateFlowRequest.verify|verify} messages.
                         * @param message CreateFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateFlowRequest.verify|verify} messages.
                         * @param message CreateFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateFlowRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateFlowRequest;

                        /**
                         * Decodes a CreateFlowRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateFlowRequest;

                        /**
                         * Verifies a CreateFlowRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateFlowRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateFlowRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateFlowRequest;

                        /**
                         * Creates a plain object from a CreateFlowRequest message. Also converts values to other types if specified.
                         * @param message CreateFlowRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateFlowRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateFlowRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateFlowRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteFlowRequest. */
                    interface IDeleteFlowRequest {

                        /** DeleteFlowRequest name */
                        name?: (string|null);

                        /** DeleteFlowRequest force */
                        force?: (boolean|null);
                    }

                    /** Represents a DeleteFlowRequest. */
                    class DeleteFlowRequest implements IDeleteFlowRequest {

                        /**
                         * Constructs a new DeleteFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteFlowRequest);

                        /** DeleteFlowRequest name. */
                        public name: string;

                        /** DeleteFlowRequest force. */
                        public force: boolean;

                        /**
                         * Creates a new DeleteFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteFlowRequest): google.cloud.dialogflow.cx.v3beta1.DeleteFlowRequest;

                        /**
                         * Encodes the specified DeleteFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteFlowRequest.verify|verify} messages.
                         * @param message DeleteFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteFlowRequest.verify|verify} messages.
                         * @param message DeleteFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteFlowRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteFlowRequest;

                        /**
                         * Decodes a DeleteFlowRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteFlowRequest;

                        /**
                         * Verifies a DeleteFlowRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteFlowRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteFlowRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteFlowRequest;

                        /**
                         * Creates a plain object from a DeleteFlowRequest message. Also converts values to other types if specified.
                         * @param message DeleteFlowRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteFlowRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteFlowRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteFlowRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListFlowsRequest. */
                    interface IListFlowsRequest {

                        /** ListFlowsRequest parent */
                        parent?: (string|null);

                        /** ListFlowsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListFlowsRequest pageToken */
                        pageToken?: (string|null);

                        /** ListFlowsRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a ListFlowsRequest. */
                    class ListFlowsRequest implements IListFlowsRequest {

                        /**
                         * Constructs a new ListFlowsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListFlowsRequest);

                        /** ListFlowsRequest parent. */
                        public parent: string;

                        /** ListFlowsRequest pageSize. */
                        public pageSize: number;

                        /** ListFlowsRequest pageToken. */
                        public pageToken: string;

                        /** ListFlowsRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new ListFlowsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListFlowsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListFlowsRequest): google.cloud.dialogflow.cx.v3beta1.ListFlowsRequest;

                        /**
                         * Encodes the specified ListFlowsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListFlowsRequest.verify|verify} messages.
                         * @param message ListFlowsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListFlowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListFlowsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListFlowsRequest.verify|verify} messages.
                         * @param message ListFlowsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListFlowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListFlowsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListFlowsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListFlowsRequest;

                        /**
                         * Decodes a ListFlowsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListFlowsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListFlowsRequest;

                        /**
                         * Verifies a ListFlowsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListFlowsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListFlowsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListFlowsRequest;

                        /**
                         * Creates a plain object from a ListFlowsRequest message. Also converts values to other types if specified.
                         * @param message ListFlowsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListFlowsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListFlowsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListFlowsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListFlowsResponse. */
                    interface IListFlowsResponse {

                        /** ListFlowsResponse flows */
                        flows?: (google.cloud.dialogflow.cx.v3beta1.IFlow[]|null);

                        /** ListFlowsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListFlowsResponse. */
                    class ListFlowsResponse implements IListFlowsResponse {

                        /**
                         * Constructs a new ListFlowsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListFlowsResponse);

                        /** ListFlowsResponse flows. */
                        public flows: google.cloud.dialogflow.cx.v3beta1.IFlow[];

                        /** ListFlowsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListFlowsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListFlowsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListFlowsResponse): google.cloud.dialogflow.cx.v3beta1.ListFlowsResponse;

                        /**
                         * Encodes the specified ListFlowsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListFlowsResponse.verify|verify} messages.
                         * @param message ListFlowsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListFlowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListFlowsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListFlowsResponse.verify|verify} messages.
                         * @param message ListFlowsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListFlowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListFlowsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListFlowsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListFlowsResponse;

                        /**
                         * Decodes a ListFlowsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListFlowsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListFlowsResponse;

                        /**
                         * Verifies a ListFlowsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListFlowsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListFlowsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListFlowsResponse;

                        /**
                         * Creates a plain object from a ListFlowsResponse message. Also converts values to other types if specified.
                         * @param message ListFlowsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListFlowsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListFlowsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListFlowsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetFlowRequest. */
                    interface IGetFlowRequest {

                        /** GetFlowRequest name */
                        name?: (string|null);

                        /** GetFlowRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetFlowRequest. */
                    class GetFlowRequest implements IGetFlowRequest {

                        /**
                         * Constructs a new GetFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetFlowRequest);

                        /** GetFlowRequest name. */
                        public name: string;

                        /** GetFlowRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetFlowRequest): google.cloud.dialogflow.cx.v3beta1.GetFlowRequest;

                        /**
                         * Encodes the specified GetFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetFlowRequest.verify|verify} messages.
                         * @param message GetFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetFlowRequest.verify|verify} messages.
                         * @param message GetFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetFlowRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetFlowRequest;

                        /**
                         * Decodes a GetFlowRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetFlowRequest;

                        /**
                         * Verifies a GetFlowRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetFlowRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetFlowRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetFlowRequest;

                        /**
                         * Creates a plain object from a GetFlowRequest message. Also converts values to other types if specified.
                         * @param message GetFlowRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetFlowRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetFlowRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetFlowRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateFlowRequest. */
                    interface IUpdateFlowRequest {

                        /** UpdateFlowRequest flow */
                        flow?: (google.cloud.dialogflow.cx.v3beta1.IFlow|null);

                        /** UpdateFlowRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);

                        /** UpdateFlowRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents an UpdateFlowRequest. */
                    class UpdateFlowRequest implements IUpdateFlowRequest {

                        /**
                         * Constructs a new UpdateFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateFlowRequest);

                        /** UpdateFlowRequest flow. */
                        public flow?: (google.cloud.dialogflow.cx.v3beta1.IFlow|null);

                        /** UpdateFlowRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /** UpdateFlowRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new UpdateFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateFlowRequest): google.cloud.dialogflow.cx.v3beta1.UpdateFlowRequest;

                        /**
                         * Encodes the specified UpdateFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateFlowRequest.verify|verify} messages.
                         * @param message UpdateFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateFlowRequest.verify|verify} messages.
                         * @param message UpdateFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateFlowRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateFlowRequest;

                        /**
                         * Decodes an UpdateFlowRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateFlowRequest;

                        /**
                         * Verifies an UpdateFlowRequest message.
                         * @param message Plain 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 UpdateFlowRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateFlowRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateFlowRequest;

                        /**
                         * Creates a plain object from an UpdateFlowRequest message. Also converts values to other types if specified.
                         * @param message UpdateFlowRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateFlowRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateFlowRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateFlowRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a TrainFlowRequest. */
                    interface ITrainFlowRequest {

                        /** TrainFlowRequest name */
                        name?: (string|null);
                    }

                    /** Represents a TrainFlowRequest. */
                    class TrainFlowRequest implements ITrainFlowRequest {

                        /**
                         * Constructs a new TrainFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ITrainFlowRequest);

                        /** TrainFlowRequest name. */
                        public name: string;

                        /**
                         * Creates a new TrainFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TrainFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ITrainFlowRequest): google.cloud.dialogflow.cx.v3beta1.TrainFlowRequest;

                        /**
                         * Encodes the specified TrainFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TrainFlowRequest.verify|verify} messages.
                         * @param message TrainFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ITrainFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TrainFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TrainFlowRequest.verify|verify} messages.
                         * @param message TrainFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ITrainFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TrainFlowRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TrainFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TrainFlowRequest;

                        /**
                         * Decodes a TrainFlowRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TrainFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TrainFlowRequest;

                        /**
                         * Verifies a TrainFlowRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TrainFlowRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TrainFlowRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TrainFlowRequest;

                        /**
                         * Creates a plain object from a TrainFlowRequest message. Also converts values to other types if specified.
                         * @param message TrainFlowRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TrainFlowRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TrainFlowRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TrainFlowRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ValidateFlowRequest. */
                    interface IValidateFlowRequest {

                        /** ValidateFlowRequest name */
                        name?: (string|null);

                        /** ValidateFlowRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a ValidateFlowRequest. */
                    class ValidateFlowRequest implements IValidateFlowRequest {

                        /**
                         * Constructs a new ValidateFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IValidateFlowRequest);

                        /** ValidateFlowRequest name. */
                        public name: string;

                        /** ValidateFlowRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new ValidateFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ValidateFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IValidateFlowRequest): google.cloud.dialogflow.cx.v3beta1.ValidateFlowRequest;

                        /**
                         * Encodes the specified ValidateFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ValidateFlowRequest.verify|verify} messages.
                         * @param message ValidateFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IValidateFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ValidateFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ValidateFlowRequest.verify|verify} messages.
                         * @param message ValidateFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IValidateFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ValidateFlowRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ValidateFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ValidateFlowRequest;

                        /**
                         * Decodes a ValidateFlowRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ValidateFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ValidateFlowRequest;

                        /**
                         * Verifies a ValidateFlowRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ValidateFlowRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ValidateFlowRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ValidateFlowRequest;

                        /**
                         * Creates a plain object from a ValidateFlowRequest message. Also converts values to other types if specified.
                         * @param message ValidateFlowRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ValidateFlowRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ValidateFlowRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ValidateFlowRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetFlowValidationResultRequest. */
                    interface IGetFlowValidationResultRequest {

                        /** GetFlowValidationResultRequest name */
                        name?: (string|null);

                        /** GetFlowValidationResultRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetFlowValidationResultRequest. */
                    class GetFlowValidationResultRequest implements IGetFlowValidationResultRequest {

                        /**
                         * Constructs a new GetFlowValidationResultRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetFlowValidationResultRequest);

                        /** GetFlowValidationResultRequest name. */
                        public name: string;

                        /** GetFlowValidationResultRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetFlowValidationResultRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetFlowValidationResultRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetFlowValidationResultRequest): google.cloud.dialogflow.cx.v3beta1.GetFlowValidationResultRequest;

                        /**
                         * Encodes the specified GetFlowValidationResultRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetFlowValidationResultRequest.verify|verify} messages.
                         * @param message GetFlowValidationResultRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetFlowValidationResultRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetFlowValidationResultRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetFlowValidationResultRequest.verify|verify} messages.
                         * @param message GetFlowValidationResultRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetFlowValidationResultRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetFlowValidationResultRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetFlowValidationResultRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetFlowValidationResultRequest;

                        /**
                         * Decodes a GetFlowValidationResultRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetFlowValidationResultRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetFlowValidationResultRequest;

                        /**
                         * Verifies a GetFlowValidationResultRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetFlowValidationResultRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetFlowValidationResultRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetFlowValidationResultRequest;

                        /**
                         * Creates a plain object from a GetFlowValidationResultRequest message. Also converts values to other types if specified.
                         * @param message GetFlowValidationResultRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetFlowValidationResultRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetFlowValidationResultRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetFlowValidationResultRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a FlowValidationResult. */
                    interface IFlowValidationResult {

                        /** FlowValidationResult name */
                        name?: (string|null);

                        /** FlowValidationResult validationMessages */
                        validationMessages?: (google.cloud.dialogflow.cx.v3beta1.IValidationMessage[]|null);

                        /** FlowValidationResult updateTime */
                        updateTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a FlowValidationResult. */
                    class FlowValidationResult implements IFlowValidationResult {

                        /**
                         * Constructs a new FlowValidationResult.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IFlowValidationResult);

                        /** FlowValidationResult name. */
                        public name: string;

                        /** FlowValidationResult validationMessages. */
                        public validationMessages: google.cloud.dialogflow.cx.v3beta1.IValidationMessage[];

                        /** FlowValidationResult updateTime. */
                        public updateTime?: (google.protobuf.ITimestamp|null);

                        /**
                         * Creates a new FlowValidationResult instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns FlowValidationResult instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IFlowValidationResult): google.cloud.dialogflow.cx.v3beta1.FlowValidationResult;

                        /**
                         * Encodes the specified FlowValidationResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.FlowValidationResult.verify|verify} messages.
                         * @param message FlowValidationResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IFlowValidationResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified FlowValidationResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.FlowValidationResult.verify|verify} messages.
                         * @param message FlowValidationResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IFlowValidationResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a FlowValidationResult message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns FlowValidationResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.FlowValidationResult;

                        /**
                         * Decodes a FlowValidationResult message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns FlowValidationResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.FlowValidationResult;

                        /**
                         * Verifies a FlowValidationResult message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a FlowValidationResult message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns FlowValidationResult
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.FlowValidationResult;

                        /**
                         * Creates a plain object from a FlowValidationResult message. Also converts values to other types if specified.
                         * @param message FlowValidationResult
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.FlowValidationResult, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this FlowValidationResult to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for FlowValidationResult
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ImportFlowRequest. */
                    interface IImportFlowRequest {

                        /** ImportFlowRequest parent */
                        parent?: (string|null);

                        /** ImportFlowRequest flowUri */
                        flowUri?: (string|null);

                        /** ImportFlowRequest flowContent */
                        flowContent?: (Uint8Array|Buffer|string|null);

                        /** ImportFlowRequest importOption */
                        importOption?: (google.cloud.dialogflow.cx.v3beta1.ImportFlowRequest.ImportOption|keyof typeof google.cloud.dialogflow.cx.v3beta1.ImportFlowRequest.ImportOption|null);

                        /** ImportFlowRequest flowImportStrategy */
                        flowImportStrategy?: (google.cloud.dialogflow.cx.v3beta1.IFlowImportStrategy|null);
                    }

                    /** Represents an ImportFlowRequest. */
                    class ImportFlowRequest implements IImportFlowRequest {

                        /**
                         * Constructs a new ImportFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IImportFlowRequest);

                        /** ImportFlowRequest parent. */
                        public parent: string;

                        /** ImportFlowRequest flowUri. */
                        public flowUri?: (string|null);

                        /** ImportFlowRequest flowContent. */
                        public flowContent?: (Uint8Array|Buffer|string|null);

                        /** ImportFlowRequest importOption. */
                        public importOption: (google.cloud.dialogflow.cx.v3beta1.ImportFlowRequest.ImportOption|keyof typeof google.cloud.dialogflow.cx.v3beta1.ImportFlowRequest.ImportOption);

                        /** ImportFlowRequest flowImportStrategy. */
                        public flowImportStrategy?: (google.cloud.dialogflow.cx.v3beta1.IFlowImportStrategy|null);

                        /** ImportFlowRequest flow. */
                        public flow?: ("flowUri"|"flowContent");

                        /**
                         * Creates a new ImportFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IImportFlowRequest): google.cloud.dialogflow.cx.v3beta1.ImportFlowRequest;

                        /**
                         * Encodes the specified ImportFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportFlowRequest.verify|verify} messages.
                         * @param message ImportFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IImportFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportFlowRequest.verify|verify} messages.
                         * @param message ImportFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IImportFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportFlowRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ImportFlowRequest;

                        /**
                         * Decodes an ImportFlowRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ImportFlowRequest;

                        /**
                         * Verifies an ImportFlowRequest message.
                         * @param message Plain 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 ImportFlowRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportFlowRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ImportFlowRequest;

                        /**
                         * Creates a plain object from an ImportFlowRequest message. Also converts values to other types if specified.
                         * @param message ImportFlowRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ImportFlowRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportFlowRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportFlowRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ImportFlowRequest {

                        /** ImportOption enum. */
                        enum ImportOption {
                            IMPORT_OPTION_UNSPECIFIED = 0,
                            KEEP = 1,
                            FALLBACK = 2
                        }
                    }

                    /** Properties of a FlowImportStrategy. */
                    interface IFlowImportStrategy {

                        /** FlowImportStrategy globalImportStrategy */
                        globalImportStrategy?: (google.cloud.dialogflow.cx.v3beta1.ImportStrategy|keyof typeof google.cloud.dialogflow.cx.v3beta1.ImportStrategy|null);
                    }

                    /** Represents a FlowImportStrategy. */
                    class FlowImportStrategy implements IFlowImportStrategy {

                        /**
                         * Constructs a new FlowImportStrategy.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IFlowImportStrategy);

                        /** FlowImportStrategy globalImportStrategy. */
                        public globalImportStrategy: (google.cloud.dialogflow.cx.v3beta1.ImportStrategy|keyof typeof google.cloud.dialogflow.cx.v3beta1.ImportStrategy);

                        /**
                         * Creates a new FlowImportStrategy instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns FlowImportStrategy instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IFlowImportStrategy): google.cloud.dialogflow.cx.v3beta1.FlowImportStrategy;

                        /**
                         * Encodes the specified FlowImportStrategy message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.FlowImportStrategy.verify|verify} messages.
                         * @param message FlowImportStrategy message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IFlowImportStrategy, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified FlowImportStrategy message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.FlowImportStrategy.verify|verify} messages.
                         * @param message FlowImportStrategy message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IFlowImportStrategy, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a FlowImportStrategy message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns FlowImportStrategy
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.FlowImportStrategy;

                        /**
                         * Decodes a FlowImportStrategy message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns FlowImportStrategy
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.FlowImportStrategy;

                        /**
                         * Verifies a FlowImportStrategy message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a FlowImportStrategy message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns FlowImportStrategy
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.FlowImportStrategy;

                        /**
                         * Creates a plain object from a FlowImportStrategy message. Also converts values to other types if specified.
                         * @param message FlowImportStrategy
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.FlowImportStrategy, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this FlowImportStrategy to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for FlowImportStrategy
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ImportFlowResponse. */
                    interface IImportFlowResponse {

                        /** ImportFlowResponse flow */
                        flow?: (string|null);
                    }

                    /** Represents an ImportFlowResponse. */
                    class ImportFlowResponse implements IImportFlowResponse {

                        /**
                         * Constructs a new ImportFlowResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IImportFlowResponse);

                        /** ImportFlowResponse flow. */
                        public flow: string;

                        /**
                         * Creates a new ImportFlowResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportFlowResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IImportFlowResponse): google.cloud.dialogflow.cx.v3beta1.ImportFlowResponse;

                        /**
                         * Encodes the specified ImportFlowResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportFlowResponse.verify|verify} messages.
                         * @param message ImportFlowResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IImportFlowResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportFlowResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportFlowResponse.verify|verify} messages.
                         * @param message ImportFlowResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IImportFlowResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportFlowResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportFlowResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ImportFlowResponse;

                        /**
                         * Decodes an ImportFlowResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportFlowResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ImportFlowResponse;

                        /**
                         * Verifies an ImportFlowResponse message.
                         * @param message Plain 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 ImportFlowResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportFlowResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ImportFlowResponse;

                        /**
                         * Creates a plain object from an ImportFlowResponse message. Also converts values to other types if specified.
                         * @param message ImportFlowResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ImportFlowResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportFlowResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportFlowResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ExportFlowRequest. */
                    interface IExportFlowRequest {

                        /** ExportFlowRequest name */
                        name?: (string|null);

                        /** ExportFlowRequest flowUri */
                        flowUri?: (string|null);

                        /** ExportFlowRequest includeReferencedFlows */
                        includeReferencedFlows?: (boolean|null);
                    }

                    /** Represents an ExportFlowRequest. */
                    class ExportFlowRequest implements IExportFlowRequest {

                        /**
                         * Constructs a new ExportFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportFlowRequest);

                        /** ExportFlowRequest name. */
                        public name: string;

                        /** ExportFlowRequest flowUri. */
                        public flowUri: string;

                        /** ExportFlowRequest includeReferencedFlows. */
                        public includeReferencedFlows: boolean;

                        /**
                         * Creates a new ExportFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportFlowRequest): google.cloud.dialogflow.cx.v3beta1.ExportFlowRequest;

                        /**
                         * Encodes the specified ExportFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportFlowRequest.verify|verify} messages.
                         * @param message ExportFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportFlowRequest.verify|verify} messages.
                         * @param message ExportFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportFlowRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportFlowRequest;

                        /**
                         * Decodes an ExportFlowRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportFlowRequest;

                        /**
                         * Verifies an ExportFlowRequest message.
                         * @param message Plain 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 ExportFlowRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportFlowRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportFlowRequest;

                        /**
                         * Creates a plain object from an ExportFlowRequest message. Also converts values to other types if specified.
                         * @param message ExportFlowRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportFlowRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportFlowRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportFlowRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ExportFlowResponse. */
                    interface IExportFlowResponse {

                        /** ExportFlowResponse flowUri */
                        flowUri?: (string|null);

                        /** ExportFlowResponse flowContent */
                        flowContent?: (Uint8Array|Buffer|string|null);
                    }

                    /** Represents an ExportFlowResponse. */
                    class ExportFlowResponse implements IExportFlowResponse {

                        /**
                         * Constructs a new ExportFlowResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportFlowResponse);

                        /** ExportFlowResponse flowUri. */
                        public flowUri?: (string|null);

                        /** ExportFlowResponse flowContent. */
                        public flowContent?: (Uint8Array|Buffer|string|null);

                        /** ExportFlowResponse flow. */
                        public flow?: ("flowUri"|"flowContent");

                        /**
                         * Creates a new ExportFlowResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportFlowResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportFlowResponse): google.cloud.dialogflow.cx.v3beta1.ExportFlowResponse;

                        /**
                         * Encodes the specified ExportFlowResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportFlowResponse.verify|verify} messages.
                         * @param message ExportFlowResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportFlowResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportFlowResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportFlowResponse.verify|verify} messages.
                         * @param message ExportFlowResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportFlowResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportFlowResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportFlowResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportFlowResponse;

                        /**
                         * Decodes an ExportFlowResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportFlowResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportFlowResponse;

                        /**
                         * Verifies an ExportFlowResponse message.
                         * @param message Plain 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 ExportFlowResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportFlowResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportFlowResponse;

                        /**
                         * Creates a plain object from an ExportFlowResponse message. Also converts values to other types if specified.
                         * @param message ExportFlowResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportFlowResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportFlowResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportFlowResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** ImportStrategy enum. */
                    enum ImportStrategy {
                        IMPORT_STRATEGY_UNSPECIFIED = 0,
                        IMPORT_STRATEGY_CREATE_NEW = 1,
                        IMPORT_STRATEGY_REPLACE = 2,
                        IMPORT_STRATEGY_KEEP = 3,
                        IMPORT_STRATEGY_MERGE = 4,
                        IMPORT_STRATEGY_THROW_ERROR = 5
                    }

                    /** Represents a Pages */
                    class Pages extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Pages 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 Pages 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): Pages;

                        /**
                         * Calls ListPages.
                         * @param request ListPagesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListPagesResponse
                         */
                        public listPages(request: google.cloud.dialogflow.cx.v3beta1.IListPagesRequest, callback: google.cloud.dialogflow.cx.v3beta1.Pages.ListPagesCallback): void;

                        /**
                         * Calls ListPages.
                         * @param request ListPagesRequest message or plain object
                         * @returns Promise
                         */
                        public listPages(request: google.cloud.dialogflow.cx.v3beta1.IListPagesRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListPagesResponse>;

                        /**
                         * Calls GetPage.
                         * @param request GetPageRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Page
                         */
                        public getPage(request: google.cloud.dialogflow.cx.v3beta1.IGetPageRequest, callback: google.cloud.dialogflow.cx.v3beta1.Pages.GetPageCallback): void;

                        /**
                         * Calls GetPage.
                         * @param request GetPageRequest message or plain object
                         * @returns Promise
                         */
                        public getPage(request: google.cloud.dialogflow.cx.v3beta1.IGetPageRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Page>;

                        /**
                         * Calls CreatePage.
                         * @param request CreatePageRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Page
                         */
                        public createPage(request: google.cloud.dialogflow.cx.v3beta1.ICreatePageRequest, callback: google.cloud.dialogflow.cx.v3beta1.Pages.CreatePageCallback): void;

                        /**
                         * Calls CreatePage.
                         * @param request CreatePageRequest message or plain object
                         * @returns Promise
                         */
                        public createPage(request: google.cloud.dialogflow.cx.v3beta1.ICreatePageRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Page>;

                        /**
                         * Calls UpdatePage.
                         * @param request UpdatePageRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Page
                         */
                        public updatePage(request: google.cloud.dialogflow.cx.v3beta1.IUpdatePageRequest, callback: google.cloud.dialogflow.cx.v3beta1.Pages.UpdatePageCallback): void;

                        /**
                         * Calls UpdatePage.
                         * @param request UpdatePageRequest message or plain object
                         * @returns Promise
                         */
                        public updatePage(request: google.cloud.dialogflow.cx.v3beta1.IUpdatePageRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Page>;

                        /**
                         * Calls DeletePage.
                         * @param request DeletePageRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deletePage(request: google.cloud.dialogflow.cx.v3beta1.IDeletePageRequest, callback: google.cloud.dialogflow.cx.v3beta1.Pages.DeletePageCallback): void;

                        /**
                         * Calls DeletePage.
                         * @param request DeletePageRequest message or plain object
                         * @returns Promise
                         */
                        public deletePage(request: google.cloud.dialogflow.cx.v3beta1.IDeletePageRequest): Promise<google.protobuf.Empty>;
                    }

                    namespace Pages {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Pages|listPages}.
                         * @param error Error, if any
                         * @param [response] ListPagesResponse
                         */
                        type ListPagesCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListPagesResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Pages|getPage}.
                         * @param error Error, if any
                         * @param [response] Page
                         */
                        type GetPageCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Page) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Pages|createPage}.
                         * @param error Error, if any
                         * @param [response] Page
                         */
                        type CreatePageCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Page) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Pages|updatePage}.
                         * @param error Error, if any
                         * @param [response] Page
                         */
                        type UpdatePageCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Page) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Pages|deletePage}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeletePageCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                    }

                    /** Properties of a Page. */
                    interface IPage {

                        /** Page name */
                        name?: (string|null);

                        /** Page displayName */
                        displayName?: (string|null);

                        /** Page description */
                        description?: (string|null);

                        /** Page entryFulfillment */
                        entryFulfillment?: (google.cloud.dialogflow.cx.v3beta1.IFulfillment|null);

                        /** Page form */
                        form?: (google.cloud.dialogflow.cx.v3beta1.IForm|null);

                        /** Page transitionRouteGroups */
                        transitionRouteGroups?: (string[]|null);

                        /** Page transitionRoutes */
                        transitionRoutes?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRoute[]|null);

                        /** Page eventHandlers */
                        eventHandlers?: (google.cloud.dialogflow.cx.v3beta1.IEventHandler[]|null);

                        /** Page advancedSettings */
                        advancedSettings?: (google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings|null);

                        /** Page knowledgeConnectorSettings */
                        knowledgeConnectorSettings?: (google.cloud.dialogflow.cx.v3beta1.IKnowledgeConnectorSettings|null);
                    }

                    /** Represents a Page. */
                    class Page implements IPage {

                        /**
                         * Constructs a new Page.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IPage);

                        /** Page name. */
                        public name: string;

                        /** Page displayName. */
                        public displayName: string;

                        /** Page description. */
                        public description: string;

                        /** Page entryFulfillment. */
                        public entryFulfillment?: (google.cloud.dialogflow.cx.v3beta1.IFulfillment|null);

                        /** Page form. */
                        public form?: (google.cloud.dialogflow.cx.v3beta1.IForm|null);

                        /** Page transitionRouteGroups. */
                        public transitionRouteGroups: string[];

                        /** Page transitionRoutes. */
                        public transitionRoutes: google.cloud.dialogflow.cx.v3beta1.ITransitionRoute[];

                        /** Page eventHandlers. */
                        public eventHandlers: google.cloud.dialogflow.cx.v3beta1.IEventHandler[];

                        /** Page advancedSettings. */
                        public advancedSettings?: (google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings|null);

                        /** Page knowledgeConnectorSettings. */
                        public knowledgeConnectorSettings?: (google.cloud.dialogflow.cx.v3beta1.IKnowledgeConnectorSettings|null);

                        /**
                         * Creates a new Page instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Page instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IPage): google.cloud.dialogflow.cx.v3beta1.Page;

                        /**
                         * Encodes the specified Page message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Page.verify|verify} messages.
                         * @param message Page message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IPage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Page message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Page.verify|verify} messages.
                         * @param message Page message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IPage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Page message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Page
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Page;

                        /**
                         * Decodes a Page message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Page
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Page;

                        /**
                         * Verifies a Page message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Page message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Page
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Page;

                        /**
                         * Creates a plain object from a Page message. Also converts values to other types if specified.
                         * @param message Page
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Page, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Page to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Page
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a Form. */
                    interface IForm {

                        /** Form parameters */
                        parameters?: (google.cloud.dialogflow.cx.v3beta1.Form.IParameter[]|null);
                    }

                    /** Represents a Form. */
                    class Form implements IForm {

                        /**
                         * Constructs a new Form.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IForm);

                        /** Form parameters. */
                        public parameters: google.cloud.dialogflow.cx.v3beta1.Form.IParameter[];

                        /**
                         * Creates a new Form instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Form instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IForm): google.cloud.dialogflow.cx.v3beta1.Form;

                        /**
                         * Encodes the specified Form message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Form.verify|verify} messages.
                         * @param message Form message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IForm, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Form message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Form.verify|verify} messages.
                         * @param message Form message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IForm, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Form message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Form
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Form;

                        /**
                         * Decodes a Form message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Form
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Form;

                        /**
                         * Verifies a Form message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Form message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Form
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Form;

                        /**
                         * Creates a plain object from a Form message. Also converts values to other types if specified.
                         * @param message Form
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Form, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Form to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Form
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Form {

                        /** Properties of a Parameter. */
                        interface IParameter {

                            /** Parameter displayName */
                            displayName?: (string|null);

                            /** Parameter required */
                            required?: (boolean|null);

                            /** Parameter entityType */
                            entityType?: (string|null);

                            /** Parameter isList */
                            isList?: (boolean|null);

                            /** Parameter fillBehavior */
                            fillBehavior?: (google.cloud.dialogflow.cx.v3beta1.Form.Parameter.IFillBehavior|null);

                            /** Parameter defaultValue */
                            defaultValue?: (google.protobuf.IValue|null);

                            /** Parameter redact */
                            redact?: (boolean|null);

                            /** Parameter advancedSettings */
                            advancedSettings?: (google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings|null);
                        }

                        /** Represents a Parameter. */
                        class Parameter implements IParameter {

                            /**
                             * Constructs a new Parameter.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Form.IParameter);

                            /** Parameter displayName. */
                            public displayName: string;

                            /** Parameter required. */
                            public required: boolean;

                            /** Parameter entityType. */
                            public entityType: string;

                            /** Parameter isList. */
                            public isList: boolean;

                            /** Parameter fillBehavior. */
                            public fillBehavior?: (google.cloud.dialogflow.cx.v3beta1.Form.Parameter.IFillBehavior|null);

                            /** Parameter defaultValue. */
                            public defaultValue?: (google.protobuf.IValue|null);

                            /** Parameter redact. */
                            public redact: boolean;

                            /** Parameter advancedSettings. */
                            public advancedSettings?: (google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings|null);

                            /**
                             * Creates a new Parameter instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Parameter instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Form.IParameter): google.cloud.dialogflow.cx.v3beta1.Form.Parameter;

                            /**
                             * Encodes the specified Parameter message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Form.Parameter.verify|verify} messages.
                             * @param message Parameter message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Form.IParameter, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Parameter message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Form.Parameter.verify|verify} messages.
                             * @param message Parameter message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Form.IParameter, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Parameter message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Parameter
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Form.Parameter;

                            /**
                             * Decodes a Parameter message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Parameter
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Form.Parameter;

                            /**
                             * Verifies a Parameter message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Parameter message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Parameter
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Form.Parameter;

                            /**
                             * Creates a plain object from a Parameter message. Also converts values to other types if specified.
                             * @param message Parameter
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Form.Parameter, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Parameter to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Parameter
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace Parameter {

                            /** Properties of a FillBehavior. */
                            interface IFillBehavior {

                                /** FillBehavior initialPromptFulfillment */
                                initialPromptFulfillment?: (google.cloud.dialogflow.cx.v3beta1.IFulfillment|null);

                                /** FillBehavior repromptEventHandlers */
                                repromptEventHandlers?: (google.cloud.dialogflow.cx.v3beta1.IEventHandler[]|null);
                            }

                            /** Represents a FillBehavior. */
                            class FillBehavior implements IFillBehavior {

                                /**
                                 * Constructs a new FillBehavior.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Form.Parameter.IFillBehavior);

                                /** FillBehavior initialPromptFulfillment. */
                                public initialPromptFulfillment?: (google.cloud.dialogflow.cx.v3beta1.IFulfillment|null);

                                /** FillBehavior repromptEventHandlers. */
                                public repromptEventHandlers: google.cloud.dialogflow.cx.v3beta1.IEventHandler[];

                                /**
                                 * Creates a new FillBehavior instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns FillBehavior instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Form.Parameter.IFillBehavior): google.cloud.dialogflow.cx.v3beta1.Form.Parameter.FillBehavior;

                                /**
                                 * Encodes the specified FillBehavior message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Form.Parameter.FillBehavior.verify|verify} messages.
                                 * @param message FillBehavior message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Form.Parameter.IFillBehavior, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified FillBehavior message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Form.Parameter.FillBehavior.verify|verify} messages.
                                 * @param message FillBehavior message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Form.Parameter.IFillBehavior, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a FillBehavior message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns FillBehavior
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Form.Parameter.FillBehavior;

                                /**
                                 * Decodes a FillBehavior message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns FillBehavior
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Form.Parameter.FillBehavior;

                                /**
                                 * Verifies a FillBehavior message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a FillBehavior message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns FillBehavior
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Form.Parameter.FillBehavior;

                                /**
                                 * Creates a plain object from a FillBehavior message. Also converts values to other types if specified.
                                 * @param message FillBehavior
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Form.Parameter.FillBehavior, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this FillBehavior to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for FillBehavior
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }
                    }

                    /** Properties of an EventHandler. */
                    interface IEventHandler {

                        /** EventHandler name */
                        name?: (string|null);

                        /** EventHandler event */
                        event?: (string|null);

                        /** EventHandler triggerFulfillment */
                        triggerFulfillment?: (google.cloud.dialogflow.cx.v3beta1.IFulfillment|null);

                        /** EventHandler targetPage */
                        targetPage?: (string|null);

                        /** EventHandler targetFlow */
                        targetFlow?: (string|null);

                        /** EventHandler targetPlaybook */
                        targetPlaybook?: (string|null);
                    }

                    /** Represents an EventHandler. */
                    class EventHandler implements IEventHandler {

                        /**
                         * Constructs a new EventHandler.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IEventHandler);

                        /** EventHandler name. */
                        public name: string;

                        /** EventHandler event. */
                        public event: string;

                        /** EventHandler triggerFulfillment. */
                        public triggerFulfillment?: (google.cloud.dialogflow.cx.v3beta1.IFulfillment|null);

                        /** EventHandler targetPage. */
                        public targetPage?: (string|null);

                        /** EventHandler targetFlow. */
                        public targetFlow?: (string|null);

                        /** EventHandler targetPlaybook. */
                        public targetPlaybook?: (string|null);

                        /** EventHandler target. */
                        public target?: ("targetPage"|"targetFlow"|"targetPlaybook");

                        /**
                         * Creates a new EventHandler instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns EventHandler instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IEventHandler): google.cloud.dialogflow.cx.v3beta1.EventHandler;

                        /**
                         * Encodes the specified EventHandler message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.EventHandler.verify|verify} messages.
                         * @param message EventHandler message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IEventHandler, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified EventHandler message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.EventHandler.verify|verify} messages.
                         * @param message EventHandler message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IEventHandler, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an EventHandler message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns EventHandler
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.EventHandler;

                        /**
                         * Decodes an EventHandler message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns EventHandler
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.EventHandler;

                        /**
                         * Verifies an EventHandler message.
                         * @param message Plain 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 EventHandler message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns EventHandler
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.EventHandler;

                        /**
                         * Creates a plain object from an EventHandler message. Also converts values to other types if specified.
                         * @param message EventHandler
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.EventHandler, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this EventHandler to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for EventHandler
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a TransitionRoute. */
                    interface ITransitionRoute {

                        /** TransitionRoute name */
                        name?: (string|null);

                        /** TransitionRoute description */
                        description?: (string|null);

                        /** TransitionRoute intent */
                        intent?: (string|null);

                        /** TransitionRoute condition */
                        condition?: (string|null);

                        /** TransitionRoute triggerFulfillment */
                        triggerFulfillment?: (google.cloud.dialogflow.cx.v3beta1.IFulfillment|null);

                        /** TransitionRoute targetPage */
                        targetPage?: (string|null);

                        /** TransitionRoute targetFlow */
                        targetFlow?: (string|null);
                    }

                    /** Represents a TransitionRoute. */
                    class TransitionRoute implements ITransitionRoute {

                        /**
                         * Constructs a new TransitionRoute.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ITransitionRoute);

                        /** TransitionRoute name. */
                        public name: string;

                        /** TransitionRoute description. */
                        public description: string;

                        /** TransitionRoute intent. */
                        public intent: string;

                        /** TransitionRoute condition. */
                        public condition: string;

                        /** TransitionRoute triggerFulfillment. */
                        public triggerFulfillment?: (google.cloud.dialogflow.cx.v3beta1.IFulfillment|null);

                        /** TransitionRoute targetPage. */
                        public targetPage?: (string|null);

                        /** TransitionRoute targetFlow. */
                        public targetFlow?: (string|null);

                        /** TransitionRoute target. */
                        public target?: ("targetPage"|"targetFlow");

                        /**
                         * Creates a new TransitionRoute instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TransitionRoute instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ITransitionRoute): google.cloud.dialogflow.cx.v3beta1.TransitionRoute;

                        /**
                         * Encodes the specified TransitionRoute message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionRoute.verify|verify} messages.
                         * @param message TransitionRoute message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ITransitionRoute, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TransitionRoute message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionRoute.verify|verify} messages.
                         * @param message TransitionRoute message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ITransitionRoute, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TransitionRoute message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TransitionRoute
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TransitionRoute;

                        /**
                         * Decodes a TransitionRoute message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TransitionRoute
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TransitionRoute;

                        /**
                         * Verifies a TransitionRoute message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TransitionRoute message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TransitionRoute
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TransitionRoute;

                        /**
                         * Creates a plain object from a TransitionRoute message. Also converts values to other types if specified.
                         * @param message TransitionRoute
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TransitionRoute, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TransitionRoute to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TransitionRoute
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListPagesRequest. */
                    interface IListPagesRequest {

                        /** ListPagesRequest parent */
                        parent?: (string|null);

                        /** ListPagesRequest languageCode */
                        languageCode?: (string|null);

                        /** ListPagesRequest pageSize */
                        pageSize?: (number|null);

                        /** ListPagesRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListPagesRequest. */
                    class ListPagesRequest implements IListPagesRequest {

                        /**
                         * Constructs a new ListPagesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListPagesRequest);

                        /** ListPagesRequest parent. */
                        public parent: string;

                        /** ListPagesRequest languageCode. */
                        public languageCode: string;

                        /** ListPagesRequest pageSize. */
                        public pageSize: number;

                        /** ListPagesRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListPagesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListPagesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListPagesRequest): google.cloud.dialogflow.cx.v3beta1.ListPagesRequest;

                        /**
                         * Encodes the specified ListPagesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListPagesRequest.verify|verify} messages.
                         * @param message ListPagesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListPagesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListPagesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListPagesRequest.verify|verify} messages.
                         * @param message ListPagesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListPagesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListPagesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListPagesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListPagesRequest;

                        /**
                         * Decodes a ListPagesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListPagesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListPagesRequest;

                        /**
                         * Verifies a ListPagesRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListPagesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListPagesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListPagesRequest;

                        /**
                         * Creates a plain object from a ListPagesRequest message. Also converts values to other types if specified.
                         * @param message ListPagesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListPagesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListPagesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListPagesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListPagesResponse. */
                    interface IListPagesResponse {

                        /** ListPagesResponse pages */
                        pages?: (google.cloud.dialogflow.cx.v3beta1.IPage[]|null);

                        /** ListPagesResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListPagesResponse. */
                    class ListPagesResponse implements IListPagesResponse {

                        /**
                         * Constructs a new ListPagesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListPagesResponse);

                        /** ListPagesResponse pages. */
                        public pages: google.cloud.dialogflow.cx.v3beta1.IPage[];

                        /** ListPagesResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListPagesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListPagesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListPagesResponse): google.cloud.dialogflow.cx.v3beta1.ListPagesResponse;

                        /**
                         * Encodes the specified ListPagesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListPagesResponse.verify|verify} messages.
                         * @param message ListPagesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListPagesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListPagesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListPagesResponse.verify|verify} messages.
                         * @param message ListPagesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListPagesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListPagesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListPagesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListPagesResponse;

                        /**
                         * Decodes a ListPagesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListPagesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListPagesResponse;

                        /**
                         * Verifies a ListPagesResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListPagesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListPagesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListPagesResponse;

                        /**
                         * Creates a plain object from a ListPagesResponse message. Also converts values to other types if specified.
                         * @param message ListPagesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListPagesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListPagesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListPagesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetPageRequest. */
                    interface IGetPageRequest {

                        /** GetPageRequest name */
                        name?: (string|null);

                        /** GetPageRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetPageRequest. */
                    class GetPageRequest implements IGetPageRequest {

                        /**
                         * Constructs a new GetPageRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetPageRequest);

                        /** GetPageRequest name. */
                        public name: string;

                        /** GetPageRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetPageRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetPageRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetPageRequest): google.cloud.dialogflow.cx.v3beta1.GetPageRequest;

                        /**
                         * Encodes the specified GetPageRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetPageRequest.verify|verify} messages.
                         * @param message GetPageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetPageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetPageRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetPageRequest.verify|verify} messages.
                         * @param message GetPageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetPageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetPageRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetPageRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetPageRequest;

                        /**
                         * Decodes a GetPageRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetPageRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetPageRequest;

                        /**
                         * Verifies a GetPageRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetPageRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetPageRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetPageRequest;

                        /**
                         * Creates a plain object from a GetPageRequest message. Also converts values to other types if specified.
                         * @param message GetPageRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetPageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetPageRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetPageRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreatePageRequest. */
                    interface ICreatePageRequest {

                        /** CreatePageRequest parent */
                        parent?: (string|null);

                        /** CreatePageRequest page */
                        page?: (google.cloud.dialogflow.cx.v3beta1.IPage|null);

                        /** CreatePageRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a CreatePageRequest. */
                    class CreatePageRequest implements ICreatePageRequest {

                        /**
                         * Constructs a new CreatePageRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreatePageRequest);

                        /** CreatePageRequest parent. */
                        public parent: string;

                        /** CreatePageRequest page. */
                        public page?: (google.cloud.dialogflow.cx.v3beta1.IPage|null);

                        /** CreatePageRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new CreatePageRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreatePageRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreatePageRequest): google.cloud.dialogflow.cx.v3beta1.CreatePageRequest;

                        /**
                         * Encodes the specified CreatePageRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreatePageRequest.verify|verify} messages.
                         * @param message CreatePageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreatePageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreatePageRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreatePageRequest.verify|verify} messages.
                         * @param message CreatePageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreatePageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreatePageRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreatePageRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreatePageRequest;

                        /**
                         * Decodes a CreatePageRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreatePageRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreatePageRequest;

                        /**
                         * Verifies a CreatePageRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreatePageRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreatePageRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreatePageRequest;

                        /**
                         * Creates a plain object from a CreatePageRequest message. Also converts values to other types if specified.
                         * @param message CreatePageRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreatePageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreatePageRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreatePageRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdatePageRequest. */
                    interface IUpdatePageRequest {

                        /** UpdatePageRequest page */
                        page?: (google.cloud.dialogflow.cx.v3beta1.IPage|null);

                        /** UpdatePageRequest languageCode */
                        languageCode?: (string|null);

                        /** UpdatePageRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdatePageRequest. */
                    class UpdatePageRequest implements IUpdatePageRequest {

                        /**
                         * Constructs a new UpdatePageRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdatePageRequest);

                        /** UpdatePageRequest page. */
                        public page?: (google.cloud.dialogflow.cx.v3beta1.IPage|null);

                        /** UpdatePageRequest languageCode. */
                        public languageCode: string;

                        /** UpdatePageRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdatePageRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdatePageRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdatePageRequest): google.cloud.dialogflow.cx.v3beta1.UpdatePageRequest;

                        /**
                         * Encodes the specified UpdatePageRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdatePageRequest.verify|verify} messages.
                         * @param message UpdatePageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdatePageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdatePageRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdatePageRequest.verify|verify} messages.
                         * @param message UpdatePageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdatePageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdatePageRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdatePageRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdatePageRequest;

                        /**
                         * Decodes an UpdatePageRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdatePageRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdatePageRequest;

                        /**
                         * Verifies an UpdatePageRequest message.
                         * @param message Plain 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 UpdatePageRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdatePageRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdatePageRequest;

                        /**
                         * Creates a plain object from an UpdatePageRequest message. Also converts values to other types if specified.
                         * @param message UpdatePageRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdatePageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdatePageRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdatePageRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeletePageRequest. */
                    interface IDeletePageRequest {

                        /** DeletePageRequest name */
                        name?: (string|null);

                        /** DeletePageRequest force */
                        force?: (boolean|null);
                    }

                    /** Represents a DeletePageRequest. */
                    class DeletePageRequest implements IDeletePageRequest {

                        /**
                         * Constructs a new DeletePageRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeletePageRequest);

                        /** DeletePageRequest name. */
                        public name: string;

                        /** DeletePageRequest force. */
                        public force: boolean;

                        /**
                         * Creates a new DeletePageRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeletePageRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeletePageRequest): google.cloud.dialogflow.cx.v3beta1.DeletePageRequest;

                        /**
                         * Encodes the specified DeletePageRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeletePageRequest.verify|verify} messages.
                         * @param message DeletePageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeletePageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeletePageRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeletePageRequest.verify|verify} messages.
                         * @param message DeletePageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeletePageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeletePageRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeletePageRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeletePageRequest;

                        /**
                         * Decodes a DeletePageRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeletePageRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeletePageRequest;

                        /**
                         * Verifies a DeletePageRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeletePageRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeletePageRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeletePageRequest;

                        /**
                         * Creates a plain object from a DeletePageRequest message. Also converts values to other types if specified.
                         * @param message DeletePageRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeletePageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeletePageRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeletePageRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a KnowledgeConnectorSettings. */
                    interface IKnowledgeConnectorSettings {

                        /** KnowledgeConnectorSettings enabled */
                        enabled?: (boolean|null);

                        /** KnowledgeConnectorSettings triggerFulfillment */
                        triggerFulfillment?: (google.cloud.dialogflow.cx.v3beta1.IFulfillment|null);

                        /** KnowledgeConnectorSettings targetPage */
                        targetPage?: (string|null);

                        /** KnowledgeConnectorSettings targetFlow */
                        targetFlow?: (string|null);

                        /** KnowledgeConnectorSettings dataStoreConnections */
                        dataStoreConnections?: (google.cloud.dialogflow.cx.v3beta1.IDataStoreConnection[]|null);
                    }

                    /** Represents a KnowledgeConnectorSettings. */
                    class KnowledgeConnectorSettings implements IKnowledgeConnectorSettings {

                        /**
                         * Constructs a new KnowledgeConnectorSettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IKnowledgeConnectorSettings);

                        /** KnowledgeConnectorSettings enabled. */
                        public enabled: boolean;

                        /** KnowledgeConnectorSettings triggerFulfillment. */
                        public triggerFulfillment?: (google.cloud.dialogflow.cx.v3beta1.IFulfillment|null);

                        /** KnowledgeConnectorSettings targetPage. */
                        public targetPage?: (string|null);

                        /** KnowledgeConnectorSettings targetFlow. */
                        public targetFlow?: (string|null);

                        /** KnowledgeConnectorSettings dataStoreConnections. */
                        public dataStoreConnections: google.cloud.dialogflow.cx.v3beta1.IDataStoreConnection[];

                        /** KnowledgeConnectorSettings target. */
                        public target?: ("targetPage"|"targetFlow");

                        /**
                         * Creates a new KnowledgeConnectorSettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns KnowledgeConnectorSettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IKnowledgeConnectorSettings): google.cloud.dialogflow.cx.v3beta1.KnowledgeConnectorSettings;

                        /**
                         * Encodes the specified KnowledgeConnectorSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.KnowledgeConnectorSettings.verify|verify} messages.
                         * @param message KnowledgeConnectorSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IKnowledgeConnectorSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified KnowledgeConnectorSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.KnowledgeConnectorSettings.verify|verify} messages.
                         * @param message KnowledgeConnectorSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IKnowledgeConnectorSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a KnowledgeConnectorSettings message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns KnowledgeConnectorSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.KnowledgeConnectorSettings;

                        /**
                         * Decodes a KnowledgeConnectorSettings message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns KnowledgeConnectorSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.KnowledgeConnectorSettings;

                        /**
                         * Verifies a KnowledgeConnectorSettings message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a KnowledgeConnectorSettings message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns KnowledgeConnectorSettings
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.KnowledgeConnectorSettings;

                        /**
                         * Creates a plain object from a KnowledgeConnectorSettings message. Also converts values to other types if specified.
                         * @param message KnowledgeConnectorSettings
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.KnowledgeConnectorSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this KnowledgeConnectorSettings to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for KnowledgeConnectorSettings
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DataStoreConnection. */
                    interface IDataStoreConnection {

                        /** DataStoreConnection dataStoreType */
                        dataStoreType?: (google.cloud.dialogflow.cx.v3beta1.DataStoreType|keyof typeof google.cloud.dialogflow.cx.v3beta1.DataStoreType|null);

                        /** DataStoreConnection dataStore */
                        dataStore?: (string|null);

                        /** DataStoreConnection documentProcessingMode */
                        documentProcessingMode?: (google.cloud.dialogflow.cx.v3beta1.DocumentProcessingMode|keyof typeof google.cloud.dialogflow.cx.v3beta1.DocumentProcessingMode|null);
                    }

                    /** Represents a DataStoreConnection. */
                    class DataStoreConnection implements IDataStoreConnection {

                        /**
                         * Constructs a new DataStoreConnection.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDataStoreConnection);

                        /** DataStoreConnection dataStoreType. */
                        public dataStoreType: (google.cloud.dialogflow.cx.v3beta1.DataStoreType|keyof typeof google.cloud.dialogflow.cx.v3beta1.DataStoreType);

                        /** DataStoreConnection dataStore. */
                        public dataStore: string;

                        /** DataStoreConnection documentProcessingMode. */
                        public documentProcessingMode: (google.cloud.dialogflow.cx.v3beta1.DocumentProcessingMode|keyof typeof google.cloud.dialogflow.cx.v3beta1.DocumentProcessingMode);

                        /**
                         * Creates a new DataStoreConnection instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DataStoreConnection instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDataStoreConnection): google.cloud.dialogflow.cx.v3beta1.DataStoreConnection;

                        /**
                         * Encodes the specified DataStoreConnection message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnection.verify|verify} messages.
                         * @param message DataStoreConnection message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDataStoreConnection, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DataStoreConnection message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnection.verify|verify} messages.
                         * @param message DataStoreConnection message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDataStoreConnection, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DataStoreConnection message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DataStoreConnection
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DataStoreConnection;

                        /**
                         * Decodes a DataStoreConnection message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DataStoreConnection
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DataStoreConnection;

                        /**
                         * Verifies a DataStoreConnection message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DataStoreConnection message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DataStoreConnection
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DataStoreConnection;

                        /**
                         * Creates a plain object from a DataStoreConnection message. Also converts values to other types if specified.
                         * @param message DataStoreConnection
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnection, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DataStoreConnection to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DataStoreConnection
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DataStoreConnectionSignals. */
                    interface IDataStoreConnectionSignals {

                        /** DataStoreConnectionSignals rewriterModelCallSignals */
                        rewriterModelCallSignals?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IRewriterModelCallSignals|null);

                        /** DataStoreConnectionSignals rewrittenQuery */
                        rewrittenQuery?: (string|null);

                        /** DataStoreConnectionSignals searchSnippets */
                        searchSnippets?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ISearchSnippet[]|null);

                        /** DataStoreConnectionSignals answerGenerationModelCallSignals */
                        answerGenerationModelCallSignals?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IAnswerGenerationModelCallSignals|null);

                        /** DataStoreConnectionSignals answer */
                        answer?: (string|null);

                        /** DataStoreConnectionSignals answerParts */
                        answerParts?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IAnswerPart[]|null);

                        /** DataStoreConnectionSignals citedSnippets */
                        citedSnippets?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ICitedSnippet[]|null);

                        /** DataStoreConnectionSignals groundingSignals */
                        groundingSignals?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IGroundingSignals|null);

                        /** DataStoreConnectionSignals safetySignals */
                        safetySignals?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ISafetySignals|null);
                    }

                    /** Represents a DataStoreConnectionSignals. */
                    class DataStoreConnectionSignals implements IDataStoreConnectionSignals {

                        /**
                         * Constructs a new DataStoreConnectionSignals.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDataStoreConnectionSignals);

                        /** DataStoreConnectionSignals rewriterModelCallSignals. */
                        public rewriterModelCallSignals?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IRewriterModelCallSignals|null);

                        /** DataStoreConnectionSignals rewrittenQuery. */
                        public rewrittenQuery: string;

                        /** DataStoreConnectionSignals searchSnippets. */
                        public searchSnippets: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ISearchSnippet[];

                        /** DataStoreConnectionSignals answerGenerationModelCallSignals. */
                        public answerGenerationModelCallSignals?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IAnswerGenerationModelCallSignals|null);

                        /** DataStoreConnectionSignals answer. */
                        public answer: string;

                        /** DataStoreConnectionSignals answerParts. */
                        public answerParts: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IAnswerPart[];

                        /** DataStoreConnectionSignals citedSnippets. */
                        public citedSnippets: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ICitedSnippet[];

                        /** DataStoreConnectionSignals groundingSignals. */
                        public groundingSignals?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IGroundingSignals|null);

                        /** DataStoreConnectionSignals safetySignals. */
                        public safetySignals?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ISafetySignals|null);

                        /**
                         * Creates a new DataStoreConnectionSignals instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DataStoreConnectionSignals instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDataStoreConnectionSignals): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals;

                        /**
                         * Encodes the specified DataStoreConnectionSignals message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.verify|verify} messages.
                         * @param message DataStoreConnectionSignals message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDataStoreConnectionSignals, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DataStoreConnectionSignals message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.verify|verify} messages.
                         * @param message DataStoreConnectionSignals message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDataStoreConnectionSignals, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DataStoreConnectionSignals message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DataStoreConnectionSignals
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals;

                        /**
                         * Decodes a DataStoreConnectionSignals message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DataStoreConnectionSignals
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals;

                        /**
                         * Verifies a DataStoreConnectionSignals message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DataStoreConnectionSignals message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DataStoreConnectionSignals
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals;

                        /**
                         * Creates a plain object from a DataStoreConnectionSignals message. Also converts values to other types if specified.
                         * @param message DataStoreConnectionSignals
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DataStoreConnectionSignals to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DataStoreConnectionSignals
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace DataStoreConnectionSignals {

                        /** Properties of a RewriterModelCallSignals. */
                        interface IRewriterModelCallSignals {

                            /** RewriterModelCallSignals renderedPrompt */
                            renderedPrompt?: (string|null);

                            /** RewriterModelCallSignals modelOutput */
                            modelOutput?: (string|null);

                            /** RewriterModelCallSignals model */
                            model?: (string|null);
                        }

                        /** Represents a RewriterModelCallSignals. */
                        class RewriterModelCallSignals implements IRewriterModelCallSignals {

                            /**
                             * Constructs a new RewriterModelCallSignals.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IRewriterModelCallSignals);

                            /** RewriterModelCallSignals renderedPrompt. */
                            public renderedPrompt: string;

                            /** RewriterModelCallSignals modelOutput. */
                            public modelOutput: string;

                            /** RewriterModelCallSignals model. */
                            public model: string;

                            /**
                             * Creates a new RewriterModelCallSignals instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns RewriterModelCallSignals instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IRewriterModelCallSignals): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.RewriterModelCallSignals;

                            /**
                             * Encodes the specified RewriterModelCallSignals message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.RewriterModelCallSignals.verify|verify} messages.
                             * @param message RewriterModelCallSignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IRewriterModelCallSignals, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified RewriterModelCallSignals message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.RewriterModelCallSignals.verify|verify} messages.
                             * @param message RewriterModelCallSignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IRewriterModelCallSignals, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a RewriterModelCallSignals message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns RewriterModelCallSignals
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.RewriterModelCallSignals;

                            /**
                             * Decodes a RewriterModelCallSignals message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns RewriterModelCallSignals
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.RewriterModelCallSignals;

                            /**
                             * Verifies a RewriterModelCallSignals message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a RewriterModelCallSignals message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns RewriterModelCallSignals
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.RewriterModelCallSignals;

                            /**
                             * Creates a plain object from a RewriterModelCallSignals message. Also converts values to other types if specified.
                             * @param message RewriterModelCallSignals
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.RewriterModelCallSignals, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this RewriterModelCallSignals to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for RewriterModelCallSignals
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a SearchSnippet. */
                        interface ISearchSnippet {

                            /** SearchSnippet documentTitle */
                            documentTitle?: (string|null);

                            /** SearchSnippet documentUri */
                            documentUri?: (string|null);

                            /** SearchSnippet text */
                            text?: (string|null);
                        }

                        /** Represents a SearchSnippet. */
                        class SearchSnippet implements ISearchSnippet {

                            /**
                             * Constructs a new SearchSnippet.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ISearchSnippet);

                            /** SearchSnippet documentTitle. */
                            public documentTitle: string;

                            /** SearchSnippet documentUri. */
                            public documentUri: string;

                            /** SearchSnippet text. */
                            public text: string;

                            /**
                             * Creates a new SearchSnippet instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns SearchSnippet instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ISearchSnippet): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SearchSnippet;

                            /**
                             * Encodes the specified SearchSnippet message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SearchSnippet.verify|verify} messages.
                             * @param message SearchSnippet message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ISearchSnippet, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified SearchSnippet message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SearchSnippet.verify|verify} messages.
                             * @param message SearchSnippet message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ISearchSnippet, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a SearchSnippet message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns SearchSnippet
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SearchSnippet;

                            /**
                             * Decodes a SearchSnippet message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns SearchSnippet
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SearchSnippet;

                            /**
                             * Verifies a SearchSnippet message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a SearchSnippet message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns SearchSnippet
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SearchSnippet;

                            /**
                             * Creates a plain object from a SearchSnippet message. Also converts values to other types if specified.
                             * @param message SearchSnippet
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SearchSnippet, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this SearchSnippet to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for SearchSnippet
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of an AnswerGenerationModelCallSignals. */
                        interface IAnswerGenerationModelCallSignals {

                            /** AnswerGenerationModelCallSignals renderedPrompt */
                            renderedPrompt?: (string|null);

                            /** AnswerGenerationModelCallSignals modelOutput */
                            modelOutput?: (string|null);

                            /** AnswerGenerationModelCallSignals model */
                            model?: (string|null);
                        }

                        /** Represents an AnswerGenerationModelCallSignals. */
                        class AnswerGenerationModelCallSignals implements IAnswerGenerationModelCallSignals {

                            /**
                             * Constructs a new AnswerGenerationModelCallSignals.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IAnswerGenerationModelCallSignals);

                            /** AnswerGenerationModelCallSignals renderedPrompt. */
                            public renderedPrompt: string;

                            /** AnswerGenerationModelCallSignals modelOutput. */
                            public modelOutput: string;

                            /** AnswerGenerationModelCallSignals model. */
                            public model: string;

                            /**
                             * Creates a new AnswerGenerationModelCallSignals instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns AnswerGenerationModelCallSignals instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IAnswerGenerationModelCallSignals): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.AnswerGenerationModelCallSignals;

                            /**
                             * Encodes the specified AnswerGenerationModelCallSignals message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.AnswerGenerationModelCallSignals.verify|verify} messages.
                             * @param message AnswerGenerationModelCallSignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IAnswerGenerationModelCallSignals, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified AnswerGenerationModelCallSignals message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.AnswerGenerationModelCallSignals.verify|verify} messages.
                             * @param message AnswerGenerationModelCallSignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IAnswerGenerationModelCallSignals, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an AnswerGenerationModelCallSignals message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns AnswerGenerationModelCallSignals
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.AnswerGenerationModelCallSignals;

                            /**
                             * Decodes an AnswerGenerationModelCallSignals message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns AnswerGenerationModelCallSignals
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.AnswerGenerationModelCallSignals;

                            /**
                             * Verifies an AnswerGenerationModelCallSignals message.
                             * @param message Plain 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 AnswerGenerationModelCallSignals message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns AnswerGenerationModelCallSignals
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.AnswerGenerationModelCallSignals;

                            /**
                             * Creates a plain object from an AnswerGenerationModelCallSignals message. Also converts values to other types if specified.
                             * @param message AnswerGenerationModelCallSignals
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.AnswerGenerationModelCallSignals, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this AnswerGenerationModelCallSignals to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for AnswerGenerationModelCallSignals
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of an AnswerPart. */
                        interface IAnswerPart {

                            /** AnswerPart text */
                            text?: (string|null);

                            /** AnswerPart supportingIndices */
                            supportingIndices?: (number[]|null);
                        }

                        /** Represents an AnswerPart. */
                        class AnswerPart implements IAnswerPart {

                            /**
                             * Constructs a new AnswerPart.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IAnswerPart);

                            /** AnswerPart text. */
                            public text: string;

                            /** AnswerPart supportingIndices. */
                            public supportingIndices: number[];

                            /**
                             * Creates a new AnswerPart instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns AnswerPart instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IAnswerPart): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.AnswerPart;

                            /**
                             * Encodes the specified AnswerPart message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.AnswerPart.verify|verify} messages.
                             * @param message AnswerPart message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IAnswerPart, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified AnswerPart message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.AnswerPart.verify|verify} messages.
                             * @param message AnswerPart message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IAnswerPart, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an AnswerPart message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns AnswerPart
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.AnswerPart;

                            /**
                             * Decodes an AnswerPart message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns AnswerPart
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.AnswerPart;

                            /**
                             * Verifies an AnswerPart message.
                             * @param message Plain 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 AnswerPart message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns AnswerPart
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.AnswerPart;

                            /**
                             * Creates a plain object from an AnswerPart message. Also converts values to other types if specified.
                             * @param message AnswerPart
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.AnswerPart, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this AnswerPart to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for AnswerPart
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a CitedSnippet. */
                        interface ICitedSnippet {

                            /** CitedSnippet searchSnippet */
                            searchSnippet?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ISearchSnippet|null);

                            /** CitedSnippet snippetIndex */
                            snippetIndex?: (number|null);
                        }

                        /** Represents a CitedSnippet. */
                        class CitedSnippet implements ICitedSnippet {

                            /**
                             * Constructs a new CitedSnippet.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ICitedSnippet);

                            /** CitedSnippet searchSnippet. */
                            public searchSnippet?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ISearchSnippet|null);

                            /** CitedSnippet snippetIndex. */
                            public snippetIndex: number;

                            /**
                             * Creates a new CitedSnippet instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns CitedSnippet instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ICitedSnippet): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.CitedSnippet;

                            /**
                             * Encodes the specified CitedSnippet message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.CitedSnippet.verify|verify} messages.
                             * @param message CitedSnippet message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ICitedSnippet, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified CitedSnippet message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.CitedSnippet.verify|verify} messages.
                             * @param message CitedSnippet message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ICitedSnippet, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a CitedSnippet message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns CitedSnippet
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.CitedSnippet;

                            /**
                             * Decodes a CitedSnippet message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns CitedSnippet
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.CitedSnippet;

                            /**
                             * Verifies a CitedSnippet message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a CitedSnippet message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns CitedSnippet
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.CitedSnippet;

                            /**
                             * Creates a plain object from a CitedSnippet message. Also converts values to other types if specified.
                             * @param message CitedSnippet
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.CitedSnippet, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this CitedSnippet to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for CitedSnippet
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a GroundingSignals. */
                        interface IGroundingSignals {

                            /** GroundingSignals decision */
                            decision?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.GroundingSignals.GroundingDecision|keyof typeof google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.GroundingSignals.GroundingDecision|null);

                            /** GroundingSignals score */
                            score?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.GroundingSignals.GroundingScoreBucket|keyof typeof google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.GroundingSignals.GroundingScoreBucket|null);
                        }

                        /** Represents a GroundingSignals. */
                        class GroundingSignals implements IGroundingSignals {

                            /**
                             * Constructs a new GroundingSignals.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IGroundingSignals);

                            /** GroundingSignals decision. */
                            public decision: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.GroundingSignals.GroundingDecision|keyof typeof google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.GroundingSignals.GroundingDecision);

                            /** GroundingSignals score. */
                            public score: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.GroundingSignals.GroundingScoreBucket|keyof typeof google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.GroundingSignals.GroundingScoreBucket);

                            /**
                             * Creates a new GroundingSignals instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns GroundingSignals instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IGroundingSignals): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.GroundingSignals;

                            /**
                             * Encodes the specified GroundingSignals message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.GroundingSignals.verify|verify} messages.
                             * @param message GroundingSignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IGroundingSignals, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified GroundingSignals message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.GroundingSignals.verify|verify} messages.
                             * @param message GroundingSignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.IGroundingSignals, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a GroundingSignals message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns GroundingSignals
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.GroundingSignals;

                            /**
                             * Decodes a GroundingSignals message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns GroundingSignals
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.GroundingSignals;

                            /**
                             * Verifies a GroundingSignals message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a GroundingSignals message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns GroundingSignals
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.GroundingSignals;

                            /**
                             * Creates a plain object from a GroundingSignals message. Also converts values to other types if specified.
                             * @param message GroundingSignals
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.GroundingSignals, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this GroundingSignals to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for GroundingSignals
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace GroundingSignals {

                            /** GroundingDecision enum. */
                            enum GroundingDecision {
                                GROUNDING_DECISION_UNSPECIFIED = 0,
                                ACCEPTED_BY_GROUNDING = 1,
                                REJECTED_BY_GROUNDING = 2
                            }

                            /** GroundingScoreBucket enum. */
                            enum GroundingScoreBucket {
                                GROUNDING_SCORE_BUCKET_UNSPECIFIED = 0,
                                VERY_LOW = 1,
                                LOW = 3,
                                MEDIUM = 4,
                                HIGH = 5,
                                VERY_HIGH = 6
                            }
                        }

                        /** Properties of a SafetySignals. */
                        interface ISafetySignals {

                            /** SafetySignals decision */
                            decision?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SafetySignals.SafetyDecision|keyof typeof google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SafetySignals.SafetyDecision|null);

                            /** SafetySignals bannedPhraseMatch */
                            bannedPhraseMatch?: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SafetySignals.BannedPhraseMatch|keyof typeof google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SafetySignals.BannedPhraseMatch|null);

                            /** SafetySignals matchedBannedPhrase */
                            matchedBannedPhrase?: (string|null);
                        }

                        /** Represents a SafetySignals. */
                        class SafetySignals implements ISafetySignals {

                            /**
                             * Constructs a new SafetySignals.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ISafetySignals);

                            /** SafetySignals decision. */
                            public decision: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SafetySignals.SafetyDecision|keyof typeof google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SafetySignals.SafetyDecision);

                            /** SafetySignals bannedPhraseMatch. */
                            public bannedPhraseMatch: (google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SafetySignals.BannedPhraseMatch|keyof typeof google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SafetySignals.BannedPhraseMatch);

                            /** SafetySignals matchedBannedPhrase. */
                            public matchedBannedPhrase: string;

                            /**
                             * Creates a new SafetySignals instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns SafetySignals instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ISafetySignals): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SafetySignals;

                            /**
                             * Encodes the specified SafetySignals message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SafetySignals.verify|verify} messages.
                             * @param message SafetySignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ISafetySignals, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified SafetySignals message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SafetySignals.verify|verify} messages.
                             * @param message SafetySignals message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.ISafetySignals, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a SafetySignals message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns SafetySignals
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SafetySignals;

                            /**
                             * Decodes a SafetySignals message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns SafetySignals
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SafetySignals;

                            /**
                             * Verifies a SafetySignals message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a SafetySignals message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns SafetySignals
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SafetySignals;

                            /**
                             * Creates a plain object from a SafetySignals message. Also converts values to other types if specified.
                             * @param message SafetySignals
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DataStoreConnectionSignals.SafetySignals, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this SafetySignals to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for SafetySignals
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace SafetySignals {

                            /** SafetyDecision enum. */
                            enum SafetyDecision {
                                SAFETY_DECISION_UNSPECIFIED = 0,
                                ACCEPTED_BY_SAFETY_CHECK = 1,
                                REJECTED_BY_SAFETY_CHECK = 2
                            }

                            /** BannedPhraseMatch enum. */
                            enum BannedPhraseMatch {
                                BANNED_PHRASE_MATCH_UNSPECIFIED = 0,
                                BANNED_PHRASE_MATCH_NONE = 1,
                                BANNED_PHRASE_MATCH_QUERY = 2,
                                BANNED_PHRASE_MATCH_RESPONSE = 3
                            }
                        }
                    }

                    /** DataStoreType enum. */
                    enum DataStoreType {
                        DATA_STORE_TYPE_UNSPECIFIED = 0,
                        PUBLIC_WEB = 1,
                        UNSTRUCTURED = 2,
                        STRUCTURED = 3
                    }

                    /** DocumentProcessingMode enum. */
                    enum DocumentProcessingMode {
                        DOCUMENT_PROCESSING_MODE_UNSPECIFIED = 0,
                        DOCUMENTS = 1,
                        CHUNKS = 2
                    }

                    /** Properties of a Fulfillment. */
                    interface IFulfillment {

                        /** Fulfillment messages */
                        messages?: (google.cloud.dialogflow.cx.v3beta1.IResponseMessage[]|null);

                        /** Fulfillment webhook */
                        webhook?: (string|null);

                        /** Fulfillment returnPartialResponses */
                        returnPartialResponses?: (boolean|null);

                        /** Fulfillment tag */
                        tag?: (string|null);

                        /** Fulfillment setParameterActions */
                        setParameterActions?: (google.cloud.dialogflow.cx.v3beta1.Fulfillment.ISetParameterAction[]|null);

                        /** Fulfillment conditionalCases */
                        conditionalCases?: (google.cloud.dialogflow.cx.v3beta1.Fulfillment.IConditionalCases[]|null);

                        /** Fulfillment advancedSettings */
                        advancedSettings?: (google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings|null);

                        /** Fulfillment enableGenerativeFallback */
                        enableGenerativeFallback?: (boolean|null);
                    }

                    /** Represents a Fulfillment. */
                    class Fulfillment implements IFulfillment {

                        /**
                         * Constructs a new Fulfillment.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IFulfillment);

                        /** Fulfillment messages. */
                        public messages: google.cloud.dialogflow.cx.v3beta1.IResponseMessage[];

                        /** Fulfillment webhook. */
                        public webhook: string;

                        /** Fulfillment returnPartialResponses. */
                        public returnPartialResponses: boolean;

                        /** Fulfillment tag. */
                        public tag: string;

                        /** Fulfillment setParameterActions. */
                        public setParameterActions: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ISetParameterAction[];

                        /** Fulfillment conditionalCases. */
                        public conditionalCases: google.cloud.dialogflow.cx.v3beta1.Fulfillment.IConditionalCases[];

                        /** Fulfillment advancedSettings. */
                        public advancedSettings?: (google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings|null);

                        /** Fulfillment enableGenerativeFallback. */
                        public enableGenerativeFallback: boolean;

                        /**
                         * Creates a new Fulfillment instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Fulfillment instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IFulfillment): google.cloud.dialogflow.cx.v3beta1.Fulfillment;

                        /**
                         * Encodes the specified Fulfillment message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Fulfillment.verify|verify} messages.
                         * @param message Fulfillment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IFulfillment, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Fulfillment message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Fulfillment.verify|verify} messages.
                         * @param message Fulfillment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IFulfillment, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Fulfillment message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Fulfillment
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Fulfillment;

                        /**
                         * Decodes a Fulfillment message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Fulfillment
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Fulfillment;

                        /**
                         * Verifies a Fulfillment message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Fulfillment message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Fulfillment
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Fulfillment;

                        /**
                         * Creates a plain object from a Fulfillment message. Also converts values to other types if specified.
                         * @param message Fulfillment
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Fulfillment, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Fulfillment to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Fulfillment
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Fulfillment {

                        /** Properties of a SetParameterAction. */
                        interface ISetParameterAction {

                            /** SetParameterAction parameter */
                            parameter?: (string|null);

                            /** SetParameterAction value */
                            value?: (google.protobuf.IValue|null);
                        }

                        /** Represents a SetParameterAction. */
                        class SetParameterAction implements ISetParameterAction {

                            /**
                             * Constructs a new SetParameterAction.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ISetParameterAction);

                            /** SetParameterAction parameter. */
                            public parameter: string;

                            /** SetParameterAction value. */
                            public value?: (google.protobuf.IValue|null);

                            /**
                             * Creates a new SetParameterAction instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns SetParameterAction instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ISetParameterAction): google.cloud.dialogflow.cx.v3beta1.Fulfillment.SetParameterAction;

                            /**
                             * Encodes the specified SetParameterAction message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Fulfillment.SetParameterAction.verify|verify} messages.
                             * @param message SetParameterAction message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ISetParameterAction, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified SetParameterAction message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Fulfillment.SetParameterAction.verify|verify} messages.
                             * @param message SetParameterAction message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ISetParameterAction, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a SetParameterAction message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns SetParameterAction
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Fulfillment.SetParameterAction;

                            /**
                             * Decodes a SetParameterAction message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns SetParameterAction
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Fulfillment.SetParameterAction;

                            /**
                             * Verifies a SetParameterAction message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a SetParameterAction message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns SetParameterAction
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Fulfillment.SetParameterAction;

                            /**
                             * Creates a plain object from a SetParameterAction message. Also converts values to other types if specified.
                             * @param message SetParameterAction
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Fulfillment.SetParameterAction, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this SetParameterAction to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for SetParameterAction
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a ConditionalCases. */
                        interface IConditionalCases {

                            /** ConditionalCases cases */
                            cases?: (google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.ICase[]|null);
                        }

                        /** Represents a ConditionalCases. */
                        class ConditionalCases implements IConditionalCases {

                            /**
                             * Constructs a new ConditionalCases.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Fulfillment.IConditionalCases);

                            /** ConditionalCases cases. */
                            public cases: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.ICase[];

                            /**
                             * Creates a new ConditionalCases instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ConditionalCases instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Fulfillment.IConditionalCases): google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases;

                            /**
                             * Encodes the specified ConditionalCases message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.verify|verify} messages.
                             * @param message ConditionalCases message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Fulfillment.IConditionalCases, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ConditionalCases message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.verify|verify} messages.
                             * @param message ConditionalCases message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Fulfillment.IConditionalCases, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ConditionalCases message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ConditionalCases
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases;

                            /**
                             * Decodes a ConditionalCases message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ConditionalCases
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases;

                            /**
                             * Verifies a ConditionalCases message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ConditionalCases message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ConditionalCases
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases;

                            /**
                             * Creates a plain object from a ConditionalCases message. Also converts values to other types if specified.
                             * @param message ConditionalCases
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ConditionalCases to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ConditionalCases
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace ConditionalCases {

                            /** Properties of a Case. */
                            interface ICase {

                                /** Case condition */
                                condition?: (string|null);

                                /** Case caseContent */
                                caseContent?: (google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case.ICaseContent[]|null);
                            }

                            /** Represents a Case. */
                            class Case implements ICase {

                                /**
                                 * Constructs a new Case.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.ICase);

                                /** Case condition. */
                                public condition: string;

                                /** Case caseContent. */
                                public caseContent: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case.ICaseContent[];

                                /**
                                 * Creates a new Case instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns Case instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.ICase): google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case;

                                /**
                                 * Encodes the specified Case message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case.verify|verify} messages.
                                 * @param message Case message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.ICase, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified Case message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case.verify|verify} messages.
                                 * @param message Case message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.ICase, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a Case message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns Case
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case;

                                /**
                                 * Decodes a Case message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns Case
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case;

                                /**
                                 * Verifies a Case message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a Case message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns Case
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case;

                                /**
                                 * Creates a plain object from a Case message. Also converts values to other types if specified.
                                 * @param message Case
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this Case to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for Case
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            namespace Case {

                                /** Properties of a CaseContent. */
                                interface ICaseContent {

                                    /** CaseContent message */
                                    message?: (google.cloud.dialogflow.cx.v3beta1.IResponseMessage|null);

                                    /** CaseContent additionalCases */
                                    additionalCases?: (google.cloud.dialogflow.cx.v3beta1.Fulfillment.IConditionalCases|null);
                                }

                                /** Represents a CaseContent. */
                                class CaseContent implements ICaseContent {

                                    /**
                                     * Constructs a new CaseContent.
                                     * @param [properties] Properties to set
                                     */
                                    constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case.ICaseContent);

                                    /** CaseContent message. */
                                    public message?: (google.cloud.dialogflow.cx.v3beta1.IResponseMessage|null);

                                    /** CaseContent additionalCases. */
                                    public additionalCases?: (google.cloud.dialogflow.cx.v3beta1.Fulfillment.IConditionalCases|null);

                                    /** CaseContent casesOrMessage. */
                                    public casesOrMessage?: ("message"|"additionalCases");

                                    /**
                                     * Creates a new CaseContent instance using the specified properties.
                                     * @param [properties] Properties to set
                                     * @returns CaseContent instance
                                     */
                                    public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case.ICaseContent): google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case.CaseContent;

                                    /**
                                     * Encodes the specified CaseContent message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case.CaseContent.verify|verify} messages.
                                     * @param message CaseContent message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encode(message: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case.ICaseContent, writer?: $protobuf.Writer): $protobuf.Writer;

                                    /**
                                     * Encodes the specified CaseContent message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case.CaseContent.verify|verify} messages.
                                     * @param message CaseContent message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case.ICaseContent, writer?: $protobuf.Writer): $protobuf.Writer;

                                    /**
                                     * Decodes a CaseContent message from the specified reader or buffer.
                                     * @param reader Reader or buffer to decode from
                                     * @param [length] Message length if known beforehand
                                     * @returns CaseContent
                                     * @throws {Error} If the payload is not a reader or valid buffer
                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                     */
                                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case.CaseContent;

                                    /**
                                     * Decodes a CaseContent message from the specified reader or buffer, length delimited.
                                     * @param reader Reader or buffer to decode from
                                     * @returns CaseContent
                                     * @throws {Error} If the payload is not a reader or valid buffer
                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                     */
                                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case.CaseContent;

                                    /**
                                     * Verifies a CaseContent message.
                                     * @param message Plain object to verify
                                     * @returns `null` if valid, otherwise the reason why it is not
                                     */
                                    public static verify(message: { [k: string]: any }): (string|null);

                                    /**
                                     * Creates a CaseContent message from a plain object. Also converts values to their respective internal types.
                                     * @param object Plain object
                                     * @returns CaseContent
                                     */
                                    public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case.CaseContent;

                                    /**
                                     * Creates a plain object from a CaseContent message. Also converts values to other types if specified.
                                     * @param message CaseContent
                                     * @param [options] Conversion options
                                     * @returns Plain object
                                     */
                                    public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Fulfillment.ConditionalCases.Case.CaseContent, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                    /**
                                     * Converts this CaseContent to JSON.
                                     * @returns JSON object
                                     */
                                    public toJSON(): { [k: string]: any };

                                    /**
                                     * Gets the default type url for CaseContent
                                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                     * @returns The default type url
                                     */
                                    public static getTypeUrl(typeUrlPrefix?: string): string;
                                }
                            }
                        }
                    }

                    /** Properties of a ResponseMessage. */
                    interface IResponseMessage {

                        /** ResponseMessage text */
                        text?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IText|null);

                        /** ResponseMessage payload */
                        payload?: (google.protobuf.IStruct|null);

                        /** ResponseMessage conversationSuccess */
                        conversationSuccess?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IConversationSuccess|null);

                        /** ResponseMessage outputAudioText */
                        outputAudioText?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IOutputAudioText|null);

                        /** ResponseMessage liveAgentHandoff */
                        liveAgentHandoff?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ILiveAgentHandoff|null);

                        /** ResponseMessage endInteraction */
                        endInteraction?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IEndInteraction|null);

                        /** ResponseMessage playAudio */
                        playAudio?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IPlayAudio|null);

                        /** ResponseMessage mixedAudio */
                        mixedAudio?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IMixedAudio|null);

                        /** ResponseMessage telephonyTransferCall */
                        telephonyTransferCall?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ITelephonyTransferCall|null);

                        /** ResponseMessage knowledgeInfoCard */
                        knowledgeInfoCard?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IKnowledgeInfoCard|null);

                        /** ResponseMessage toolCall */
                        toolCall?: (google.cloud.dialogflow.cx.v3beta1.IToolCall|null);

                        /** ResponseMessage channel */
                        channel?: (string|null);
                    }

                    /** Represents a ResponseMessage. */
                    class ResponseMessage implements IResponseMessage {

                        /**
                         * Constructs a new ResponseMessage.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IResponseMessage);

                        /** ResponseMessage text. */
                        public text?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IText|null);

                        /** ResponseMessage payload. */
                        public payload?: (google.protobuf.IStruct|null);

                        /** ResponseMessage conversationSuccess. */
                        public conversationSuccess?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IConversationSuccess|null);

                        /** ResponseMessage outputAudioText. */
                        public outputAudioText?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IOutputAudioText|null);

                        /** ResponseMessage liveAgentHandoff. */
                        public liveAgentHandoff?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ILiveAgentHandoff|null);

                        /** ResponseMessage endInteraction. */
                        public endInteraction?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IEndInteraction|null);

                        /** ResponseMessage playAudio. */
                        public playAudio?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IPlayAudio|null);

                        /** ResponseMessage mixedAudio. */
                        public mixedAudio?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IMixedAudio|null);

                        /** ResponseMessage telephonyTransferCall. */
                        public telephonyTransferCall?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ITelephonyTransferCall|null);

                        /** ResponseMessage knowledgeInfoCard. */
                        public knowledgeInfoCard?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IKnowledgeInfoCard|null);

                        /** ResponseMessage toolCall. */
                        public toolCall?: (google.cloud.dialogflow.cx.v3beta1.IToolCall|null);

                        /** ResponseMessage channel. */
                        public channel: string;

                        /** ResponseMessage message. */
                        public message?: ("text"|"payload"|"conversationSuccess"|"outputAudioText"|"liveAgentHandoff"|"endInteraction"|"playAudio"|"mixedAudio"|"telephonyTransferCall"|"knowledgeInfoCard"|"toolCall");

                        /**
                         * Creates a new ResponseMessage instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ResponseMessage instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IResponseMessage): google.cloud.dialogflow.cx.v3beta1.ResponseMessage;

                        /**
                         * Encodes the specified ResponseMessage message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.verify|verify} messages.
                         * @param message ResponseMessage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IResponseMessage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ResponseMessage message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.verify|verify} messages.
                         * @param message ResponseMessage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IResponseMessage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ResponseMessage message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ResponseMessage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ResponseMessage;

                        /**
                         * Decodes a ResponseMessage message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ResponseMessage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ResponseMessage;

                        /**
                         * Verifies a ResponseMessage message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ResponseMessage message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ResponseMessage
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ResponseMessage;

                        /**
                         * Creates a plain object from a ResponseMessage message. Also converts values to other types if specified.
                         * @param message ResponseMessage
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ResponseMessage to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ResponseMessage
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ResponseMessage {

                        /** Properties of a Text. */
                        interface IText {

                            /** Text text */
                            text?: (string[]|null);

                            /** Text allowPlaybackInterruption */
                            allowPlaybackInterruption?: (boolean|null);
                        }

                        /** Represents a Text. */
                        class Text implements IText {

                            /**
                             * Constructs a new Text.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IText);

                            /** Text text. */
                            public text: string[];

                            /** Text allowPlaybackInterruption. */
                            public allowPlaybackInterruption: boolean;

                            /**
                             * Creates a new Text instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Text instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IText): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text;

                            /**
                             * Encodes the specified Text message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text.verify|verify} messages.
                             * @param message Text message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IText, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Text message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text.verify|verify} messages.
                             * @param message Text message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IText, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Text message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Text
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text;

                            /**
                             * Decodes a Text message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Text
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text;

                            /**
                             * Verifies a Text message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Text message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Text
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text;

                            /**
                             * Creates a plain object from a Text message. Also converts values to other types if specified.
                             * @param message Text
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.Text, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Text to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Text
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a LiveAgentHandoff. */
                        interface ILiveAgentHandoff {

                            /** LiveAgentHandoff metadata */
                            metadata?: (google.protobuf.IStruct|null);
                        }

                        /** Represents a LiveAgentHandoff. */
                        class LiveAgentHandoff implements ILiveAgentHandoff {

                            /**
                             * Constructs a new LiveAgentHandoff.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ILiveAgentHandoff);

                            /** LiveAgentHandoff metadata. */
                            public metadata?: (google.protobuf.IStruct|null);

                            /**
                             * Creates a new LiveAgentHandoff instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns LiveAgentHandoff instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ILiveAgentHandoff): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.LiveAgentHandoff;

                            /**
                             * Encodes the specified LiveAgentHandoff message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.LiveAgentHandoff.verify|verify} messages.
                             * @param message LiveAgentHandoff message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ILiveAgentHandoff, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified LiveAgentHandoff message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.LiveAgentHandoff.verify|verify} messages.
                             * @param message LiveAgentHandoff message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ILiveAgentHandoff, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a LiveAgentHandoff message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns LiveAgentHandoff
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.LiveAgentHandoff;

                            /**
                             * Decodes a LiveAgentHandoff message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns LiveAgentHandoff
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.LiveAgentHandoff;

                            /**
                             * Verifies a LiveAgentHandoff message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a LiveAgentHandoff message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns LiveAgentHandoff
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.LiveAgentHandoff;

                            /**
                             * Creates a plain object from a LiveAgentHandoff message. Also converts values to other types if specified.
                             * @param message LiveAgentHandoff
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.LiveAgentHandoff, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this LiveAgentHandoff to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for LiveAgentHandoff
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a ConversationSuccess. */
                        interface IConversationSuccess {

                            /** ConversationSuccess metadata */
                            metadata?: (google.protobuf.IStruct|null);
                        }

                        /** Represents a ConversationSuccess. */
                        class ConversationSuccess implements IConversationSuccess {

                            /**
                             * Constructs a new ConversationSuccess.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IConversationSuccess);

                            /** ConversationSuccess metadata. */
                            public metadata?: (google.protobuf.IStruct|null);

                            /**
                             * Creates a new ConversationSuccess instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ConversationSuccess instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IConversationSuccess): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ConversationSuccess;

                            /**
                             * Encodes the specified ConversationSuccess message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ConversationSuccess.verify|verify} messages.
                             * @param message ConversationSuccess message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IConversationSuccess, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ConversationSuccess message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ConversationSuccess.verify|verify} messages.
                             * @param message ConversationSuccess message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IConversationSuccess, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ConversationSuccess message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ConversationSuccess
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ConversationSuccess;

                            /**
                             * Decodes a ConversationSuccess message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ConversationSuccess
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ConversationSuccess;

                            /**
                             * Verifies a ConversationSuccess message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ConversationSuccess message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ConversationSuccess
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ConversationSuccess;

                            /**
                             * Creates a plain object from a ConversationSuccess message. Also converts values to other types if specified.
                             * @param message ConversationSuccess
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ConversationSuccess, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ConversationSuccess to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ConversationSuccess
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of an OutputAudioText. */
                        interface IOutputAudioText {

                            /** OutputAudioText text */
                            text?: (string|null);

                            /** OutputAudioText ssml */
                            ssml?: (string|null);

                            /** OutputAudioText allowPlaybackInterruption */
                            allowPlaybackInterruption?: (boolean|null);
                        }

                        /** Represents an OutputAudioText. */
                        class OutputAudioText implements IOutputAudioText {

                            /**
                             * Constructs a new OutputAudioText.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IOutputAudioText);

                            /** OutputAudioText text. */
                            public text?: (string|null);

                            /** OutputAudioText ssml. */
                            public ssml?: (string|null);

                            /** OutputAudioText allowPlaybackInterruption. */
                            public allowPlaybackInterruption: boolean;

                            /** OutputAudioText source. */
                            public source?: ("text"|"ssml");

                            /**
                             * Creates a new OutputAudioText instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns OutputAudioText instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IOutputAudioText): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.OutputAudioText;

                            /**
                             * Encodes the specified OutputAudioText message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.OutputAudioText.verify|verify} messages.
                             * @param message OutputAudioText message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IOutputAudioText, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified OutputAudioText message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.OutputAudioText.verify|verify} messages.
                             * @param message OutputAudioText message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IOutputAudioText, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an OutputAudioText message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns OutputAudioText
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.OutputAudioText;

                            /**
                             * Decodes an OutputAudioText message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns OutputAudioText
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.OutputAudioText;

                            /**
                             * Verifies an OutputAudioText message.
                             * @param message Plain 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 OutputAudioText message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns OutputAudioText
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.OutputAudioText;

                            /**
                             * Creates a plain object from an OutputAudioText message. Also converts values to other types if specified.
                             * @param message OutputAudioText
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.OutputAudioText, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this OutputAudioText to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for OutputAudioText
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of an EndInteraction. */
                        interface IEndInteraction {
                        }

                        /** Represents an EndInteraction. */
                        class EndInteraction implements IEndInteraction {

                            /**
                             * Constructs a new EndInteraction.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IEndInteraction);

                            /**
                             * Creates a new EndInteraction instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns EndInteraction instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IEndInteraction): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.EndInteraction;

                            /**
                             * Encodes the specified EndInteraction message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.EndInteraction.verify|verify} messages.
                             * @param message EndInteraction message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IEndInteraction, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified EndInteraction message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.EndInteraction.verify|verify} messages.
                             * @param message EndInteraction message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IEndInteraction, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an EndInteraction message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns EndInteraction
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.EndInteraction;

                            /**
                             * Decodes an EndInteraction message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns EndInteraction
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.EndInteraction;

                            /**
                             * Verifies an EndInteraction message.
                             * @param message Plain 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 EndInteraction message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns EndInteraction
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.EndInteraction;

                            /**
                             * Creates a plain object from an EndInteraction message. Also converts values to other types if specified.
                             * @param message EndInteraction
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.EndInteraction, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this EndInteraction to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for EndInteraction
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a PlayAudio. */
                        interface IPlayAudio {

                            /** PlayAudio audioUri */
                            audioUri?: (string|null);

                            /** PlayAudio allowPlaybackInterruption */
                            allowPlaybackInterruption?: (boolean|null);
                        }

                        /** Represents a PlayAudio. */
                        class PlayAudio implements IPlayAudio {

                            /**
                             * Constructs a new PlayAudio.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IPlayAudio);

                            /** PlayAudio audioUri. */
                            public audioUri: string;

                            /** PlayAudio allowPlaybackInterruption. */
                            public allowPlaybackInterruption: boolean;

                            /**
                             * Creates a new PlayAudio instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns PlayAudio instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IPlayAudio): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.PlayAudio;

                            /**
                             * Encodes the specified PlayAudio message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.PlayAudio.verify|verify} messages.
                             * @param message PlayAudio message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IPlayAudio, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified PlayAudio message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.PlayAudio.verify|verify} messages.
                             * @param message PlayAudio message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IPlayAudio, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a PlayAudio message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns PlayAudio
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.PlayAudio;

                            /**
                             * Decodes a PlayAudio message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns PlayAudio
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.PlayAudio;

                            /**
                             * Verifies a PlayAudio message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a PlayAudio message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns PlayAudio
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.PlayAudio;

                            /**
                             * Creates a plain object from a PlayAudio message. Also converts values to other types if specified.
                             * @param message PlayAudio
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.PlayAudio, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this PlayAudio to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for PlayAudio
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a MixedAudio. */
                        interface IMixedAudio {

                            /** MixedAudio segments */
                            segments?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio.ISegment[]|null);
                        }

                        /** Represents a MixedAudio. */
                        class MixedAudio implements IMixedAudio {

                            /**
                             * Constructs a new MixedAudio.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IMixedAudio);

                            /** MixedAudio segments. */
                            public segments: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio.ISegment[];

                            /**
                             * Creates a new MixedAudio instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns MixedAudio instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IMixedAudio): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio;

                            /**
                             * Encodes the specified MixedAudio message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio.verify|verify} messages.
                             * @param message MixedAudio message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IMixedAudio, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified MixedAudio message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio.verify|verify} messages.
                             * @param message MixedAudio message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IMixedAudio, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a MixedAudio message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns MixedAudio
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio;

                            /**
                             * Decodes a MixedAudio message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns MixedAudio
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio;

                            /**
                             * Verifies a MixedAudio message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a MixedAudio message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns MixedAudio
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio;

                            /**
                             * Creates a plain object from a MixedAudio message. Also converts values to other types if specified.
                             * @param message MixedAudio
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this MixedAudio to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for MixedAudio
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace MixedAudio {

                            /** Properties of a Segment. */
                            interface ISegment {

                                /** Segment audio */
                                audio?: (Uint8Array|Buffer|string|null);

                                /** Segment uri */
                                uri?: (string|null);

                                /** Segment allowPlaybackInterruption */
                                allowPlaybackInterruption?: (boolean|null);
                            }

                            /** Represents a Segment. */
                            class Segment implements ISegment {

                                /**
                                 * Constructs a new Segment.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio.ISegment);

                                /** Segment audio. */
                                public audio?: (Uint8Array|Buffer|string|null);

                                /** Segment uri. */
                                public uri?: (string|null);

                                /** Segment allowPlaybackInterruption. */
                                public allowPlaybackInterruption: boolean;

                                /** Segment content. */
                                public content?: ("audio"|"uri");

                                /**
                                 * Creates a new Segment instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns Segment instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio.ISegment): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio.Segment;

                                /**
                                 * Encodes the specified Segment message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio.Segment.verify|verify} messages.
                                 * @param message Segment message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio.ISegment, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified Segment message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio.Segment.verify|verify} messages.
                                 * @param message Segment message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio.ISegment, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a Segment message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns Segment
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio.Segment;

                                /**
                                 * Decodes a Segment message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns Segment
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio.Segment;

                                /**
                                 * Verifies a Segment message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a Segment message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns Segment
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio.Segment;

                                /**
                                 * Creates a plain object from a Segment message. Also converts values to other types if specified.
                                 * @param message Segment
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.MixedAudio.Segment, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this Segment to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for Segment
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }

                        /** Properties of a TelephonyTransferCall. */
                        interface ITelephonyTransferCall {

                            /** TelephonyTransferCall phoneNumber */
                            phoneNumber?: (string|null);
                        }

                        /** Represents a TelephonyTransferCall. */
                        class TelephonyTransferCall implements ITelephonyTransferCall {

                            /**
                             * Constructs a new TelephonyTransferCall.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ITelephonyTransferCall);

                            /** TelephonyTransferCall phoneNumber. */
                            public phoneNumber?: (string|null);

                            /** TelephonyTransferCall endpoint. */
                            public endpoint?: "phoneNumber";

                            /**
                             * Creates a new TelephonyTransferCall instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns TelephonyTransferCall instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ITelephonyTransferCall): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.TelephonyTransferCall;

                            /**
                             * Encodes the specified TelephonyTransferCall message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.TelephonyTransferCall.verify|verify} messages.
                             * @param message TelephonyTransferCall message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ITelephonyTransferCall, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified TelephonyTransferCall message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.TelephonyTransferCall.verify|verify} messages.
                             * @param message TelephonyTransferCall message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.ITelephonyTransferCall, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a TelephonyTransferCall message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns TelephonyTransferCall
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.TelephonyTransferCall;

                            /**
                             * Decodes a TelephonyTransferCall message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns TelephonyTransferCall
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.TelephonyTransferCall;

                            /**
                             * Verifies a TelephonyTransferCall message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a TelephonyTransferCall message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns TelephonyTransferCall
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.TelephonyTransferCall;

                            /**
                             * Creates a plain object from a TelephonyTransferCall message. Also converts values to other types if specified.
                             * @param message TelephonyTransferCall
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.TelephonyTransferCall, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this TelephonyTransferCall to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for TelephonyTransferCall
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a KnowledgeInfoCard. */
                        interface IKnowledgeInfoCard {
                        }

                        /** Represents a KnowledgeInfoCard. */
                        class KnowledgeInfoCard implements IKnowledgeInfoCard {

                            /**
                             * Constructs a new KnowledgeInfoCard.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IKnowledgeInfoCard);

                            /**
                             * Creates a new KnowledgeInfoCard instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns KnowledgeInfoCard instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IKnowledgeInfoCard): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.KnowledgeInfoCard;

                            /**
                             * Encodes the specified KnowledgeInfoCard message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.KnowledgeInfoCard.verify|verify} messages.
                             * @param message KnowledgeInfoCard message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IKnowledgeInfoCard, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified KnowledgeInfoCard message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResponseMessage.KnowledgeInfoCard.verify|verify} messages.
                             * @param message KnowledgeInfoCard message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IKnowledgeInfoCard, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a KnowledgeInfoCard message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns KnowledgeInfoCard
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.KnowledgeInfoCard;

                            /**
                             * Decodes a KnowledgeInfoCard message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns KnowledgeInfoCard
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.KnowledgeInfoCard;

                            /**
                             * Verifies a KnowledgeInfoCard message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a KnowledgeInfoCard message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns KnowledgeInfoCard
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ResponseMessage.KnowledgeInfoCard;

                            /**
                             * Creates a plain object from a KnowledgeInfoCard message. Also converts values to other types if specified.
                             * @param message KnowledgeInfoCard
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.KnowledgeInfoCard, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this KnowledgeInfoCard to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for KnowledgeInfoCard
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a ToolCall. */
                    interface IToolCall {

                        /** ToolCall tool */
                        tool?: (string|null);

                        /** ToolCall action */
                        action?: (string|null);

                        /** ToolCall inputParameters */
                        inputParameters?: (google.protobuf.IStruct|null);
                    }

                    /** Represents a ToolCall. */
                    class ToolCall implements IToolCall {

                        /**
                         * Constructs a new ToolCall.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IToolCall);

                        /** ToolCall tool. */
                        public tool: string;

                        /** ToolCall action. */
                        public action: string;

                        /** ToolCall inputParameters. */
                        public inputParameters?: (google.protobuf.IStruct|null);

                        /**
                         * Creates a new ToolCall instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ToolCall instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IToolCall): google.cloud.dialogflow.cx.v3beta1.ToolCall;

                        /**
                         * Encodes the specified ToolCall message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ToolCall.verify|verify} messages.
                         * @param message ToolCall message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IToolCall, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ToolCall message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ToolCall.verify|verify} messages.
                         * @param message ToolCall message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IToolCall, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ToolCall message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ToolCall
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ToolCall;

                        /**
                         * Decodes a ToolCall message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ToolCall
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ToolCall;

                        /**
                         * Verifies a ToolCall message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ToolCall message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ToolCall
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ToolCall;

                        /**
                         * Creates a plain object from a ToolCall message. Also converts values to other types if specified.
                         * @param message ToolCall
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ToolCall, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ToolCall to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ToolCall
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ToolCallResult. */
                    interface IToolCallResult {

                        /** ToolCallResult tool */
                        tool?: (string|null);

                        /** ToolCallResult action */
                        action?: (string|null);

                        /** ToolCallResult error */
                        error?: (google.cloud.dialogflow.cx.v3beta1.ToolCallResult.IError|null);

                        /** ToolCallResult outputParameters */
                        outputParameters?: (google.protobuf.IStruct|null);
                    }

                    /** Represents a ToolCallResult. */
                    class ToolCallResult implements IToolCallResult {

                        /**
                         * Constructs a new ToolCallResult.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IToolCallResult);

                        /** ToolCallResult tool. */
                        public tool: string;

                        /** ToolCallResult action. */
                        public action: string;

                        /** ToolCallResult error. */
                        public error?: (google.cloud.dialogflow.cx.v3beta1.ToolCallResult.IError|null);

                        /** ToolCallResult outputParameters. */
                        public outputParameters?: (google.protobuf.IStruct|null);

                        /** ToolCallResult result. */
                        public result?: ("error"|"outputParameters");

                        /**
                         * Creates a new ToolCallResult instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ToolCallResult instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IToolCallResult): google.cloud.dialogflow.cx.v3beta1.ToolCallResult;

                        /**
                         * Encodes the specified ToolCallResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ToolCallResult.verify|verify} messages.
                         * @param message ToolCallResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IToolCallResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ToolCallResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ToolCallResult.verify|verify} messages.
                         * @param message ToolCallResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IToolCallResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ToolCallResult message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ToolCallResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ToolCallResult;

                        /**
                         * Decodes a ToolCallResult message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ToolCallResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ToolCallResult;

                        /**
                         * Verifies a ToolCallResult message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ToolCallResult message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ToolCallResult
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ToolCallResult;

                        /**
                         * Creates a plain object from a ToolCallResult message. Also converts values to other types if specified.
                         * @param message ToolCallResult
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ToolCallResult, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ToolCallResult to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ToolCallResult
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ToolCallResult {

                        /** Properties of an Error. */
                        interface IError {

                            /** Error message */
                            message?: (string|null);
                        }

                        /** Represents an Error. */
                        class Error implements IError {

                            /**
                             * Constructs a new Error.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ToolCallResult.IError);

                            /** Error message. */
                            public message: string;

                            /**
                             * Creates a new Error instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Error instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ToolCallResult.IError): google.cloud.dialogflow.cx.v3beta1.ToolCallResult.Error;

                            /**
                             * Encodes the specified Error message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ToolCallResult.Error.verify|verify} messages.
                             * @param message Error message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.ToolCallResult.IError, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Error message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ToolCallResult.Error.verify|verify} messages.
                             * @param message Error message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ToolCallResult.IError, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an Error message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Error
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ToolCallResult.Error;

                            /**
                             * Decodes an Error message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Error
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ToolCallResult.Error;

                            /**
                             * Verifies an Error message.
                             * @param message Plain 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 Error message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Error
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ToolCallResult.Error;

                            /**
                             * Creates a plain object from an Error message. Also converts values to other types if specified.
                             * @param message Error
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ToolCallResult.Error, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Error to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Error
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a ValidationMessage. */
                    interface IValidationMessage {

                        /** ValidationMessage resourceType */
                        resourceType?: (google.cloud.dialogflow.cx.v3beta1.ValidationMessage.ResourceType|keyof typeof google.cloud.dialogflow.cx.v3beta1.ValidationMessage.ResourceType|null);

                        /** ValidationMessage resources */
                        resources?: (string[]|null);

                        /** ValidationMessage resourceNames */
                        resourceNames?: (google.cloud.dialogflow.cx.v3beta1.IResourceName[]|null);

                        /** ValidationMessage severity */
                        severity?: (google.cloud.dialogflow.cx.v3beta1.ValidationMessage.Severity|keyof typeof google.cloud.dialogflow.cx.v3beta1.ValidationMessage.Severity|null);

                        /** ValidationMessage detail */
                        detail?: (string|null);
                    }

                    /** Represents a ValidationMessage. */
                    class ValidationMessage implements IValidationMessage {

                        /**
                         * Constructs a new ValidationMessage.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IValidationMessage);

                        /** ValidationMessage resourceType. */
                        public resourceType: (google.cloud.dialogflow.cx.v3beta1.ValidationMessage.ResourceType|keyof typeof google.cloud.dialogflow.cx.v3beta1.ValidationMessage.ResourceType);

                        /** ValidationMessage resources. */
                        public resources: string[];

                        /** ValidationMessage resourceNames. */
                        public resourceNames: google.cloud.dialogflow.cx.v3beta1.IResourceName[];

                        /** ValidationMessage severity. */
                        public severity: (google.cloud.dialogflow.cx.v3beta1.ValidationMessage.Severity|keyof typeof google.cloud.dialogflow.cx.v3beta1.ValidationMessage.Severity);

                        /** ValidationMessage detail. */
                        public detail: string;

                        /**
                         * Creates a new ValidationMessage instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ValidationMessage instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IValidationMessage): google.cloud.dialogflow.cx.v3beta1.ValidationMessage;

                        /**
                         * Encodes the specified ValidationMessage message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ValidationMessage.verify|verify} messages.
                         * @param message ValidationMessage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IValidationMessage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ValidationMessage message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ValidationMessage.verify|verify} messages.
                         * @param message ValidationMessage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IValidationMessage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ValidationMessage message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ValidationMessage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ValidationMessage;

                        /**
                         * Decodes a ValidationMessage message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ValidationMessage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ValidationMessage;

                        /**
                         * Verifies a ValidationMessage message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ValidationMessage message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ValidationMessage
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ValidationMessage;

                        /**
                         * Creates a plain object from a ValidationMessage message. Also converts values to other types if specified.
                         * @param message ValidationMessage
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ValidationMessage, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ValidationMessage to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ValidationMessage
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ValidationMessage {

                        /** ResourceType enum. */
                        enum ResourceType {
                            RESOURCE_TYPE_UNSPECIFIED = 0,
                            AGENT = 1,
                            INTENT = 2,
                            INTENT_TRAINING_PHRASE = 8,
                            INTENT_PARAMETER = 9,
                            INTENTS = 10,
                            INTENT_TRAINING_PHRASES = 11,
                            ENTITY_TYPE = 3,
                            ENTITY_TYPES = 12,
                            WEBHOOK = 4,
                            FLOW = 5,
                            PAGE = 6,
                            PAGES = 13,
                            TRANSITION_ROUTE_GROUP = 7,
                            AGENT_TRANSITION_ROUTE_GROUP = 14
                        }

                        /** Severity enum. */
                        enum Severity {
                            SEVERITY_UNSPECIFIED = 0,
                            INFO = 1,
                            WARNING = 2,
                            ERROR = 3
                        }
                    }

                    /** Properties of a ResourceName. */
                    interface IResourceName {

                        /** ResourceName name */
                        name?: (string|null);

                        /** ResourceName displayName */
                        displayName?: (string|null);
                    }

                    /** Represents a ResourceName. */
                    class ResourceName implements IResourceName {

                        /**
                         * Constructs a new ResourceName.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IResourceName);

                        /** ResourceName name. */
                        public name: string;

                        /** ResourceName displayName. */
                        public displayName: string;

                        /**
                         * Creates a new ResourceName instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ResourceName instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IResourceName): google.cloud.dialogflow.cx.v3beta1.ResourceName;

                        /**
                         * Encodes the specified ResourceName message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResourceName.verify|verify} messages.
                         * @param message ResourceName message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IResourceName, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ResourceName message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ResourceName.verify|verify} messages.
                         * @param message ResourceName message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IResourceName, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ResourceName message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ResourceName
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ResourceName;

                        /**
                         * Decodes a ResourceName message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ResourceName
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ResourceName;

                        /**
                         * Verifies a ResourceName message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ResourceName message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ResourceName
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ResourceName;

                        /**
                         * Creates a plain object from a ResourceName message. Also converts values to other types if specified.
                         * @param message ResourceName
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ResourceName, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ResourceName to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ResourceName
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GenerativeSettings. */
                    interface IGenerativeSettings {

                        /** GenerativeSettings name */
                        name?: (string|null);

                        /** GenerativeSettings fallbackSettings */
                        fallbackSettings?: (google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.IFallbackSettings|null);

                        /** GenerativeSettings generativeSafetySettings */
                        generativeSafetySettings?: (google.cloud.dialogflow.cx.v3beta1.ISafetySettings|null);

                        /** GenerativeSettings knowledgeConnectorSettings */
                        knowledgeConnectorSettings?: (google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.IKnowledgeConnectorSettings|null);

                        /** GenerativeSettings languageCode */
                        languageCode?: (string|null);

                        /** GenerativeSettings llmModelSettings */
                        llmModelSettings?: (google.cloud.dialogflow.cx.v3beta1.ILlmModelSettings|null);
                    }

                    /** Represents a GenerativeSettings. */
                    class GenerativeSettings implements IGenerativeSettings {

                        /**
                         * Constructs a new GenerativeSettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGenerativeSettings);

                        /** GenerativeSettings name. */
                        public name: string;

                        /** GenerativeSettings fallbackSettings. */
                        public fallbackSettings?: (google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.IFallbackSettings|null);

                        /** GenerativeSettings generativeSafetySettings. */
                        public generativeSafetySettings?: (google.cloud.dialogflow.cx.v3beta1.ISafetySettings|null);

                        /** GenerativeSettings knowledgeConnectorSettings. */
                        public knowledgeConnectorSettings?: (google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.IKnowledgeConnectorSettings|null);

                        /** GenerativeSettings languageCode. */
                        public languageCode: string;

                        /** GenerativeSettings llmModelSettings. */
                        public llmModelSettings?: (google.cloud.dialogflow.cx.v3beta1.ILlmModelSettings|null);

                        /**
                         * Creates a new GenerativeSettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GenerativeSettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGenerativeSettings): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings;

                        /**
                         * Encodes the specified GenerativeSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.verify|verify} messages.
                         * @param message GenerativeSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGenerativeSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GenerativeSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.verify|verify} messages.
                         * @param message GenerativeSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGenerativeSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GenerativeSettings message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GenerativeSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings;

                        /**
                         * Decodes a GenerativeSettings message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GenerativeSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings;

                        /**
                         * Verifies a GenerativeSettings message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GenerativeSettings message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GenerativeSettings
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings;

                        /**
                         * Creates a plain object from a GenerativeSettings message. Also converts values to other types if specified.
                         * @param message GenerativeSettings
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GenerativeSettings to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GenerativeSettings
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace GenerativeSettings {

                        /** Properties of a FallbackSettings. */
                        interface IFallbackSettings {

                            /** FallbackSettings selectedPrompt */
                            selectedPrompt?: (string|null);

                            /** FallbackSettings promptTemplates */
                            promptTemplates?: (google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings.IPromptTemplate[]|null);
                        }

                        /** Represents a FallbackSettings. */
                        class FallbackSettings implements IFallbackSettings {

                            /**
                             * Constructs a new FallbackSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.IFallbackSettings);

                            /** FallbackSettings selectedPrompt. */
                            public selectedPrompt: string;

                            /** FallbackSettings promptTemplates. */
                            public promptTemplates: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings.IPromptTemplate[];

                            /**
                             * Creates a new FallbackSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns FallbackSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.IFallbackSettings): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings;

                            /**
                             * Encodes the specified FallbackSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings.verify|verify} messages.
                             * @param message FallbackSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.IFallbackSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified FallbackSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings.verify|verify} messages.
                             * @param message FallbackSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.IFallbackSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a FallbackSettings message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns FallbackSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings;

                            /**
                             * Decodes a FallbackSettings message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns FallbackSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings;

                            /**
                             * Verifies a FallbackSettings message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a FallbackSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns FallbackSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings;

                            /**
                             * Creates a plain object from a FallbackSettings message. Also converts values to other types if specified.
                             * @param message FallbackSettings
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this FallbackSettings to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for FallbackSettings
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace FallbackSettings {

                            /** Properties of a PromptTemplate. */
                            interface IPromptTemplate {

                                /** PromptTemplate displayName */
                                displayName?: (string|null);

                                /** PromptTemplate promptText */
                                promptText?: (string|null);

                                /** PromptTemplate frozen */
                                frozen?: (boolean|null);
                            }

                            /** Represents a PromptTemplate. */
                            class PromptTemplate implements IPromptTemplate {

                                /**
                                 * Constructs a new PromptTemplate.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings.IPromptTemplate);

                                /** PromptTemplate displayName. */
                                public displayName: string;

                                /** PromptTemplate promptText. */
                                public promptText: string;

                                /** PromptTemplate frozen. */
                                public frozen: boolean;

                                /**
                                 * Creates a new PromptTemplate instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns PromptTemplate instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings.IPromptTemplate): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings.PromptTemplate;

                                /**
                                 * Encodes the specified PromptTemplate message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings.PromptTemplate.verify|verify} messages.
                                 * @param message PromptTemplate message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings.IPromptTemplate, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified PromptTemplate message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings.PromptTemplate.verify|verify} messages.
                                 * @param message PromptTemplate message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings.IPromptTemplate, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a PromptTemplate message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns PromptTemplate
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings.PromptTemplate;

                                /**
                                 * Decodes a PromptTemplate message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns PromptTemplate
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings.PromptTemplate;

                                /**
                                 * Verifies a PromptTemplate message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a PromptTemplate message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns PromptTemplate
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings.PromptTemplate;

                                /**
                                 * Creates a plain object from a PromptTemplate message. Also converts values to other types if specified.
                                 * @param message PromptTemplate
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.FallbackSettings.PromptTemplate, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this PromptTemplate to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for PromptTemplate
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }

                        /** Properties of a KnowledgeConnectorSettings. */
                        interface IKnowledgeConnectorSettings {

                            /** KnowledgeConnectorSettings business */
                            business?: (string|null);

                            /** KnowledgeConnectorSettings agent */
                            agent?: (string|null);

                            /** KnowledgeConnectorSettings agentIdentity */
                            agentIdentity?: (string|null);

                            /** KnowledgeConnectorSettings businessDescription */
                            businessDescription?: (string|null);

                            /** KnowledgeConnectorSettings agentScope */
                            agentScope?: (string|null);

                            /** KnowledgeConnectorSettings disableDataStoreFallback */
                            disableDataStoreFallback?: (boolean|null);
                        }

                        /** Represents a KnowledgeConnectorSettings. */
                        class KnowledgeConnectorSettings implements IKnowledgeConnectorSettings {

                            /**
                             * Constructs a new KnowledgeConnectorSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.IKnowledgeConnectorSettings);

                            /** KnowledgeConnectorSettings business. */
                            public business: string;

                            /** KnowledgeConnectorSettings agent. */
                            public agent: string;

                            /** KnowledgeConnectorSettings agentIdentity. */
                            public agentIdentity: string;

                            /** KnowledgeConnectorSettings businessDescription. */
                            public businessDescription: string;

                            /** KnowledgeConnectorSettings agentScope. */
                            public agentScope: string;

                            /** KnowledgeConnectorSettings disableDataStoreFallback. */
                            public disableDataStoreFallback: boolean;

                            /**
                             * Creates a new KnowledgeConnectorSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns KnowledgeConnectorSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.IKnowledgeConnectorSettings): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.KnowledgeConnectorSettings;

                            /**
                             * Encodes the specified KnowledgeConnectorSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.KnowledgeConnectorSettings.verify|verify} messages.
                             * @param message KnowledgeConnectorSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.IKnowledgeConnectorSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified KnowledgeConnectorSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.KnowledgeConnectorSettings.verify|verify} messages.
                             * @param message KnowledgeConnectorSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.IKnowledgeConnectorSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a KnowledgeConnectorSettings message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns KnowledgeConnectorSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.KnowledgeConnectorSettings;

                            /**
                             * Decodes a KnowledgeConnectorSettings message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns KnowledgeConnectorSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.KnowledgeConnectorSettings;

                            /**
                             * Verifies a KnowledgeConnectorSettings message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a KnowledgeConnectorSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns KnowledgeConnectorSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.KnowledgeConnectorSettings;

                            /**
                             * Creates a plain object from a KnowledgeConnectorSettings message. Also converts values to other types if specified.
                             * @param message KnowledgeConnectorSettings
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GenerativeSettings.KnowledgeConnectorSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this KnowledgeConnectorSettings to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for KnowledgeConnectorSettings
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a LlmModelSettings. */
                    interface ILlmModelSettings {

                        /** LlmModelSettings model */
                        model?: (string|null);

                        /** LlmModelSettings promptText */
                        promptText?: (string|null);
                    }

                    /** Represents a LlmModelSettings. */
                    class LlmModelSettings implements ILlmModelSettings {

                        /**
                         * Constructs a new LlmModelSettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ILlmModelSettings);

                        /** LlmModelSettings model. */
                        public model: string;

                        /** LlmModelSettings promptText. */
                        public promptText: string;

                        /**
                         * Creates a new LlmModelSettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns LlmModelSettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ILlmModelSettings): google.cloud.dialogflow.cx.v3beta1.LlmModelSettings;

                        /**
                         * Encodes the specified LlmModelSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.LlmModelSettings.verify|verify} messages.
                         * @param message LlmModelSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ILlmModelSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified LlmModelSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.LlmModelSettings.verify|verify} messages.
                         * @param message LlmModelSettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ILlmModelSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a LlmModelSettings message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns LlmModelSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.LlmModelSettings;

                        /**
                         * Decodes a LlmModelSettings message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns LlmModelSettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.LlmModelSettings;

                        /**
                         * Verifies a LlmModelSettings message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a LlmModelSettings message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns LlmModelSettings
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.LlmModelSettings;

                        /**
                         * Creates a plain object from a LlmModelSettings message. Also converts values to other types if specified.
                         * @param message LlmModelSettings
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.LlmModelSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this LlmModelSettings to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for LlmModelSettings
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a SafetySettings. */
                    interface ISafetySettings {

                        /** SafetySettings defaultBannedPhraseMatchStrategy */
                        defaultBannedPhraseMatchStrategy?: (google.cloud.dialogflow.cx.v3beta1.SafetySettings.PhraseMatchStrategy|keyof typeof google.cloud.dialogflow.cx.v3beta1.SafetySettings.PhraseMatchStrategy|null);

                        /** SafetySettings bannedPhrases */
                        bannedPhrases?: (google.cloud.dialogflow.cx.v3beta1.SafetySettings.IPhrase[]|null);
                    }

                    /** Represents a SafetySettings. */
                    class SafetySettings implements ISafetySettings {

                        /**
                         * Constructs a new SafetySettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ISafetySettings);

                        /** SafetySettings defaultBannedPhraseMatchStrategy. */
                        public defaultBannedPhraseMatchStrategy: (google.cloud.dialogflow.cx.v3beta1.SafetySettings.PhraseMatchStrategy|keyof typeof google.cloud.dialogflow.cx.v3beta1.SafetySettings.PhraseMatchStrategy);

                        /** SafetySettings bannedPhrases. */
                        public bannedPhrases: google.cloud.dialogflow.cx.v3beta1.SafetySettings.IPhrase[];

                        /**
                         * Creates a new SafetySettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SafetySettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ISafetySettings): google.cloud.dialogflow.cx.v3beta1.SafetySettings;

                        /**
                         * Encodes the specified SafetySettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SafetySettings.verify|verify} messages.
                         * @param message SafetySettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ISafetySettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SafetySettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SafetySettings.verify|verify} messages.
                         * @param message SafetySettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ISafetySettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SafetySettings message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SafetySettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.SafetySettings;

                        /**
                         * Decodes a SafetySettings message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SafetySettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.SafetySettings;

                        /**
                         * Verifies a SafetySettings message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SafetySettings message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SafetySettings
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.SafetySettings;

                        /**
                         * Creates a plain object from a SafetySettings message. Also converts values to other types if specified.
                         * @param message SafetySettings
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.SafetySettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SafetySettings to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SafetySettings
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace SafetySettings {

                        /** Properties of a Phrase. */
                        interface IPhrase {

                            /** Phrase text */
                            text?: (string|null);

                            /** Phrase languageCode */
                            languageCode?: (string|null);
                        }

                        /** Represents a Phrase. */
                        class Phrase implements IPhrase {

                            /**
                             * Constructs a new Phrase.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.SafetySettings.IPhrase);

                            /** Phrase text. */
                            public text: string;

                            /** Phrase languageCode. */
                            public languageCode: string;

                            /**
                             * Creates a new Phrase instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Phrase instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.SafetySettings.IPhrase): google.cloud.dialogflow.cx.v3beta1.SafetySettings.Phrase;

                            /**
                             * Encodes the specified Phrase message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SafetySettings.Phrase.verify|verify} messages.
                             * @param message Phrase message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.SafetySettings.IPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Phrase message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SafetySettings.Phrase.verify|verify} messages.
                             * @param message Phrase message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.SafetySettings.IPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Phrase message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Phrase
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.SafetySettings.Phrase;

                            /**
                             * Decodes a Phrase message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Phrase
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.SafetySettings.Phrase;

                            /**
                             * Verifies a Phrase message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Phrase message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Phrase
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.SafetySettings.Phrase;

                            /**
                             * Creates a plain object from a Phrase message. Also converts values to other types if specified.
                             * @param message Phrase
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.SafetySettings.Phrase, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Phrase to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Phrase
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** PhraseMatchStrategy enum. */
                        enum PhraseMatchStrategy {
                            PHRASE_MATCH_STRATEGY_UNSPECIFIED = 0,
                            PARTIAL_MATCH = 1,
                            WORD_MATCH = 2
                        }
                    }

                    /** Represents a Changelogs */
                    class Changelogs extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Changelogs 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 Changelogs 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): Changelogs;

                        /**
                         * Calls ListChangelogs.
                         * @param request ListChangelogsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListChangelogsResponse
                         */
                        public listChangelogs(request: google.cloud.dialogflow.cx.v3beta1.IListChangelogsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Changelogs.ListChangelogsCallback): void;

                        /**
                         * Calls ListChangelogs.
                         * @param request ListChangelogsRequest message or plain object
                         * @returns Promise
                         */
                        public listChangelogs(request: google.cloud.dialogflow.cx.v3beta1.IListChangelogsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListChangelogsResponse>;

                        /**
                         * Calls GetChangelog.
                         * @param request GetChangelogRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Changelog
                         */
                        public getChangelog(request: google.cloud.dialogflow.cx.v3beta1.IGetChangelogRequest, callback: google.cloud.dialogflow.cx.v3beta1.Changelogs.GetChangelogCallback): void;

                        /**
                         * Calls GetChangelog.
                         * @param request GetChangelogRequest message or plain object
                         * @returns Promise
                         */
                        public getChangelog(request: google.cloud.dialogflow.cx.v3beta1.IGetChangelogRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Changelog>;
                    }

                    namespace Changelogs {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Changelogs|listChangelogs}.
                         * @param error Error, if any
                         * @param [response] ListChangelogsResponse
                         */
                        type ListChangelogsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListChangelogsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Changelogs|getChangelog}.
                         * @param error Error, if any
                         * @param [response] Changelog
                         */
                        type GetChangelogCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Changelog) => void;
                    }

                    /** Properties of a ListChangelogsRequest. */
                    interface IListChangelogsRequest {

                        /** ListChangelogsRequest parent */
                        parent?: (string|null);

                        /** ListChangelogsRequest filter */
                        filter?: (string|null);

                        /** ListChangelogsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListChangelogsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListChangelogsRequest. */
                    class ListChangelogsRequest implements IListChangelogsRequest {

                        /**
                         * Constructs a new ListChangelogsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListChangelogsRequest);

                        /** ListChangelogsRequest parent. */
                        public parent: string;

                        /** ListChangelogsRequest filter. */
                        public filter: string;

                        /** ListChangelogsRequest pageSize. */
                        public pageSize: number;

                        /** ListChangelogsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListChangelogsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListChangelogsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListChangelogsRequest): google.cloud.dialogflow.cx.v3beta1.ListChangelogsRequest;

                        /**
                         * Encodes the specified ListChangelogsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListChangelogsRequest.verify|verify} messages.
                         * @param message ListChangelogsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListChangelogsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListChangelogsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListChangelogsRequest.verify|verify} messages.
                         * @param message ListChangelogsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListChangelogsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListChangelogsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListChangelogsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListChangelogsRequest;

                        /**
                         * Decodes a ListChangelogsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListChangelogsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListChangelogsRequest;

                        /**
                         * Verifies a ListChangelogsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListChangelogsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListChangelogsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListChangelogsRequest;

                        /**
                         * Creates a plain object from a ListChangelogsRequest message. Also converts values to other types if specified.
                         * @param message ListChangelogsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListChangelogsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListChangelogsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListChangelogsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListChangelogsResponse. */
                    interface IListChangelogsResponse {

                        /** ListChangelogsResponse changelogs */
                        changelogs?: (google.cloud.dialogflow.cx.v3beta1.IChangelog[]|null);

                        /** ListChangelogsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListChangelogsResponse. */
                    class ListChangelogsResponse implements IListChangelogsResponse {

                        /**
                         * Constructs a new ListChangelogsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListChangelogsResponse);

                        /** ListChangelogsResponse changelogs. */
                        public changelogs: google.cloud.dialogflow.cx.v3beta1.IChangelog[];

                        /** ListChangelogsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListChangelogsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListChangelogsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListChangelogsResponse): google.cloud.dialogflow.cx.v3beta1.ListChangelogsResponse;

                        /**
                         * Encodes the specified ListChangelogsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListChangelogsResponse.verify|verify} messages.
                         * @param message ListChangelogsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListChangelogsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListChangelogsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListChangelogsResponse.verify|verify} messages.
                         * @param message ListChangelogsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListChangelogsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListChangelogsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListChangelogsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListChangelogsResponse;

                        /**
                         * Decodes a ListChangelogsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListChangelogsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListChangelogsResponse;

                        /**
                         * Verifies a ListChangelogsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListChangelogsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListChangelogsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListChangelogsResponse;

                        /**
                         * Creates a plain object from a ListChangelogsResponse message. Also converts values to other types if specified.
                         * @param message ListChangelogsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListChangelogsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListChangelogsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListChangelogsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetChangelogRequest. */
                    interface IGetChangelogRequest {

                        /** GetChangelogRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetChangelogRequest. */
                    class GetChangelogRequest implements IGetChangelogRequest {

                        /**
                         * Constructs a new GetChangelogRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetChangelogRequest);

                        /** GetChangelogRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetChangelogRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetChangelogRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetChangelogRequest): google.cloud.dialogflow.cx.v3beta1.GetChangelogRequest;

                        /**
                         * Encodes the specified GetChangelogRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetChangelogRequest.verify|verify} messages.
                         * @param message GetChangelogRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetChangelogRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetChangelogRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetChangelogRequest.verify|verify} messages.
                         * @param message GetChangelogRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetChangelogRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetChangelogRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetChangelogRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetChangelogRequest;

                        /**
                         * Decodes a GetChangelogRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetChangelogRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetChangelogRequest;

                        /**
                         * Verifies a GetChangelogRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetChangelogRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetChangelogRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetChangelogRequest;

                        /**
                         * Creates a plain object from a GetChangelogRequest message. Also converts values to other types if specified.
                         * @param message GetChangelogRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetChangelogRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetChangelogRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetChangelogRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a Changelog. */
                    interface IChangelog {

                        /** Changelog name */
                        name?: (string|null);

                        /** Changelog userEmail */
                        userEmail?: (string|null);

                        /** Changelog displayName */
                        displayName?: (string|null);

                        /** Changelog action */
                        action?: (string|null);

                        /** Changelog type */
                        type?: (string|null);

                        /** Changelog resource */
                        resource?: (string|null);

                        /** Changelog createTime */
                        createTime?: (google.protobuf.ITimestamp|null);

                        /** Changelog languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a Changelog. */
                    class Changelog implements IChangelog {

                        /**
                         * Constructs a new Changelog.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IChangelog);

                        /** Changelog name. */
                        public name: string;

                        /** Changelog userEmail. */
                        public userEmail: string;

                        /** Changelog displayName. */
                        public displayName: string;

                        /** Changelog action. */
                        public action: string;

                        /** Changelog type. */
                        public type: string;

                        /** Changelog resource. */
                        public resource: string;

                        /** Changelog createTime. */
                        public createTime?: (google.protobuf.ITimestamp|null);

                        /** Changelog languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new Changelog instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Changelog instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IChangelog): google.cloud.dialogflow.cx.v3beta1.Changelog;

                        /**
                         * Encodes the specified Changelog message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Changelog.verify|verify} messages.
                         * @param message Changelog message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IChangelog, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Changelog message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Changelog.verify|verify} messages.
                         * @param message Changelog message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IChangelog, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Changelog message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Changelog
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Changelog;

                        /**
                         * Decodes a Changelog message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Changelog
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Changelog;

                        /**
                         * Verifies a Changelog message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Changelog message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Changelog
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Changelog;

                        /**
                         * Creates a plain object from a Changelog message. Also converts values to other types if specified.
                         * @param message Changelog
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Changelog, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Changelog to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Changelog
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a ConversationHistory */
                    class ConversationHistory extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new ConversationHistory 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 ConversationHistory 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): ConversationHistory;

                        /**
                         * Calls ListConversations.
                         * @param request ListConversationsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListConversationsResponse
                         */
                        public listConversations(request: google.cloud.dialogflow.cx.v3beta1.IListConversationsRequest, callback: google.cloud.dialogflow.cx.v3beta1.ConversationHistory.ListConversationsCallback): void;

                        /**
                         * Calls ListConversations.
                         * @param request ListConversationsRequest message or plain object
                         * @returns Promise
                         */
                        public listConversations(request: google.cloud.dialogflow.cx.v3beta1.IListConversationsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListConversationsResponse>;

                        /**
                         * Calls GetConversation.
                         * @param request GetConversationRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Conversation
                         */
                        public getConversation(request: google.cloud.dialogflow.cx.v3beta1.IGetConversationRequest, callback: google.cloud.dialogflow.cx.v3beta1.ConversationHistory.GetConversationCallback): void;

                        /**
                         * Calls GetConversation.
                         * @param request GetConversationRequest message or plain object
                         * @returns Promise
                         */
                        public getConversation(request: google.cloud.dialogflow.cx.v3beta1.IGetConversationRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Conversation>;

                        /**
                         * Calls DeleteConversation.
                         * @param request DeleteConversationRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteConversation(request: google.cloud.dialogflow.cx.v3beta1.IDeleteConversationRequest, callback: google.cloud.dialogflow.cx.v3beta1.ConversationHistory.DeleteConversationCallback): void;

                        /**
                         * Calls DeleteConversation.
                         * @param request DeleteConversationRequest message or plain object
                         * @returns Promise
                         */
                        public deleteConversation(request: google.cloud.dialogflow.cx.v3beta1.IDeleteConversationRequest): Promise<google.protobuf.Empty>;
                    }

                    namespace ConversationHistory {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.ConversationHistory|listConversations}.
                         * @param error Error, if any
                         * @param [response] ListConversationsResponse
                         */
                        type ListConversationsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListConversationsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.ConversationHistory|getConversation}.
                         * @param error Error, if any
                         * @param [response] Conversation
                         */
                        type GetConversationCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Conversation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.ConversationHistory|deleteConversation}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteConversationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                    }

                    /** Properties of a GetConversationRequest. */
                    interface IGetConversationRequest {

                        /** GetConversationRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetConversationRequest. */
                    class GetConversationRequest implements IGetConversationRequest {

                        /**
                         * Constructs a new GetConversationRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetConversationRequest);

                        /** GetConversationRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetConversationRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetConversationRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetConversationRequest): google.cloud.dialogflow.cx.v3beta1.GetConversationRequest;

                        /**
                         * Encodes the specified GetConversationRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetConversationRequest.verify|verify} messages.
                         * @param message GetConversationRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetConversationRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetConversationRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetConversationRequest.verify|verify} messages.
                         * @param message GetConversationRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetConversationRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetConversationRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetConversationRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetConversationRequest;

                        /**
                         * Decodes a GetConversationRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetConversationRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetConversationRequest;

                        /**
                         * Verifies a GetConversationRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetConversationRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetConversationRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetConversationRequest;

                        /**
                         * Creates a plain object from a GetConversationRequest message. Also converts values to other types if specified.
                         * @param message GetConversationRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetConversationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetConversationRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetConversationRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteConversationRequest. */
                    interface IDeleteConversationRequest {

                        /** DeleteConversationRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeleteConversationRequest. */
                    class DeleteConversationRequest implements IDeleteConversationRequest {

                        /**
                         * Constructs a new DeleteConversationRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteConversationRequest);

                        /** DeleteConversationRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeleteConversationRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteConversationRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteConversationRequest): google.cloud.dialogflow.cx.v3beta1.DeleteConversationRequest;

                        /**
                         * Encodes the specified DeleteConversationRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteConversationRequest.verify|verify} messages.
                         * @param message DeleteConversationRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteConversationRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteConversationRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteConversationRequest.verify|verify} messages.
                         * @param message DeleteConversationRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteConversationRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteConversationRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteConversationRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteConversationRequest;

                        /**
                         * Decodes a DeleteConversationRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteConversationRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteConversationRequest;

                        /**
                         * Verifies a DeleteConversationRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteConversationRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteConversationRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteConversationRequest;

                        /**
                         * Creates a plain object from a DeleteConversationRequest message. Also converts values to other types if specified.
                         * @param message DeleteConversationRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteConversationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteConversationRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteConversationRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListConversationsRequest. */
                    interface IListConversationsRequest {

                        /** ListConversationsRequest parent */
                        parent?: (string|null);

                        /** ListConversationsRequest filter */
                        filter?: (string|null);

                        /** ListConversationsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListConversationsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListConversationsRequest. */
                    class ListConversationsRequest implements IListConversationsRequest {

                        /**
                         * Constructs a new ListConversationsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListConversationsRequest);

                        /** ListConversationsRequest parent. */
                        public parent: string;

                        /** ListConversationsRequest filter. */
                        public filter: string;

                        /** ListConversationsRequest pageSize. */
                        public pageSize: number;

                        /** ListConversationsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListConversationsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListConversationsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListConversationsRequest): google.cloud.dialogflow.cx.v3beta1.ListConversationsRequest;

                        /**
                         * Encodes the specified ListConversationsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListConversationsRequest.verify|verify} messages.
                         * @param message ListConversationsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListConversationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListConversationsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListConversationsRequest.verify|verify} messages.
                         * @param message ListConversationsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListConversationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListConversationsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListConversationsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListConversationsRequest;

                        /**
                         * Decodes a ListConversationsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListConversationsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListConversationsRequest;

                        /**
                         * Verifies a ListConversationsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListConversationsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListConversationsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListConversationsRequest;

                        /**
                         * Creates a plain object from a ListConversationsRequest message. Also converts values to other types if specified.
                         * @param message ListConversationsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListConversationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListConversationsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListConversationsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListConversationsResponse. */
                    interface IListConversationsResponse {

                        /** ListConversationsResponse conversations */
                        conversations?: (google.cloud.dialogflow.cx.v3beta1.IConversation[]|null);

                        /** ListConversationsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListConversationsResponse. */
                    class ListConversationsResponse implements IListConversationsResponse {

                        /**
                         * Constructs a new ListConversationsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListConversationsResponse);

                        /** ListConversationsResponse conversations. */
                        public conversations: google.cloud.dialogflow.cx.v3beta1.IConversation[];

                        /** ListConversationsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListConversationsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListConversationsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListConversationsResponse): google.cloud.dialogflow.cx.v3beta1.ListConversationsResponse;

                        /**
                         * Encodes the specified ListConversationsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListConversationsResponse.verify|verify} messages.
                         * @param message ListConversationsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListConversationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListConversationsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListConversationsResponse.verify|verify} messages.
                         * @param message ListConversationsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListConversationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListConversationsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListConversationsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListConversationsResponse;

                        /**
                         * Decodes a ListConversationsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListConversationsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListConversationsResponse;

                        /**
                         * Verifies a ListConversationsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListConversationsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListConversationsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListConversationsResponse;

                        /**
                         * Creates a plain object from a ListConversationsResponse message. Also converts values to other types if specified.
                         * @param message ListConversationsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListConversationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListConversationsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListConversationsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a Conversation. */
                    interface IConversation {

                        /** Conversation name */
                        name?: (string|null);

                        /** Conversation type */
                        type?: (google.cloud.dialogflow.cx.v3beta1.Conversation.Type|keyof typeof google.cloud.dialogflow.cx.v3beta1.Conversation.Type|null);

                        /** Conversation languageCode */
                        languageCode?: (string|null);

                        /** Conversation startTime */
                        startTime?: (google.protobuf.ITimestamp|null);

                        /** Conversation duration */
                        duration?: (google.protobuf.IDuration|null);

                        /** Conversation metrics */
                        metrics?: (google.cloud.dialogflow.cx.v3beta1.Conversation.IMetrics|null);

                        /** Conversation intents */
                        intents?: (google.cloud.dialogflow.cx.v3beta1.IIntent[]|null);

                        /** Conversation flows */
                        flows?: (google.cloud.dialogflow.cx.v3beta1.IFlow[]|null);

                        /** Conversation pages */
                        pages?: (google.cloud.dialogflow.cx.v3beta1.IPage[]|null);

                        /** Conversation interactions */
                        interactions?: (google.cloud.dialogflow.cx.v3beta1.Conversation.IInteraction[]|null);

                        /** Conversation environment */
                        environment?: (google.cloud.dialogflow.cx.v3beta1.IEnvironment|null);

                        /** Conversation flowVersions */
                        flowVersions?: ({ [k: string]: (number|Long|string) }|null);
                    }

                    /** Represents a Conversation. */
                    class Conversation implements IConversation {

                        /**
                         * Constructs a new Conversation.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IConversation);

                        /** Conversation name. */
                        public name: string;

                        /** Conversation type. */
                        public type: (google.cloud.dialogflow.cx.v3beta1.Conversation.Type|keyof typeof google.cloud.dialogflow.cx.v3beta1.Conversation.Type);

                        /** Conversation languageCode. */
                        public languageCode: string;

                        /** Conversation startTime. */
                        public startTime?: (google.protobuf.ITimestamp|null);

                        /** Conversation duration. */
                        public duration?: (google.protobuf.IDuration|null);

                        /** Conversation metrics. */
                        public metrics?: (google.cloud.dialogflow.cx.v3beta1.Conversation.IMetrics|null);

                        /** Conversation intents. */
                        public intents: google.cloud.dialogflow.cx.v3beta1.IIntent[];

                        /** Conversation flows. */
                        public flows: google.cloud.dialogflow.cx.v3beta1.IFlow[];

                        /** Conversation pages. */
                        public pages: google.cloud.dialogflow.cx.v3beta1.IPage[];

                        /** Conversation interactions. */
                        public interactions: google.cloud.dialogflow.cx.v3beta1.Conversation.IInteraction[];

                        /** Conversation environment. */
                        public environment?: (google.cloud.dialogflow.cx.v3beta1.IEnvironment|null);

                        /** Conversation flowVersions. */
                        public flowVersions: { [k: string]: (number|Long|string) };

                        /**
                         * Creates a new Conversation instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Conversation instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IConversation): google.cloud.dialogflow.cx.v3beta1.Conversation;

                        /**
                         * Encodes the specified Conversation message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Conversation.verify|verify} messages.
                         * @param message Conversation message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IConversation, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Conversation message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Conversation.verify|verify} messages.
                         * @param message Conversation message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IConversation, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Conversation message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Conversation
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Conversation;

                        /**
                         * Decodes a Conversation message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Conversation
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Conversation;

                        /**
                         * Verifies a Conversation message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Conversation message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Conversation
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Conversation;

                        /**
                         * Creates a plain object from a Conversation message. Also converts values to other types if specified.
                         * @param message Conversation
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Conversation, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Conversation to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Conversation
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Conversation {

                        /** Type enum. */
                        enum Type {
                            TYPE_UNSPECIFIED = 0,
                            AUDIO = 1,
                            TEXT = 2,
                            UNDETERMINED = 3
                        }

                        /** Properties of a Metrics. */
                        interface IMetrics {

                            /** Metrics interactionCount */
                            interactionCount?: (number|null);

                            /** Metrics inputAudioDuration */
                            inputAudioDuration?: (google.protobuf.IDuration|null);

                            /** Metrics outputAudioDuration */
                            outputAudioDuration?: (google.protobuf.IDuration|null);

                            /** Metrics maxWebhookLatency */
                            maxWebhookLatency?: (google.protobuf.IDuration|null);

                            /** Metrics hasEndInteraction */
                            hasEndInteraction?: (boolean|null);

                            /** Metrics hasLiveAgentHandoff */
                            hasLiveAgentHandoff?: (boolean|null);

                            /** Metrics averageMatchConfidence */
                            averageMatchConfidence?: (number|null);

                            /** Metrics queryInputCount */
                            queryInputCount?: (google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.IQueryInputCount|null);

                            /** Metrics matchTypeCount */
                            matchTypeCount?: (google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.IMatchTypeCount|null);
                        }

                        /** Represents a Metrics. */
                        class Metrics implements IMetrics {

                            /**
                             * Constructs a new Metrics.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Conversation.IMetrics);

                            /** Metrics interactionCount. */
                            public interactionCount: number;

                            /** Metrics inputAudioDuration. */
                            public inputAudioDuration?: (google.protobuf.IDuration|null);

                            /** Metrics outputAudioDuration. */
                            public outputAudioDuration?: (google.protobuf.IDuration|null);

                            /** Metrics maxWebhookLatency. */
                            public maxWebhookLatency?: (google.protobuf.IDuration|null);

                            /** Metrics hasEndInteraction. */
                            public hasEndInteraction: boolean;

                            /** Metrics hasLiveAgentHandoff. */
                            public hasLiveAgentHandoff: boolean;

                            /** Metrics averageMatchConfidence. */
                            public averageMatchConfidence: number;

                            /** Metrics queryInputCount. */
                            public queryInputCount?: (google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.IQueryInputCount|null);

                            /** Metrics matchTypeCount. */
                            public matchTypeCount?: (google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.IMatchTypeCount|null);

                            /**
                             * Creates a new Metrics instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Metrics instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Conversation.IMetrics): google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics;

                            /**
                             * Encodes the specified Metrics message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.verify|verify} messages.
                             * @param message Metrics message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Conversation.IMetrics, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Metrics message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.verify|verify} messages.
                             * @param message Metrics message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Conversation.IMetrics, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Metrics message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Metrics
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics;

                            /**
                             * Decodes a Metrics message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Metrics
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics;

                            /**
                             * Verifies a Metrics message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Metrics message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Metrics
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics;

                            /**
                             * Creates a plain object from a Metrics message. Also converts values to other types if specified.
                             * @param message Metrics
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Metrics to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Metrics
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace Metrics {

                            /** Properties of a QueryInputCount. */
                            interface IQueryInputCount {

                                /** QueryInputCount textCount */
                                textCount?: (number|null);

                                /** QueryInputCount intentCount */
                                intentCount?: (number|null);

                                /** QueryInputCount audioCount */
                                audioCount?: (number|null);

                                /** QueryInputCount eventCount */
                                eventCount?: (number|null);

                                /** QueryInputCount dtmfCount */
                                dtmfCount?: (number|null);
                            }

                            /** Represents a QueryInputCount. */
                            class QueryInputCount implements IQueryInputCount {

                                /**
                                 * Constructs a new QueryInputCount.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.IQueryInputCount);

                                /** QueryInputCount textCount. */
                                public textCount: number;

                                /** QueryInputCount intentCount. */
                                public intentCount: number;

                                /** QueryInputCount audioCount. */
                                public audioCount: number;

                                /** QueryInputCount eventCount. */
                                public eventCount: number;

                                /** QueryInputCount dtmfCount. */
                                public dtmfCount: number;

                                /**
                                 * Creates a new QueryInputCount instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns QueryInputCount instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.IQueryInputCount): google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.QueryInputCount;

                                /**
                                 * Encodes the specified QueryInputCount message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.QueryInputCount.verify|verify} messages.
                                 * @param message QueryInputCount message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.IQueryInputCount, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified QueryInputCount message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.QueryInputCount.verify|verify} messages.
                                 * @param message QueryInputCount message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.IQueryInputCount, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a QueryInputCount message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns QueryInputCount
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.QueryInputCount;

                                /**
                                 * Decodes a QueryInputCount message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns QueryInputCount
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.QueryInputCount;

                                /**
                                 * Verifies a QueryInputCount message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a QueryInputCount message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns QueryInputCount
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.QueryInputCount;

                                /**
                                 * Creates a plain object from a QueryInputCount message. Also converts values to other types if specified.
                                 * @param message QueryInputCount
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.QueryInputCount, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this QueryInputCount to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for QueryInputCount
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            /** Properties of a MatchTypeCount. */
                            interface IMatchTypeCount {

                                /** MatchTypeCount unspecifiedCount */
                                unspecifiedCount?: (number|null);

                                /** MatchTypeCount intentCount */
                                intentCount?: (number|null);

                                /** MatchTypeCount directIntentCount */
                                directIntentCount?: (number|null);

                                /** MatchTypeCount parameterFillingCount */
                                parameterFillingCount?: (number|null);

                                /** MatchTypeCount noMatchCount */
                                noMatchCount?: (number|null);

                                /** MatchTypeCount noInputCount */
                                noInputCount?: (number|null);

                                /** MatchTypeCount eventCount */
                                eventCount?: (number|null);
                            }

                            /** Represents a MatchTypeCount. */
                            class MatchTypeCount implements IMatchTypeCount {

                                /**
                                 * Constructs a new MatchTypeCount.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.IMatchTypeCount);

                                /** MatchTypeCount unspecifiedCount. */
                                public unspecifiedCount: number;

                                /** MatchTypeCount intentCount. */
                                public intentCount: number;

                                /** MatchTypeCount directIntentCount. */
                                public directIntentCount: number;

                                /** MatchTypeCount parameterFillingCount. */
                                public parameterFillingCount: number;

                                /** MatchTypeCount noMatchCount. */
                                public noMatchCount: number;

                                /** MatchTypeCount noInputCount. */
                                public noInputCount: number;

                                /** MatchTypeCount eventCount. */
                                public eventCount: number;

                                /**
                                 * Creates a new MatchTypeCount instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns MatchTypeCount instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.IMatchTypeCount): google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.MatchTypeCount;

                                /**
                                 * Encodes the specified MatchTypeCount message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.MatchTypeCount.verify|verify} messages.
                                 * @param message MatchTypeCount message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.IMatchTypeCount, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified MatchTypeCount message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.MatchTypeCount.verify|verify} messages.
                                 * @param message MatchTypeCount message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.IMatchTypeCount, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a MatchTypeCount message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns MatchTypeCount
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.MatchTypeCount;

                                /**
                                 * Decodes a MatchTypeCount message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns MatchTypeCount
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.MatchTypeCount;

                                /**
                                 * Verifies a MatchTypeCount message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a MatchTypeCount message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns MatchTypeCount
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.MatchTypeCount;

                                /**
                                 * Creates a plain object from a MatchTypeCount message. Also converts values to other types if specified.
                                 * @param message MatchTypeCount
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.MatchTypeCount, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this MatchTypeCount to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for MatchTypeCount
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }

                        /** Properties of an Interaction. */
                        interface IInteraction {

                            /** Interaction request */
                            request?: (google.cloud.dialogflow.cx.v3beta1.IDetectIntentRequest|null);

                            /** Interaction response */
                            response?: (google.cloud.dialogflow.cx.v3beta1.IDetectIntentResponse|null);

                            /** Interaction partialResponses */
                            partialResponses?: (google.cloud.dialogflow.cx.v3beta1.IDetectIntentResponse[]|null);

                            /** Interaction requestUtterances */
                            requestUtterances?: (string|null);

                            /** Interaction responseUtterances */
                            responseUtterances?: (string|null);

                            /** Interaction createTime */
                            createTime?: (google.protobuf.ITimestamp|null);

                            /** Interaction answerFeedback */
                            answerFeedback?: (google.cloud.dialogflow.cx.v3beta1.IAnswerFeedback|null);

                            /** Interaction missingTransition */
                            missingTransition?: (google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.IMissingTransition|null);

                            /** Interaction stepMetrics */
                            stepMetrics?: (google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.IStepMetrics[]|null);
                        }

                        /** Represents an Interaction. */
                        class Interaction implements IInteraction {

                            /**
                             * Constructs a new Interaction.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Conversation.IInteraction);

                            /** Interaction request. */
                            public request?: (google.cloud.dialogflow.cx.v3beta1.IDetectIntentRequest|null);

                            /** Interaction response. */
                            public response?: (google.cloud.dialogflow.cx.v3beta1.IDetectIntentResponse|null);

                            /** Interaction partialResponses. */
                            public partialResponses: google.cloud.dialogflow.cx.v3beta1.IDetectIntentResponse[];

                            /** Interaction requestUtterances. */
                            public requestUtterances: string;

                            /** Interaction responseUtterances. */
                            public responseUtterances: string;

                            /** Interaction createTime. */
                            public createTime?: (google.protobuf.ITimestamp|null);

                            /** Interaction answerFeedback. */
                            public answerFeedback?: (google.cloud.dialogflow.cx.v3beta1.IAnswerFeedback|null);

                            /** Interaction missingTransition. */
                            public missingTransition?: (google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.IMissingTransition|null);

                            /** Interaction stepMetrics. */
                            public stepMetrics: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.IStepMetrics[];

                            /**
                             * Creates a new Interaction instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Interaction instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Conversation.IInteraction): google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction;

                            /**
                             * Encodes the specified Interaction message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.verify|verify} messages.
                             * @param message Interaction message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Conversation.IInteraction, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Interaction message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.verify|verify} messages.
                             * @param message Interaction message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Conversation.IInteraction, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an Interaction message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Interaction
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction;

                            /**
                             * Decodes an Interaction message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Interaction
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction;

                            /**
                             * Verifies an Interaction message.
                             * @param message Plain 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 Interaction message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Interaction
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction;

                            /**
                             * Creates a plain object from an Interaction message. Also converts values to other types if specified.
                             * @param message Interaction
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Interaction to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Interaction
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace Interaction {

                            /** Properties of a MissingTransition. */
                            interface IMissingTransition {

                                /** MissingTransition intentDisplayName */
                                intentDisplayName?: (string|null);

                                /** MissingTransition score */
                                score?: (number|null);
                            }

                            /** Represents a MissingTransition. */
                            class MissingTransition implements IMissingTransition {

                                /**
                                 * Constructs a new MissingTransition.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.IMissingTransition);

                                /** MissingTransition intentDisplayName. */
                                public intentDisplayName: string;

                                /** MissingTransition score. */
                                public score: number;

                                /**
                                 * Creates a new MissingTransition instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns MissingTransition instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.IMissingTransition): google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.MissingTransition;

                                /**
                                 * Encodes the specified MissingTransition message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.MissingTransition.verify|verify} messages.
                                 * @param message MissingTransition message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.IMissingTransition, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified MissingTransition message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.MissingTransition.verify|verify} messages.
                                 * @param message MissingTransition message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.IMissingTransition, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a MissingTransition message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns MissingTransition
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.MissingTransition;

                                /**
                                 * Decodes a MissingTransition message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns MissingTransition
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.MissingTransition;

                                /**
                                 * Verifies a MissingTransition message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a MissingTransition message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns MissingTransition
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.MissingTransition;

                                /**
                                 * Creates a plain object from a MissingTransition message. Also converts values to other types if specified.
                                 * @param message MissingTransition
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.MissingTransition, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this MissingTransition to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for MissingTransition
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            /** Properties of a StepMetrics. */
                            interface IStepMetrics {

                                /** StepMetrics name */
                                name?: (string|null);

                                /** StepMetrics latency */
                                latency?: (google.protobuf.IDuration|null);
                            }

                            /** Represents a StepMetrics. */
                            class StepMetrics implements IStepMetrics {

                                /**
                                 * Constructs a new StepMetrics.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.IStepMetrics);

                                /** StepMetrics name. */
                                public name: string;

                                /** StepMetrics latency. */
                                public latency?: (google.protobuf.IDuration|null);

                                /**
                                 * Creates a new StepMetrics instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns StepMetrics instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.IStepMetrics): google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.StepMetrics;

                                /**
                                 * Encodes the specified StepMetrics message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.StepMetrics.verify|verify} messages.
                                 * @param message StepMetrics message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.IStepMetrics, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified StepMetrics message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.StepMetrics.verify|verify} messages.
                                 * @param message StepMetrics message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.IStepMetrics, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a StepMetrics message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns StepMetrics
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.StepMetrics;

                                /**
                                 * Decodes a StepMetrics message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns StepMetrics
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.StepMetrics;

                                /**
                                 * Verifies a StepMetrics message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a StepMetrics message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns StepMetrics
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.StepMetrics;

                                /**
                                 * Creates a plain object from a StepMetrics message. Also converts values to other types if specified.
                                 * @param message StepMetrics
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.StepMetrics, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this StepMetrics to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for StepMetrics
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }
                    }

                    /** Represents an Environments */
                    class Environments extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Environments 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 Environments 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): Environments;

                        /**
                         * Calls ListEnvironments.
                         * @param request ListEnvironmentsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListEnvironmentsResponse
                         */
                        public listEnvironments(request: google.cloud.dialogflow.cx.v3beta1.IListEnvironmentsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Environments.ListEnvironmentsCallback): void;

                        /**
                         * Calls ListEnvironments.
                         * @param request ListEnvironmentsRequest message or plain object
                         * @returns Promise
                         */
                        public listEnvironments(request: google.cloud.dialogflow.cx.v3beta1.IListEnvironmentsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsResponse>;

                        /**
                         * Calls GetEnvironment.
                         * @param request GetEnvironmentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Environment
                         */
                        public getEnvironment(request: google.cloud.dialogflow.cx.v3beta1.IGetEnvironmentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Environments.GetEnvironmentCallback): void;

                        /**
                         * Calls GetEnvironment.
                         * @param request GetEnvironmentRequest message or plain object
                         * @returns Promise
                         */
                        public getEnvironment(request: google.cloud.dialogflow.cx.v3beta1.IGetEnvironmentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Environment>;

                        /**
                         * Calls CreateEnvironment.
                         * @param request CreateEnvironmentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public createEnvironment(request: google.cloud.dialogflow.cx.v3beta1.ICreateEnvironmentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Environments.CreateEnvironmentCallback): void;

                        /**
                         * Calls CreateEnvironment.
                         * @param request CreateEnvironmentRequest message or plain object
                         * @returns Promise
                         */
                        public createEnvironment(request: google.cloud.dialogflow.cx.v3beta1.ICreateEnvironmentRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls UpdateEnvironment.
                         * @param request UpdateEnvironmentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public updateEnvironment(request: google.cloud.dialogflow.cx.v3beta1.IUpdateEnvironmentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Environments.UpdateEnvironmentCallback): void;

                        /**
                         * Calls UpdateEnvironment.
                         * @param request UpdateEnvironmentRequest message or plain object
                         * @returns Promise
                         */
                        public updateEnvironment(request: google.cloud.dialogflow.cx.v3beta1.IUpdateEnvironmentRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls DeleteEnvironment.
                         * @param request DeleteEnvironmentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteEnvironment(request: google.cloud.dialogflow.cx.v3beta1.IDeleteEnvironmentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Environments.DeleteEnvironmentCallback): void;

                        /**
                         * Calls DeleteEnvironment.
                         * @param request DeleteEnvironmentRequest message or plain object
                         * @returns Promise
                         */
                        public deleteEnvironment(request: google.cloud.dialogflow.cx.v3beta1.IDeleteEnvironmentRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls LookupEnvironmentHistory.
                         * @param request LookupEnvironmentHistoryRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and LookupEnvironmentHistoryResponse
                         */
                        public lookupEnvironmentHistory(request: google.cloud.dialogflow.cx.v3beta1.ILookupEnvironmentHistoryRequest, callback: google.cloud.dialogflow.cx.v3beta1.Environments.LookupEnvironmentHistoryCallback): void;

                        /**
                         * Calls LookupEnvironmentHistory.
                         * @param request LookupEnvironmentHistoryRequest message or plain object
                         * @returns Promise
                         */
                        public lookupEnvironmentHistory(request: google.cloud.dialogflow.cx.v3beta1.ILookupEnvironmentHistoryRequest): Promise<google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryResponse>;

                        /**
                         * Calls RunContinuousTest.
                         * @param request RunContinuousTestRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public runContinuousTest(request: google.cloud.dialogflow.cx.v3beta1.IRunContinuousTestRequest, callback: google.cloud.dialogflow.cx.v3beta1.Environments.RunContinuousTestCallback): void;

                        /**
                         * Calls RunContinuousTest.
                         * @param request RunContinuousTestRequest message or plain object
                         * @returns Promise
                         */
                        public runContinuousTest(request: google.cloud.dialogflow.cx.v3beta1.IRunContinuousTestRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ListContinuousTestResults.
                         * @param request ListContinuousTestResultsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListContinuousTestResultsResponse
                         */
                        public listContinuousTestResults(request: google.cloud.dialogflow.cx.v3beta1.IListContinuousTestResultsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Environments.ListContinuousTestResultsCallback): void;

                        /**
                         * Calls ListContinuousTestResults.
                         * @param request ListContinuousTestResultsRequest message or plain object
                         * @returns Promise
                         */
                        public listContinuousTestResults(request: google.cloud.dialogflow.cx.v3beta1.IListContinuousTestResultsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsResponse>;

                        /**
                         * Calls DeployFlow.
                         * @param request DeployFlowRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public deployFlow(request: google.cloud.dialogflow.cx.v3beta1.IDeployFlowRequest, callback: google.cloud.dialogflow.cx.v3beta1.Environments.DeployFlowCallback): void;

                        /**
                         * Calls DeployFlow.
                         * @param request DeployFlowRequest message or plain object
                         * @returns Promise
                         */
                        public deployFlow(request: google.cloud.dialogflow.cx.v3beta1.IDeployFlowRequest): Promise<google.longrunning.Operation>;
                    }

                    namespace Environments {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Environments|listEnvironments}.
                         * @param error Error, if any
                         * @param [response] ListEnvironmentsResponse
                         */
                        type ListEnvironmentsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Environments|getEnvironment}.
                         * @param error Error, if any
                         * @param [response] Environment
                         */
                        type GetEnvironmentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Environment) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Environments|createEnvironment}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type CreateEnvironmentCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Environments|updateEnvironment}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type UpdateEnvironmentCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Environments|deleteEnvironment}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteEnvironmentCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Environments|lookupEnvironmentHistory}.
                         * @param error Error, if any
                         * @param [response] LookupEnvironmentHistoryResponse
                         */
                        type LookupEnvironmentHistoryCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Environments|runContinuousTest}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type RunContinuousTestCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Environments|listContinuousTestResults}.
                         * @param error Error, if any
                         * @param [response] ListContinuousTestResultsResponse
                         */
                        type ListContinuousTestResultsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Environments|deployFlow}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type DeployFlowCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
                    }

                    /** Properties of an Environment. */
                    interface IEnvironment {

                        /** Environment name */
                        name?: (string|null);

                        /** Environment displayName */
                        displayName?: (string|null);

                        /** Environment description */
                        description?: (string|null);

                        /** Environment versionConfigs */
                        versionConfigs?: (google.cloud.dialogflow.cx.v3beta1.Environment.IVersionConfig[]|null);

                        /** Environment updateTime */
                        updateTime?: (google.protobuf.ITimestamp|null);

                        /** Environment testCasesConfig */
                        testCasesConfig?: (google.cloud.dialogflow.cx.v3beta1.Environment.ITestCasesConfig|null);

                        /** Environment webhookConfig */
                        webhookConfig?: (google.cloud.dialogflow.cx.v3beta1.Environment.IWebhookConfig|null);
                    }

                    /** Represents an Environment. */
                    class Environment implements IEnvironment {

                        /**
                         * Constructs a new Environment.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IEnvironment);

                        /** Environment name. */
                        public name: string;

                        /** Environment displayName. */
                        public displayName: string;

                        /** Environment description. */
                        public description: string;

                        /** Environment versionConfigs. */
                        public versionConfigs: google.cloud.dialogflow.cx.v3beta1.Environment.IVersionConfig[];

                        /** Environment updateTime. */
                        public updateTime?: (google.protobuf.ITimestamp|null);

                        /** Environment testCasesConfig. */
                        public testCasesConfig?: (google.cloud.dialogflow.cx.v3beta1.Environment.ITestCasesConfig|null);

                        /** Environment webhookConfig. */
                        public webhookConfig?: (google.cloud.dialogflow.cx.v3beta1.Environment.IWebhookConfig|null);

                        /**
                         * Creates a new Environment instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Environment instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IEnvironment): google.cloud.dialogflow.cx.v3beta1.Environment;

                        /**
                         * Encodes the specified Environment message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Environment.verify|verify} messages.
                         * @param message Environment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IEnvironment, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Environment message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Environment.verify|verify} messages.
                         * @param message Environment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IEnvironment, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an Environment message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Environment
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Environment;

                        /**
                         * Decodes an Environment message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Environment
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Environment;

                        /**
                         * Verifies an Environment message.
                         * @param message Plain 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 Environment message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Environment
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Environment;

                        /**
                         * Creates a plain object from an Environment message. Also converts values to other types if specified.
                         * @param message Environment
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Environment, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Environment to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Environment
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Environment {

                        /** Properties of a VersionConfig. */
                        interface IVersionConfig {

                            /** VersionConfig version */
                            version?: (string|null);
                        }

                        /** Represents a VersionConfig. */
                        class VersionConfig implements IVersionConfig {

                            /**
                             * Constructs a new VersionConfig.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Environment.IVersionConfig);

                            /** VersionConfig version. */
                            public version: string;

                            /**
                             * Creates a new VersionConfig instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns VersionConfig instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Environment.IVersionConfig): google.cloud.dialogflow.cx.v3beta1.Environment.VersionConfig;

                            /**
                             * Encodes the specified VersionConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Environment.VersionConfig.verify|verify} messages.
                             * @param message VersionConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Environment.IVersionConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified VersionConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Environment.VersionConfig.verify|verify} messages.
                             * @param message VersionConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Environment.IVersionConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a VersionConfig message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns VersionConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Environment.VersionConfig;

                            /**
                             * Decodes a VersionConfig message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns VersionConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Environment.VersionConfig;

                            /**
                             * Verifies a VersionConfig message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a VersionConfig message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns VersionConfig
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Environment.VersionConfig;

                            /**
                             * Creates a plain object from a VersionConfig message. Also converts values to other types if specified.
                             * @param message VersionConfig
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Environment.VersionConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this VersionConfig to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for VersionConfig
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a TestCasesConfig. */
                        interface ITestCasesConfig {

                            /** TestCasesConfig testCases */
                            testCases?: (string[]|null);

                            /** TestCasesConfig enableContinuousRun */
                            enableContinuousRun?: (boolean|null);

                            /** TestCasesConfig enablePredeploymentRun */
                            enablePredeploymentRun?: (boolean|null);
                        }

                        /** Represents a TestCasesConfig. */
                        class TestCasesConfig implements ITestCasesConfig {

                            /**
                             * Constructs a new TestCasesConfig.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Environment.ITestCasesConfig);

                            /** TestCasesConfig testCases. */
                            public testCases: string[];

                            /** TestCasesConfig enableContinuousRun. */
                            public enableContinuousRun: boolean;

                            /** TestCasesConfig enablePredeploymentRun. */
                            public enablePredeploymentRun: boolean;

                            /**
                             * Creates a new TestCasesConfig instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns TestCasesConfig instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Environment.ITestCasesConfig): google.cloud.dialogflow.cx.v3beta1.Environment.TestCasesConfig;

                            /**
                             * Encodes the specified TestCasesConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Environment.TestCasesConfig.verify|verify} messages.
                             * @param message TestCasesConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Environment.ITestCasesConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified TestCasesConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Environment.TestCasesConfig.verify|verify} messages.
                             * @param message TestCasesConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Environment.ITestCasesConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a TestCasesConfig message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns TestCasesConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Environment.TestCasesConfig;

                            /**
                             * Decodes a TestCasesConfig message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns TestCasesConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Environment.TestCasesConfig;

                            /**
                             * Verifies a TestCasesConfig message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a TestCasesConfig message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns TestCasesConfig
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Environment.TestCasesConfig;

                            /**
                             * Creates a plain object from a TestCasesConfig message. Also converts values to other types if specified.
                             * @param message TestCasesConfig
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Environment.TestCasesConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this TestCasesConfig to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for TestCasesConfig
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a WebhookConfig. */
                        interface IWebhookConfig {

                            /** WebhookConfig webhookOverrides */
                            webhookOverrides?: (google.cloud.dialogflow.cx.v3beta1.IWebhook[]|null);
                        }

                        /** Represents a WebhookConfig. */
                        class WebhookConfig implements IWebhookConfig {

                            /**
                             * Constructs a new WebhookConfig.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Environment.IWebhookConfig);

                            /** WebhookConfig webhookOverrides. */
                            public webhookOverrides: google.cloud.dialogflow.cx.v3beta1.IWebhook[];

                            /**
                             * Creates a new WebhookConfig instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns WebhookConfig instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Environment.IWebhookConfig): google.cloud.dialogflow.cx.v3beta1.Environment.WebhookConfig;

                            /**
                             * Encodes the specified WebhookConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Environment.WebhookConfig.verify|verify} messages.
                             * @param message WebhookConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Environment.IWebhookConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified WebhookConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Environment.WebhookConfig.verify|verify} messages.
                             * @param message WebhookConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Environment.IWebhookConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a WebhookConfig message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns WebhookConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Environment.WebhookConfig;

                            /**
                             * Decodes a WebhookConfig message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns WebhookConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Environment.WebhookConfig;

                            /**
                             * Verifies a WebhookConfig message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a WebhookConfig message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns WebhookConfig
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Environment.WebhookConfig;

                            /**
                             * Creates a plain object from a WebhookConfig message. Also converts values to other types if specified.
                             * @param message WebhookConfig
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Environment.WebhookConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this WebhookConfig to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for WebhookConfig
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a ListEnvironmentsRequest. */
                    interface IListEnvironmentsRequest {

                        /** ListEnvironmentsRequest parent */
                        parent?: (string|null);

                        /** ListEnvironmentsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListEnvironmentsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListEnvironmentsRequest. */
                    class ListEnvironmentsRequest implements IListEnvironmentsRequest {

                        /**
                         * Constructs a new ListEnvironmentsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListEnvironmentsRequest);

                        /** ListEnvironmentsRequest parent. */
                        public parent: string;

                        /** ListEnvironmentsRequest pageSize. */
                        public pageSize: number;

                        /** ListEnvironmentsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListEnvironmentsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListEnvironmentsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListEnvironmentsRequest): google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsRequest;

                        /**
                         * Encodes the specified ListEnvironmentsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsRequest.verify|verify} messages.
                         * @param message ListEnvironmentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListEnvironmentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListEnvironmentsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsRequest.verify|verify} messages.
                         * @param message ListEnvironmentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListEnvironmentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListEnvironmentsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListEnvironmentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsRequest;

                        /**
                         * Decodes a ListEnvironmentsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListEnvironmentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsRequest;

                        /**
                         * Verifies a ListEnvironmentsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListEnvironmentsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListEnvironmentsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsRequest;

                        /**
                         * Creates a plain object from a ListEnvironmentsRequest message. Also converts values to other types if specified.
                         * @param message ListEnvironmentsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListEnvironmentsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListEnvironmentsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListEnvironmentsResponse. */
                    interface IListEnvironmentsResponse {

                        /** ListEnvironmentsResponse environments */
                        environments?: (google.cloud.dialogflow.cx.v3beta1.IEnvironment[]|null);

                        /** ListEnvironmentsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListEnvironmentsResponse. */
                    class ListEnvironmentsResponse implements IListEnvironmentsResponse {

                        /**
                         * Constructs a new ListEnvironmentsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListEnvironmentsResponse);

                        /** ListEnvironmentsResponse environments. */
                        public environments: google.cloud.dialogflow.cx.v3beta1.IEnvironment[];

                        /** ListEnvironmentsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListEnvironmentsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListEnvironmentsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListEnvironmentsResponse): google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsResponse;

                        /**
                         * Encodes the specified ListEnvironmentsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsResponse.verify|verify} messages.
                         * @param message ListEnvironmentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListEnvironmentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListEnvironmentsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsResponse.verify|verify} messages.
                         * @param message ListEnvironmentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListEnvironmentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListEnvironmentsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListEnvironmentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsResponse;

                        /**
                         * Decodes a ListEnvironmentsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListEnvironmentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsResponse;

                        /**
                         * Verifies a ListEnvironmentsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListEnvironmentsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListEnvironmentsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsResponse;

                        /**
                         * Creates a plain object from a ListEnvironmentsResponse message. Also converts values to other types if specified.
                         * @param message ListEnvironmentsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListEnvironmentsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListEnvironmentsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListEnvironmentsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetEnvironmentRequest. */
                    interface IGetEnvironmentRequest {

                        /** GetEnvironmentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetEnvironmentRequest. */
                    class GetEnvironmentRequest implements IGetEnvironmentRequest {

                        /**
                         * Constructs a new GetEnvironmentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetEnvironmentRequest);

                        /** GetEnvironmentRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetEnvironmentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetEnvironmentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetEnvironmentRequest): google.cloud.dialogflow.cx.v3beta1.GetEnvironmentRequest;

                        /**
                         * Encodes the specified GetEnvironmentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetEnvironmentRequest.verify|verify} messages.
                         * @param message GetEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetEnvironmentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetEnvironmentRequest.verify|verify} messages.
                         * @param message GetEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetEnvironmentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetEnvironmentRequest;

                        /**
                         * Decodes a GetEnvironmentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetEnvironmentRequest;

                        /**
                         * Verifies a GetEnvironmentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetEnvironmentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetEnvironmentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetEnvironmentRequest;

                        /**
                         * Creates a plain object from a GetEnvironmentRequest message. Also converts values to other types if specified.
                         * @param message GetEnvironmentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetEnvironmentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetEnvironmentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetEnvironmentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateEnvironmentRequest. */
                    interface ICreateEnvironmentRequest {

                        /** CreateEnvironmentRequest parent */
                        parent?: (string|null);

                        /** CreateEnvironmentRequest environment */
                        environment?: (google.cloud.dialogflow.cx.v3beta1.IEnvironment|null);
                    }

                    /** Represents a CreateEnvironmentRequest. */
                    class CreateEnvironmentRequest implements ICreateEnvironmentRequest {

                        /**
                         * Constructs a new CreateEnvironmentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateEnvironmentRequest);

                        /** CreateEnvironmentRequest parent. */
                        public parent: string;

                        /** CreateEnvironmentRequest environment. */
                        public environment?: (google.cloud.dialogflow.cx.v3beta1.IEnvironment|null);

                        /**
                         * Creates a new CreateEnvironmentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateEnvironmentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateEnvironmentRequest): google.cloud.dialogflow.cx.v3beta1.CreateEnvironmentRequest;

                        /**
                         * Encodes the specified CreateEnvironmentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateEnvironmentRequest.verify|verify} messages.
                         * @param message CreateEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateEnvironmentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateEnvironmentRequest.verify|verify} messages.
                         * @param message CreateEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateEnvironmentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateEnvironmentRequest;

                        /**
                         * Decodes a CreateEnvironmentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateEnvironmentRequest;

                        /**
                         * Verifies a CreateEnvironmentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateEnvironmentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateEnvironmentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateEnvironmentRequest;

                        /**
                         * Creates a plain object from a CreateEnvironmentRequest message. Also converts values to other types if specified.
                         * @param message CreateEnvironmentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateEnvironmentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateEnvironmentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateEnvironmentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateEnvironmentRequest. */
                    interface IUpdateEnvironmentRequest {

                        /** UpdateEnvironmentRequest environment */
                        environment?: (google.cloud.dialogflow.cx.v3beta1.IEnvironment|null);

                        /** UpdateEnvironmentRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateEnvironmentRequest. */
                    class UpdateEnvironmentRequest implements IUpdateEnvironmentRequest {

                        /**
                         * Constructs a new UpdateEnvironmentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateEnvironmentRequest);

                        /** UpdateEnvironmentRequest environment. */
                        public environment?: (google.cloud.dialogflow.cx.v3beta1.IEnvironment|null);

                        /** UpdateEnvironmentRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateEnvironmentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateEnvironmentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateEnvironmentRequest): google.cloud.dialogflow.cx.v3beta1.UpdateEnvironmentRequest;

                        /**
                         * Encodes the specified UpdateEnvironmentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateEnvironmentRequest.verify|verify} messages.
                         * @param message UpdateEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateEnvironmentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateEnvironmentRequest.verify|verify} messages.
                         * @param message UpdateEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateEnvironmentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateEnvironmentRequest;

                        /**
                         * Decodes an UpdateEnvironmentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateEnvironmentRequest;

                        /**
                         * Verifies an UpdateEnvironmentRequest message.
                         * @param message Plain 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 UpdateEnvironmentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateEnvironmentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateEnvironmentRequest;

                        /**
                         * Creates a plain object from an UpdateEnvironmentRequest message. Also converts values to other types if specified.
                         * @param message UpdateEnvironmentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateEnvironmentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateEnvironmentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateEnvironmentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteEnvironmentRequest. */
                    interface IDeleteEnvironmentRequest {

                        /** DeleteEnvironmentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeleteEnvironmentRequest. */
                    class DeleteEnvironmentRequest implements IDeleteEnvironmentRequest {

                        /**
                         * Constructs a new DeleteEnvironmentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteEnvironmentRequest);

                        /** DeleteEnvironmentRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeleteEnvironmentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteEnvironmentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteEnvironmentRequest): google.cloud.dialogflow.cx.v3beta1.DeleteEnvironmentRequest;

                        /**
                         * Encodes the specified DeleteEnvironmentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteEnvironmentRequest.verify|verify} messages.
                         * @param message DeleteEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteEnvironmentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteEnvironmentRequest.verify|verify} messages.
                         * @param message DeleteEnvironmentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteEnvironmentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteEnvironmentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteEnvironmentRequest;

                        /**
                         * Decodes a DeleteEnvironmentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteEnvironmentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteEnvironmentRequest;

                        /**
                         * Verifies a DeleteEnvironmentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteEnvironmentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteEnvironmentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteEnvironmentRequest;

                        /**
                         * Creates a plain object from a DeleteEnvironmentRequest message. Also converts values to other types if specified.
                         * @param message DeleteEnvironmentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteEnvironmentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteEnvironmentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteEnvironmentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a LookupEnvironmentHistoryRequest. */
                    interface ILookupEnvironmentHistoryRequest {

                        /** LookupEnvironmentHistoryRequest name */
                        name?: (string|null);

                        /** LookupEnvironmentHistoryRequest pageSize */
                        pageSize?: (number|null);

                        /** LookupEnvironmentHistoryRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a LookupEnvironmentHistoryRequest. */
                    class LookupEnvironmentHistoryRequest implements ILookupEnvironmentHistoryRequest {

                        /**
                         * Constructs a new LookupEnvironmentHistoryRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ILookupEnvironmentHistoryRequest);

                        /** LookupEnvironmentHistoryRequest name. */
                        public name: string;

                        /** LookupEnvironmentHistoryRequest pageSize. */
                        public pageSize: number;

                        /** LookupEnvironmentHistoryRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new LookupEnvironmentHistoryRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns LookupEnvironmentHistoryRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ILookupEnvironmentHistoryRequest): google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryRequest;

                        /**
                         * Encodes the specified LookupEnvironmentHistoryRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryRequest.verify|verify} messages.
                         * @param message LookupEnvironmentHistoryRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ILookupEnvironmentHistoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified LookupEnvironmentHistoryRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryRequest.verify|verify} messages.
                         * @param message LookupEnvironmentHistoryRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ILookupEnvironmentHistoryRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a LookupEnvironmentHistoryRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns LookupEnvironmentHistoryRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryRequest;

                        /**
                         * Decodes a LookupEnvironmentHistoryRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns LookupEnvironmentHistoryRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryRequest;

                        /**
                         * Verifies a LookupEnvironmentHistoryRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a LookupEnvironmentHistoryRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns LookupEnvironmentHistoryRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryRequest;

                        /**
                         * Creates a plain object from a LookupEnvironmentHistoryRequest message. Also converts values to other types if specified.
                         * @param message LookupEnvironmentHistoryRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this LookupEnvironmentHistoryRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for LookupEnvironmentHistoryRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a LookupEnvironmentHistoryResponse. */
                    interface ILookupEnvironmentHistoryResponse {

                        /** LookupEnvironmentHistoryResponse environments */
                        environments?: (google.cloud.dialogflow.cx.v3beta1.IEnvironment[]|null);

                        /** LookupEnvironmentHistoryResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a LookupEnvironmentHistoryResponse. */
                    class LookupEnvironmentHistoryResponse implements ILookupEnvironmentHistoryResponse {

                        /**
                         * Constructs a new LookupEnvironmentHistoryResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ILookupEnvironmentHistoryResponse);

                        /** LookupEnvironmentHistoryResponse environments. */
                        public environments: google.cloud.dialogflow.cx.v3beta1.IEnvironment[];

                        /** LookupEnvironmentHistoryResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new LookupEnvironmentHistoryResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns LookupEnvironmentHistoryResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ILookupEnvironmentHistoryResponse): google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryResponse;

                        /**
                         * Encodes the specified LookupEnvironmentHistoryResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryResponse.verify|verify} messages.
                         * @param message LookupEnvironmentHistoryResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ILookupEnvironmentHistoryResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified LookupEnvironmentHistoryResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryResponse.verify|verify} messages.
                         * @param message LookupEnvironmentHistoryResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ILookupEnvironmentHistoryResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a LookupEnvironmentHistoryResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns LookupEnvironmentHistoryResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryResponse;

                        /**
                         * Decodes a LookupEnvironmentHistoryResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns LookupEnvironmentHistoryResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryResponse;

                        /**
                         * Verifies a LookupEnvironmentHistoryResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a LookupEnvironmentHistoryResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns LookupEnvironmentHistoryResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryResponse;

                        /**
                         * Creates a plain object from a LookupEnvironmentHistoryResponse message. Also converts values to other types if specified.
                         * @param message LookupEnvironmentHistoryResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.LookupEnvironmentHistoryResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this LookupEnvironmentHistoryResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for LookupEnvironmentHistoryResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ContinuousTestResult. */
                    interface IContinuousTestResult {

                        /** ContinuousTestResult name */
                        name?: (string|null);

                        /** ContinuousTestResult result */
                        result?: (google.cloud.dialogflow.cx.v3beta1.ContinuousTestResult.AggregatedTestResult|keyof typeof google.cloud.dialogflow.cx.v3beta1.ContinuousTestResult.AggregatedTestResult|null);

                        /** ContinuousTestResult testCaseResults */
                        testCaseResults?: (string[]|null);

                        /** ContinuousTestResult runTime */
                        runTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a ContinuousTestResult. */
                    class ContinuousTestResult implements IContinuousTestResult {

                        /**
                         * Constructs a new ContinuousTestResult.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IContinuousTestResult);

                        /** ContinuousTestResult name. */
                        public name: string;

                        /** ContinuousTestResult result. */
                        public result: (google.cloud.dialogflow.cx.v3beta1.ContinuousTestResult.AggregatedTestResult|keyof typeof google.cloud.dialogflow.cx.v3beta1.ContinuousTestResult.AggregatedTestResult);

                        /** ContinuousTestResult testCaseResults. */
                        public testCaseResults: string[];

                        /** ContinuousTestResult runTime. */
                        public runTime?: (google.protobuf.ITimestamp|null);

                        /**
                         * Creates a new ContinuousTestResult instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ContinuousTestResult instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IContinuousTestResult): google.cloud.dialogflow.cx.v3beta1.ContinuousTestResult;

                        /**
                         * Encodes the specified ContinuousTestResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ContinuousTestResult.verify|verify} messages.
                         * @param message ContinuousTestResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IContinuousTestResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ContinuousTestResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ContinuousTestResult.verify|verify} messages.
                         * @param message ContinuousTestResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IContinuousTestResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ContinuousTestResult message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ContinuousTestResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ContinuousTestResult;

                        /**
                         * Decodes a ContinuousTestResult message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ContinuousTestResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ContinuousTestResult;

                        /**
                         * Verifies a ContinuousTestResult message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ContinuousTestResult message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ContinuousTestResult
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ContinuousTestResult;

                        /**
                         * Creates a plain object from a ContinuousTestResult message. Also converts values to other types if specified.
                         * @param message ContinuousTestResult
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ContinuousTestResult, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ContinuousTestResult to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ContinuousTestResult
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ContinuousTestResult {

                        /** AggregatedTestResult enum. */
                        enum AggregatedTestResult {
                            AGGREGATED_TEST_RESULT_UNSPECIFIED = 0,
                            PASSED = 1,
                            FAILED = 2
                        }
                    }

                    /** Properties of a RunContinuousTestRequest. */
                    interface IRunContinuousTestRequest {

                        /** RunContinuousTestRequest environment */
                        environment?: (string|null);
                    }

                    /** Represents a RunContinuousTestRequest. */
                    class RunContinuousTestRequest implements IRunContinuousTestRequest {

                        /**
                         * Constructs a new RunContinuousTestRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IRunContinuousTestRequest);

                        /** RunContinuousTestRequest environment. */
                        public environment: string;

                        /**
                         * Creates a new RunContinuousTestRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RunContinuousTestRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IRunContinuousTestRequest): google.cloud.dialogflow.cx.v3beta1.RunContinuousTestRequest;

                        /**
                         * Encodes the specified RunContinuousTestRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RunContinuousTestRequest.verify|verify} messages.
                         * @param message RunContinuousTestRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IRunContinuousTestRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RunContinuousTestRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RunContinuousTestRequest.verify|verify} messages.
                         * @param message RunContinuousTestRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IRunContinuousTestRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RunContinuousTestRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RunContinuousTestRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.RunContinuousTestRequest;

                        /**
                         * Decodes a RunContinuousTestRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RunContinuousTestRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.RunContinuousTestRequest;

                        /**
                         * Verifies a RunContinuousTestRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RunContinuousTestRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RunContinuousTestRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.RunContinuousTestRequest;

                        /**
                         * Creates a plain object from a RunContinuousTestRequest message. Also converts values to other types if specified.
                         * @param message RunContinuousTestRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.RunContinuousTestRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RunContinuousTestRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RunContinuousTestRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a RunContinuousTestResponse. */
                    interface IRunContinuousTestResponse {

                        /** RunContinuousTestResponse continuousTestResult */
                        continuousTestResult?: (google.cloud.dialogflow.cx.v3beta1.IContinuousTestResult|null);
                    }

                    /** Represents a RunContinuousTestResponse. */
                    class RunContinuousTestResponse implements IRunContinuousTestResponse {

                        /**
                         * Constructs a new RunContinuousTestResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IRunContinuousTestResponse);

                        /** RunContinuousTestResponse continuousTestResult. */
                        public continuousTestResult?: (google.cloud.dialogflow.cx.v3beta1.IContinuousTestResult|null);

                        /**
                         * Creates a new RunContinuousTestResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RunContinuousTestResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IRunContinuousTestResponse): google.cloud.dialogflow.cx.v3beta1.RunContinuousTestResponse;

                        /**
                         * Encodes the specified RunContinuousTestResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RunContinuousTestResponse.verify|verify} messages.
                         * @param message RunContinuousTestResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IRunContinuousTestResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RunContinuousTestResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RunContinuousTestResponse.verify|verify} messages.
                         * @param message RunContinuousTestResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IRunContinuousTestResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RunContinuousTestResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RunContinuousTestResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.RunContinuousTestResponse;

                        /**
                         * Decodes a RunContinuousTestResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RunContinuousTestResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.RunContinuousTestResponse;

                        /**
                         * Verifies a RunContinuousTestResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RunContinuousTestResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RunContinuousTestResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.RunContinuousTestResponse;

                        /**
                         * Creates a plain object from a RunContinuousTestResponse message. Also converts values to other types if specified.
                         * @param message RunContinuousTestResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.RunContinuousTestResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RunContinuousTestResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RunContinuousTestResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a RunContinuousTestMetadata. */
                    interface IRunContinuousTestMetadata {

                        /** RunContinuousTestMetadata errors */
                        errors?: (google.cloud.dialogflow.cx.v3beta1.ITestError[]|null);
                    }

                    /** Represents a RunContinuousTestMetadata. */
                    class RunContinuousTestMetadata implements IRunContinuousTestMetadata {

                        /**
                         * Constructs a new RunContinuousTestMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IRunContinuousTestMetadata);

                        /** RunContinuousTestMetadata errors. */
                        public errors: google.cloud.dialogflow.cx.v3beta1.ITestError[];

                        /**
                         * Creates a new RunContinuousTestMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RunContinuousTestMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IRunContinuousTestMetadata): google.cloud.dialogflow.cx.v3beta1.RunContinuousTestMetadata;

                        /**
                         * Encodes the specified RunContinuousTestMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RunContinuousTestMetadata.verify|verify} messages.
                         * @param message RunContinuousTestMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IRunContinuousTestMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RunContinuousTestMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RunContinuousTestMetadata.verify|verify} messages.
                         * @param message RunContinuousTestMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IRunContinuousTestMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RunContinuousTestMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RunContinuousTestMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.RunContinuousTestMetadata;

                        /**
                         * Decodes a RunContinuousTestMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RunContinuousTestMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.RunContinuousTestMetadata;

                        /**
                         * Verifies a RunContinuousTestMetadata message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RunContinuousTestMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RunContinuousTestMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.RunContinuousTestMetadata;

                        /**
                         * Creates a plain object from a RunContinuousTestMetadata message. Also converts values to other types if specified.
                         * @param message RunContinuousTestMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.RunContinuousTestMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RunContinuousTestMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RunContinuousTestMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListContinuousTestResultsRequest. */
                    interface IListContinuousTestResultsRequest {

                        /** ListContinuousTestResultsRequest parent */
                        parent?: (string|null);

                        /** ListContinuousTestResultsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListContinuousTestResultsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListContinuousTestResultsRequest. */
                    class ListContinuousTestResultsRequest implements IListContinuousTestResultsRequest {

                        /**
                         * Constructs a new ListContinuousTestResultsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListContinuousTestResultsRequest);

                        /** ListContinuousTestResultsRequest parent. */
                        public parent: string;

                        /** ListContinuousTestResultsRequest pageSize. */
                        public pageSize: number;

                        /** ListContinuousTestResultsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListContinuousTestResultsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListContinuousTestResultsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListContinuousTestResultsRequest): google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsRequest;

                        /**
                         * Encodes the specified ListContinuousTestResultsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsRequest.verify|verify} messages.
                         * @param message ListContinuousTestResultsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListContinuousTestResultsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListContinuousTestResultsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsRequest.verify|verify} messages.
                         * @param message ListContinuousTestResultsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListContinuousTestResultsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListContinuousTestResultsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListContinuousTestResultsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsRequest;

                        /**
                         * Decodes a ListContinuousTestResultsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListContinuousTestResultsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsRequest;

                        /**
                         * Verifies a ListContinuousTestResultsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListContinuousTestResultsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListContinuousTestResultsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsRequest;

                        /**
                         * Creates a plain object from a ListContinuousTestResultsRequest message. Also converts values to other types if specified.
                         * @param message ListContinuousTestResultsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListContinuousTestResultsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListContinuousTestResultsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListContinuousTestResultsResponse. */
                    interface IListContinuousTestResultsResponse {

                        /** ListContinuousTestResultsResponse continuousTestResults */
                        continuousTestResults?: (google.cloud.dialogflow.cx.v3beta1.IContinuousTestResult[]|null);

                        /** ListContinuousTestResultsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListContinuousTestResultsResponse. */
                    class ListContinuousTestResultsResponse implements IListContinuousTestResultsResponse {

                        /**
                         * Constructs a new ListContinuousTestResultsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListContinuousTestResultsResponse);

                        /** ListContinuousTestResultsResponse continuousTestResults. */
                        public continuousTestResults: google.cloud.dialogflow.cx.v3beta1.IContinuousTestResult[];

                        /** ListContinuousTestResultsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListContinuousTestResultsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListContinuousTestResultsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListContinuousTestResultsResponse): google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsResponse;

                        /**
                         * Encodes the specified ListContinuousTestResultsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsResponse.verify|verify} messages.
                         * @param message ListContinuousTestResultsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListContinuousTestResultsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListContinuousTestResultsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsResponse.verify|verify} messages.
                         * @param message ListContinuousTestResultsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListContinuousTestResultsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListContinuousTestResultsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListContinuousTestResultsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsResponse;

                        /**
                         * Decodes a ListContinuousTestResultsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListContinuousTestResultsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsResponse;

                        /**
                         * Verifies a ListContinuousTestResultsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListContinuousTestResultsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListContinuousTestResultsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsResponse;

                        /**
                         * Creates a plain object from a ListContinuousTestResultsResponse message. Also converts values to other types if specified.
                         * @param message ListContinuousTestResultsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListContinuousTestResultsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListContinuousTestResultsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListContinuousTestResultsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeployFlowRequest. */
                    interface IDeployFlowRequest {

                        /** DeployFlowRequest environment */
                        environment?: (string|null);

                        /** DeployFlowRequest flowVersion */
                        flowVersion?: (string|null);
                    }

                    /** Represents a DeployFlowRequest. */
                    class DeployFlowRequest implements IDeployFlowRequest {

                        /**
                         * Constructs a new DeployFlowRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeployFlowRequest);

                        /** DeployFlowRequest environment. */
                        public environment: string;

                        /** DeployFlowRequest flowVersion. */
                        public flowVersion: string;

                        /**
                         * Creates a new DeployFlowRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeployFlowRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeployFlowRequest): google.cloud.dialogflow.cx.v3beta1.DeployFlowRequest;

                        /**
                         * Encodes the specified DeployFlowRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeployFlowRequest.verify|verify} messages.
                         * @param message DeployFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeployFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeployFlowRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeployFlowRequest.verify|verify} messages.
                         * @param message DeployFlowRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeployFlowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeployFlowRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeployFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeployFlowRequest;

                        /**
                         * Decodes a DeployFlowRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeployFlowRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeployFlowRequest;

                        /**
                         * Verifies a DeployFlowRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeployFlowRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeployFlowRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeployFlowRequest;

                        /**
                         * Creates a plain object from a DeployFlowRequest message. Also converts values to other types if specified.
                         * @param message DeployFlowRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeployFlowRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeployFlowRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeployFlowRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeployFlowResponse. */
                    interface IDeployFlowResponse {

                        /** DeployFlowResponse environment */
                        environment?: (google.cloud.dialogflow.cx.v3beta1.IEnvironment|null);

                        /** DeployFlowResponse deployment */
                        deployment?: (string|null);
                    }

                    /** Represents a DeployFlowResponse. */
                    class DeployFlowResponse implements IDeployFlowResponse {

                        /**
                         * Constructs a new DeployFlowResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeployFlowResponse);

                        /** DeployFlowResponse environment. */
                        public environment?: (google.cloud.dialogflow.cx.v3beta1.IEnvironment|null);

                        /** DeployFlowResponse deployment. */
                        public deployment: string;

                        /**
                         * Creates a new DeployFlowResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeployFlowResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeployFlowResponse): google.cloud.dialogflow.cx.v3beta1.DeployFlowResponse;

                        /**
                         * Encodes the specified DeployFlowResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeployFlowResponse.verify|verify} messages.
                         * @param message DeployFlowResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeployFlowResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeployFlowResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeployFlowResponse.verify|verify} messages.
                         * @param message DeployFlowResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeployFlowResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeployFlowResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeployFlowResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeployFlowResponse;

                        /**
                         * Decodes a DeployFlowResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeployFlowResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeployFlowResponse;

                        /**
                         * Verifies a DeployFlowResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeployFlowResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeployFlowResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeployFlowResponse;

                        /**
                         * Creates a plain object from a DeployFlowResponse message. Also converts values to other types if specified.
                         * @param message DeployFlowResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeployFlowResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeployFlowResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeployFlowResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeployFlowMetadata. */
                    interface IDeployFlowMetadata {

                        /** DeployFlowMetadata testErrors */
                        testErrors?: (google.cloud.dialogflow.cx.v3beta1.ITestError[]|null);
                    }

                    /** Represents a DeployFlowMetadata. */
                    class DeployFlowMetadata implements IDeployFlowMetadata {

                        /**
                         * Constructs a new DeployFlowMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeployFlowMetadata);

                        /** DeployFlowMetadata testErrors. */
                        public testErrors: google.cloud.dialogflow.cx.v3beta1.ITestError[];

                        /**
                         * Creates a new DeployFlowMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeployFlowMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeployFlowMetadata): google.cloud.dialogflow.cx.v3beta1.DeployFlowMetadata;

                        /**
                         * Encodes the specified DeployFlowMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeployFlowMetadata.verify|verify} messages.
                         * @param message DeployFlowMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeployFlowMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeployFlowMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeployFlowMetadata.verify|verify} messages.
                         * @param message DeployFlowMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeployFlowMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeployFlowMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeployFlowMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeployFlowMetadata;

                        /**
                         * Decodes a DeployFlowMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeployFlowMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeployFlowMetadata;

                        /**
                         * Verifies a DeployFlowMetadata message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeployFlowMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeployFlowMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeployFlowMetadata;

                        /**
                         * Creates a plain object from a DeployFlowMetadata message. Also converts values to other types if specified.
                         * @param message DeployFlowMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeployFlowMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeployFlowMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeployFlowMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a TestCases */
                    class TestCases extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new TestCases 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 TestCases 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): TestCases;

                        /**
                         * Calls ListTestCases.
                         * @param request ListTestCasesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListTestCasesResponse
                         */
                        public listTestCases(request: google.cloud.dialogflow.cx.v3beta1.IListTestCasesRequest, callback: google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCasesCallback): void;

                        /**
                         * Calls ListTestCases.
                         * @param request ListTestCasesRequest message or plain object
                         * @returns Promise
                         */
                        public listTestCases(request: google.cloud.dialogflow.cx.v3beta1.IListTestCasesRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse>;

                        /**
                         * Calls BatchDeleteTestCases.
                         * @param request BatchDeleteTestCasesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public batchDeleteTestCases(request: google.cloud.dialogflow.cx.v3beta1.IBatchDeleteTestCasesRequest, callback: google.cloud.dialogflow.cx.v3beta1.TestCases.BatchDeleteTestCasesCallback): void;

                        /**
                         * Calls BatchDeleteTestCases.
                         * @param request BatchDeleteTestCasesRequest message or plain object
                         * @returns Promise
                         */
                        public batchDeleteTestCases(request: google.cloud.dialogflow.cx.v3beta1.IBatchDeleteTestCasesRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls GetTestCase.
                         * @param request GetTestCaseRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and TestCase
                         */
                        public getTestCase(request: google.cloud.dialogflow.cx.v3beta1.IGetTestCaseRequest, callback: google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCaseCallback): void;

                        /**
                         * Calls GetTestCase.
                         * @param request GetTestCaseRequest message or plain object
                         * @returns Promise
                         */
                        public getTestCase(request: google.cloud.dialogflow.cx.v3beta1.IGetTestCaseRequest): Promise<google.cloud.dialogflow.cx.v3beta1.TestCase>;

                        /**
                         * Calls CreateTestCase.
                         * @param request CreateTestCaseRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and TestCase
                         */
                        public createTestCase(request: google.cloud.dialogflow.cx.v3beta1.ICreateTestCaseRequest, callback: google.cloud.dialogflow.cx.v3beta1.TestCases.CreateTestCaseCallback): void;

                        /**
                         * Calls CreateTestCase.
                         * @param request CreateTestCaseRequest message or plain object
                         * @returns Promise
                         */
                        public createTestCase(request: google.cloud.dialogflow.cx.v3beta1.ICreateTestCaseRequest): Promise<google.cloud.dialogflow.cx.v3beta1.TestCase>;

                        /**
                         * Calls UpdateTestCase.
                         * @param request UpdateTestCaseRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and TestCase
                         */
                        public updateTestCase(request: google.cloud.dialogflow.cx.v3beta1.IUpdateTestCaseRequest, callback: google.cloud.dialogflow.cx.v3beta1.TestCases.UpdateTestCaseCallback): void;

                        /**
                         * Calls UpdateTestCase.
                         * @param request UpdateTestCaseRequest message or plain object
                         * @returns Promise
                         */
                        public updateTestCase(request: google.cloud.dialogflow.cx.v3beta1.IUpdateTestCaseRequest): Promise<google.cloud.dialogflow.cx.v3beta1.TestCase>;

                        /**
                         * Calls RunTestCase.
                         * @param request RunTestCaseRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public runTestCase(request: google.cloud.dialogflow.cx.v3beta1.IRunTestCaseRequest, callback: google.cloud.dialogflow.cx.v3beta1.TestCases.RunTestCaseCallback): void;

                        /**
                         * Calls RunTestCase.
                         * @param request RunTestCaseRequest message or plain object
                         * @returns Promise
                         */
                        public runTestCase(request: google.cloud.dialogflow.cx.v3beta1.IRunTestCaseRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls BatchRunTestCases.
                         * @param request BatchRunTestCasesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public batchRunTestCases(request: google.cloud.dialogflow.cx.v3beta1.IBatchRunTestCasesRequest, callback: google.cloud.dialogflow.cx.v3beta1.TestCases.BatchRunTestCasesCallback): void;

                        /**
                         * Calls BatchRunTestCases.
                         * @param request BatchRunTestCasesRequest message or plain object
                         * @returns Promise
                         */
                        public batchRunTestCases(request: google.cloud.dialogflow.cx.v3beta1.IBatchRunTestCasesRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls CalculateCoverage.
                         * @param request CalculateCoverageRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and CalculateCoverageResponse
                         */
                        public calculateCoverage(request: google.cloud.dialogflow.cx.v3beta1.ICalculateCoverageRequest, callback: google.cloud.dialogflow.cx.v3beta1.TestCases.CalculateCoverageCallback): void;

                        /**
                         * Calls CalculateCoverage.
                         * @param request CalculateCoverageRequest message or plain object
                         * @returns Promise
                         */
                        public calculateCoverage(request: google.cloud.dialogflow.cx.v3beta1.ICalculateCoverageRequest): Promise<google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse>;

                        /**
                         * Calls ImportTestCases.
                         * @param request ImportTestCasesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public importTestCases(request: google.cloud.dialogflow.cx.v3beta1.IImportTestCasesRequest, callback: google.cloud.dialogflow.cx.v3beta1.TestCases.ImportTestCasesCallback): void;

                        /**
                         * Calls ImportTestCases.
                         * @param request ImportTestCasesRequest message or plain object
                         * @returns Promise
                         */
                        public importTestCases(request: google.cloud.dialogflow.cx.v3beta1.IImportTestCasesRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ExportTestCases.
                         * @param request ExportTestCasesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public exportTestCases(request: google.cloud.dialogflow.cx.v3beta1.IExportTestCasesRequest, callback: google.cloud.dialogflow.cx.v3beta1.TestCases.ExportTestCasesCallback): void;

                        /**
                         * Calls ExportTestCases.
                         * @param request ExportTestCasesRequest message or plain object
                         * @returns Promise
                         */
                        public exportTestCases(request: google.cloud.dialogflow.cx.v3beta1.IExportTestCasesRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ListTestCaseResults.
                         * @param request ListTestCaseResultsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListTestCaseResultsResponse
                         */
                        public listTestCaseResults(request: google.cloud.dialogflow.cx.v3beta1.IListTestCaseResultsRequest, callback: google.cloud.dialogflow.cx.v3beta1.TestCases.ListTestCaseResultsCallback): void;

                        /**
                         * Calls ListTestCaseResults.
                         * @param request ListTestCaseResultsRequest message or plain object
                         * @returns Promise
                         */
                        public listTestCaseResults(request: google.cloud.dialogflow.cx.v3beta1.IListTestCaseResultsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse>;

                        /**
                         * Calls GetTestCaseResult.
                         * @param request GetTestCaseResultRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and TestCaseResult
                         */
                        public getTestCaseResult(request: google.cloud.dialogflow.cx.v3beta1.IGetTestCaseResultRequest, callback: google.cloud.dialogflow.cx.v3beta1.TestCases.GetTestCaseResultCallback): void;

                        /**
                         * Calls GetTestCaseResult.
                         * @param request GetTestCaseResultRequest message or plain object
                         * @returns Promise
                         */
                        public getTestCaseResult(request: google.cloud.dialogflow.cx.v3beta1.IGetTestCaseResultRequest): Promise<google.cloud.dialogflow.cx.v3beta1.TestCaseResult>;
                    }

                    namespace TestCases {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TestCases|listTestCases}.
                         * @param error Error, if any
                         * @param [response] ListTestCasesResponse
                         */
                        type ListTestCasesCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TestCases|batchDeleteTestCases}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type BatchDeleteTestCasesCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TestCases|getTestCase}.
                         * @param error Error, if any
                         * @param [response] TestCase
                         */
                        type GetTestCaseCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.TestCase) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TestCases|createTestCase}.
                         * @param error Error, if any
                         * @param [response] TestCase
                         */
                        type CreateTestCaseCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.TestCase) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TestCases|updateTestCase}.
                         * @param error Error, if any
                         * @param [response] TestCase
                         */
                        type UpdateTestCaseCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.TestCase) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TestCases|runTestCase}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type RunTestCaseCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TestCases|batchRunTestCases}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type BatchRunTestCasesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TestCases|calculateCoverage}.
                         * @param error Error, if any
                         * @param [response] CalculateCoverageResponse
                         */
                        type CalculateCoverageCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TestCases|importTestCases}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ImportTestCasesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TestCases|exportTestCases}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ExportTestCasesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TestCases|listTestCaseResults}.
                         * @param error Error, if any
                         * @param [response] ListTestCaseResultsResponse
                         */
                        type ListTestCaseResultsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TestCases|getTestCaseResult}.
                         * @param error Error, if any
                         * @param [response] TestCaseResult
                         */
                        type GetTestCaseResultCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.TestCaseResult) => void;
                    }

                    /** Properties of a TestCase. */
                    interface ITestCase {

                        /** TestCase name */
                        name?: (string|null);

                        /** TestCase tags */
                        tags?: (string[]|null);

                        /** TestCase displayName */
                        displayName?: (string|null);

                        /** TestCase notes */
                        notes?: (string|null);

                        /** TestCase testConfig */
                        testConfig?: (google.cloud.dialogflow.cx.v3beta1.ITestConfig|null);

                        /** TestCase testCaseConversationTurns */
                        testCaseConversationTurns?: (google.cloud.dialogflow.cx.v3beta1.IConversationTurn[]|null);

                        /** TestCase creationTime */
                        creationTime?: (google.protobuf.ITimestamp|null);

                        /** TestCase lastTestResult */
                        lastTestResult?: (google.cloud.dialogflow.cx.v3beta1.ITestCaseResult|null);
                    }

                    /** Represents a TestCase. */
                    class TestCase implements ITestCase {

                        /**
                         * Constructs a new TestCase.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ITestCase);

                        /** TestCase name. */
                        public name: string;

                        /** TestCase tags. */
                        public tags: string[];

                        /** TestCase displayName. */
                        public displayName: string;

                        /** TestCase notes. */
                        public notes: string;

                        /** TestCase testConfig. */
                        public testConfig?: (google.cloud.dialogflow.cx.v3beta1.ITestConfig|null);

                        /** TestCase testCaseConversationTurns. */
                        public testCaseConversationTurns: google.cloud.dialogflow.cx.v3beta1.IConversationTurn[];

                        /** TestCase creationTime. */
                        public creationTime?: (google.protobuf.ITimestamp|null);

                        /** TestCase lastTestResult. */
                        public lastTestResult?: (google.cloud.dialogflow.cx.v3beta1.ITestCaseResult|null);

                        /**
                         * Creates a new TestCase instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TestCase instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ITestCase): google.cloud.dialogflow.cx.v3beta1.TestCase;

                        /**
                         * Encodes the specified TestCase message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TestCase.verify|verify} messages.
                         * @param message TestCase message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ITestCase, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TestCase message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TestCase.verify|verify} messages.
                         * @param message TestCase message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ITestCase, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TestCase message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TestCase
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TestCase;

                        /**
                         * Decodes a TestCase message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TestCase
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TestCase;

                        /**
                         * Verifies a TestCase message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TestCase message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TestCase
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TestCase;

                        /**
                         * Creates a plain object from a TestCase message. Also converts values to other types if specified.
                         * @param message TestCase
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TestCase, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TestCase to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TestCase
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a TestCaseResult. */
                    interface ITestCaseResult {

                        /** TestCaseResult name */
                        name?: (string|null);

                        /** TestCaseResult environment */
                        environment?: (string|null);

                        /** TestCaseResult conversationTurns */
                        conversationTurns?: (google.cloud.dialogflow.cx.v3beta1.IConversationTurn[]|null);

                        /** TestCaseResult testResult */
                        testResult?: (google.cloud.dialogflow.cx.v3beta1.TestResult|keyof typeof google.cloud.dialogflow.cx.v3beta1.TestResult|null);

                        /** TestCaseResult testTime */
                        testTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a TestCaseResult. */
                    class TestCaseResult implements ITestCaseResult {

                        /**
                         * Constructs a new TestCaseResult.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ITestCaseResult);

                        /** TestCaseResult name. */
                        public name: string;

                        /** TestCaseResult environment. */
                        public environment: string;

                        /** TestCaseResult conversationTurns. */
                        public conversationTurns: google.cloud.dialogflow.cx.v3beta1.IConversationTurn[];

                        /** TestCaseResult testResult. */
                        public testResult: (google.cloud.dialogflow.cx.v3beta1.TestResult|keyof typeof google.cloud.dialogflow.cx.v3beta1.TestResult);

                        /** TestCaseResult testTime. */
                        public testTime?: (google.protobuf.ITimestamp|null);

                        /**
                         * Creates a new TestCaseResult instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TestCaseResult instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ITestCaseResult): google.cloud.dialogflow.cx.v3beta1.TestCaseResult;

                        /**
                         * Encodes the specified TestCaseResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TestCaseResult.verify|verify} messages.
                         * @param message TestCaseResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ITestCaseResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TestCaseResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TestCaseResult.verify|verify} messages.
                         * @param message TestCaseResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ITestCaseResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TestCaseResult message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TestCaseResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TestCaseResult;

                        /**
                         * Decodes a TestCaseResult message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TestCaseResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TestCaseResult;

                        /**
                         * Verifies a TestCaseResult message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TestCaseResult message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TestCaseResult
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TestCaseResult;

                        /**
                         * Creates a plain object from a TestCaseResult message. Also converts values to other types if specified.
                         * @param message TestCaseResult
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TestCaseResult, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TestCaseResult to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TestCaseResult
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a TestConfig. */
                    interface ITestConfig {

                        /** TestConfig trackingParameters */
                        trackingParameters?: (string[]|null);

                        /** TestConfig flow */
                        flow?: (string|null);

                        /** TestConfig page */
                        page?: (string|null);
                    }

                    /** Represents a TestConfig. */
                    class TestConfig implements ITestConfig {

                        /**
                         * Constructs a new TestConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ITestConfig);

                        /** TestConfig trackingParameters. */
                        public trackingParameters: string[];

                        /** TestConfig flow. */
                        public flow: string;

                        /** TestConfig page. */
                        public page: string;

                        /**
                         * Creates a new TestConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TestConfig instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ITestConfig): google.cloud.dialogflow.cx.v3beta1.TestConfig;

                        /**
                         * Encodes the specified TestConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TestConfig.verify|verify} messages.
                         * @param message TestConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ITestConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TestConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TestConfig.verify|verify} messages.
                         * @param message TestConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ITestConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TestConfig message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TestConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TestConfig;

                        /**
                         * Decodes a TestConfig message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TestConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TestConfig;

                        /**
                         * Verifies a TestConfig message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TestConfig message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TestConfig
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TestConfig;

                        /**
                         * Creates a plain object from a TestConfig message. Also converts values to other types if specified.
                         * @param message TestConfig
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TestConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TestConfig to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TestConfig
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ConversationTurn. */
                    interface IConversationTurn {

                        /** ConversationTurn userInput */
                        userInput?: (google.cloud.dialogflow.cx.v3beta1.ConversationTurn.IUserInput|null);

                        /** ConversationTurn virtualAgentOutput */
                        virtualAgentOutput?: (google.cloud.dialogflow.cx.v3beta1.ConversationTurn.IVirtualAgentOutput|null);
                    }

                    /** Represents a ConversationTurn. */
                    class ConversationTurn implements IConversationTurn {

                        /**
                         * Constructs a new ConversationTurn.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IConversationTurn);

                        /** ConversationTurn userInput. */
                        public userInput?: (google.cloud.dialogflow.cx.v3beta1.ConversationTurn.IUserInput|null);

                        /** ConversationTurn virtualAgentOutput. */
                        public virtualAgentOutput?: (google.cloud.dialogflow.cx.v3beta1.ConversationTurn.IVirtualAgentOutput|null);

                        /**
                         * Creates a new ConversationTurn instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ConversationTurn instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IConversationTurn): google.cloud.dialogflow.cx.v3beta1.ConversationTurn;

                        /**
                         * Encodes the specified ConversationTurn message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ConversationTurn.verify|verify} messages.
                         * @param message ConversationTurn message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IConversationTurn, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ConversationTurn message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ConversationTurn.verify|verify} messages.
                         * @param message ConversationTurn message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IConversationTurn, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ConversationTurn message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ConversationTurn
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ConversationTurn;

                        /**
                         * Decodes a ConversationTurn message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ConversationTurn
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ConversationTurn;

                        /**
                         * Verifies a ConversationTurn message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ConversationTurn message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ConversationTurn
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ConversationTurn;

                        /**
                         * Creates a plain object from a ConversationTurn message. Also converts values to other types if specified.
                         * @param message ConversationTurn
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ConversationTurn, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ConversationTurn to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ConversationTurn
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ConversationTurn {

                        /** Properties of a UserInput. */
                        interface IUserInput {

                            /** UserInput input */
                            input?: (google.cloud.dialogflow.cx.v3beta1.IQueryInput|null);

                            /** UserInput injectedParameters */
                            injectedParameters?: (google.protobuf.IStruct|null);

                            /** UserInput isWebhookEnabled */
                            isWebhookEnabled?: (boolean|null);

                            /** UserInput enableSentimentAnalysis */
                            enableSentimentAnalysis?: (boolean|null);
                        }

                        /** Represents a UserInput. */
                        class UserInput implements IUserInput {

                            /**
                             * Constructs a new UserInput.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.IUserInput);

                            /** UserInput input. */
                            public input?: (google.cloud.dialogflow.cx.v3beta1.IQueryInput|null);

                            /** UserInput injectedParameters. */
                            public injectedParameters?: (google.protobuf.IStruct|null);

                            /** UserInput isWebhookEnabled. */
                            public isWebhookEnabled: boolean;

                            /** UserInput enableSentimentAnalysis. */
                            public enableSentimentAnalysis: boolean;

                            /**
                             * Creates a new UserInput instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns UserInput instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.IUserInput): google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput;

                            /**
                             * Encodes the specified UserInput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput.verify|verify} messages.
                             * @param message UserInput message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.IUserInput, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified UserInput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput.verify|verify} messages.
                             * @param message UserInput message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.IUserInput, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a UserInput message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns UserInput
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput;

                            /**
                             * Decodes a UserInput message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns UserInput
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput;

                            /**
                             * Verifies a UserInput message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a UserInput message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns UserInput
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput;

                            /**
                             * Creates a plain object from a UserInput message. Also converts values to other types if specified.
                             * @param message UserInput
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.UserInput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this UserInput to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for UserInput
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a VirtualAgentOutput. */
                        interface IVirtualAgentOutput {

                            /** VirtualAgentOutput sessionParameters */
                            sessionParameters?: (google.protobuf.IStruct|null);

                            /** VirtualAgentOutput differences */
                            differences?: (google.cloud.dialogflow.cx.v3beta1.ITestRunDifference[]|null);

                            /** VirtualAgentOutput diagnosticInfo */
                            diagnosticInfo?: (google.protobuf.IStruct|null);

                            /** VirtualAgentOutput triggeredIntent */
                            triggeredIntent?: (google.cloud.dialogflow.cx.v3beta1.IIntent|null);

                            /** VirtualAgentOutput currentPage */
                            currentPage?: (google.cloud.dialogflow.cx.v3beta1.IPage|null);

                            /** VirtualAgentOutput textResponses */
                            textResponses?: (google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IText[]|null);

                            /** VirtualAgentOutput status */
                            status?: (google.rpc.IStatus|null);
                        }

                        /** Represents a VirtualAgentOutput. */
                        class VirtualAgentOutput implements IVirtualAgentOutput {

                            /**
                             * Constructs a new VirtualAgentOutput.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.IVirtualAgentOutput);

                            /** VirtualAgentOutput sessionParameters. */
                            public sessionParameters?: (google.protobuf.IStruct|null);

                            /** VirtualAgentOutput differences. */
                            public differences: google.cloud.dialogflow.cx.v3beta1.ITestRunDifference[];

                            /** VirtualAgentOutput diagnosticInfo. */
                            public diagnosticInfo?: (google.protobuf.IStruct|null);

                            /** VirtualAgentOutput triggeredIntent. */
                            public triggeredIntent?: (google.cloud.dialogflow.cx.v3beta1.IIntent|null);

                            /** VirtualAgentOutput currentPage. */
                            public currentPage?: (google.cloud.dialogflow.cx.v3beta1.IPage|null);

                            /** VirtualAgentOutput textResponses. */
                            public textResponses: google.cloud.dialogflow.cx.v3beta1.ResponseMessage.IText[];

                            /** VirtualAgentOutput status. */
                            public status?: (google.rpc.IStatus|null);

                            /**
                             * Creates a new VirtualAgentOutput instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns VirtualAgentOutput instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.IVirtualAgentOutput): google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput;

                            /**
                             * Encodes the specified VirtualAgentOutput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.verify|verify} messages.
                             * @param message VirtualAgentOutput message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.IVirtualAgentOutput, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified VirtualAgentOutput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput.verify|verify} messages.
                             * @param message VirtualAgentOutput message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.IVirtualAgentOutput, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a VirtualAgentOutput message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns VirtualAgentOutput
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput;

                            /**
                             * Decodes a VirtualAgentOutput message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns VirtualAgentOutput
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput;

                            /**
                             * Verifies a VirtualAgentOutput message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a VirtualAgentOutput message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns VirtualAgentOutput
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput;

                            /**
                             * Creates a plain object from a VirtualAgentOutput message. Also converts values to other types if specified.
                             * @param message VirtualAgentOutput
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ConversationTurn.VirtualAgentOutput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this VirtualAgentOutput to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for VirtualAgentOutput
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a TestRunDifference. */
                    interface ITestRunDifference {

                        /** TestRunDifference type */
                        type?: (google.cloud.dialogflow.cx.v3beta1.TestRunDifference.DiffType|keyof typeof google.cloud.dialogflow.cx.v3beta1.TestRunDifference.DiffType|null);

                        /** TestRunDifference description */
                        description?: (string|null);
                    }

                    /** Represents a TestRunDifference. */
                    class TestRunDifference implements ITestRunDifference {

                        /**
                         * Constructs a new TestRunDifference.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ITestRunDifference);

                        /** TestRunDifference type. */
                        public type: (google.cloud.dialogflow.cx.v3beta1.TestRunDifference.DiffType|keyof typeof google.cloud.dialogflow.cx.v3beta1.TestRunDifference.DiffType);

                        /** TestRunDifference description. */
                        public description: string;

                        /**
                         * Creates a new TestRunDifference instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TestRunDifference instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ITestRunDifference): google.cloud.dialogflow.cx.v3beta1.TestRunDifference;

                        /**
                         * Encodes the specified TestRunDifference message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TestRunDifference.verify|verify} messages.
                         * @param message TestRunDifference message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ITestRunDifference, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TestRunDifference message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TestRunDifference.verify|verify} messages.
                         * @param message TestRunDifference message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ITestRunDifference, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TestRunDifference message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TestRunDifference
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TestRunDifference;

                        /**
                         * Decodes a TestRunDifference message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TestRunDifference
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TestRunDifference;

                        /**
                         * Verifies a TestRunDifference message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TestRunDifference message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TestRunDifference
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TestRunDifference;

                        /**
                         * Creates a plain object from a TestRunDifference message. Also converts values to other types if specified.
                         * @param message TestRunDifference
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TestRunDifference, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TestRunDifference to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TestRunDifference
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace TestRunDifference {

                        /** DiffType enum. */
                        enum DiffType {
                            DIFF_TYPE_UNSPECIFIED = 0,
                            INTENT = 1,
                            PAGE = 2,
                            PARAMETERS = 3,
                            UTTERANCE = 4,
                            FLOW = 5
                        }
                    }

                    /** Properties of a TransitionCoverage. */
                    interface ITransitionCoverage {

                        /** TransitionCoverage transitions */
                        transitions?: (google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.ITransition[]|null);

                        /** TransitionCoverage coverageScore */
                        coverageScore?: (number|null);
                    }

                    /** Represents a TransitionCoverage. */
                    class TransitionCoverage implements ITransitionCoverage {

                        /**
                         * Constructs a new TransitionCoverage.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ITransitionCoverage);

                        /** TransitionCoverage transitions. */
                        public transitions: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.ITransition[];

                        /** TransitionCoverage coverageScore. */
                        public coverageScore: number;

                        /**
                         * Creates a new TransitionCoverage instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TransitionCoverage instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ITransitionCoverage): google.cloud.dialogflow.cx.v3beta1.TransitionCoverage;

                        /**
                         * Encodes the specified TransitionCoverage message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.verify|verify} messages.
                         * @param message TransitionCoverage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ITransitionCoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TransitionCoverage message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.verify|verify} messages.
                         * @param message TransitionCoverage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ITransitionCoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TransitionCoverage message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TransitionCoverage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TransitionCoverage;

                        /**
                         * Decodes a TransitionCoverage message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TransitionCoverage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TransitionCoverage;

                        /**
                         * Verifies a TransitionCoverage message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TransitionCoverage message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TransitionCoverage
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TransitionCoverage;

                        /**
                         * Creates a plain object from a TransitionCoverage message. Also converts values to other types if specified.
                         * @param message TransitionCoverage
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TransitionCoverage to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TransitionCoverage
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace TransitionCoverage {

                        /** Properties of a TransitionNode. */
                        interface ITransitionNode {

                            /** TransitionNode page */
                            page?: (google.cloud.dialogflow.cx.v3beta1.IPage|null);

                            /** TransitionNode flow */
                            flow?: (google.cloud.dialogflow.cx.v3beta1.IFlow|null);
                        }

                        /** Represents a TransitionNode. */
                        class TransitionNode implements ITransitionNode {

                            /**
                             * Constructs a new TransitionNode.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.ITransitionNode);

                            /** TransitionNode page. */
                            public page?: (google.cloud.dialogflow.cx.v3beta1.IPage|null);

                            /** TransitionNode flow. */
                            public flow?: (google.cloud.dialogflow.cx.v3beta1.IFlow|null);

                            /** TransitionNode kind. */
                            public kind?: ("page"|"flow");

                            /**
                             * Creates a new TransitionNode instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns TransitionNode instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.ITransitionNode): google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode;

                            /**
                             * Encodes the specified TransitionNode message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode.verify|verify} messages.
                             * @param message TransitionNode message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.ITransitionNode, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified TransitionNode message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode.verify|verify} messages.
                             * @param message TransitionNode message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.ITransitionNode, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a TransitionNode message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns TransitionNode
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode;

                            /**
                             * Decodes a TransitionNode message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns TransitionNode
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode;

                            /**
                             * Verifies a TransitionNode message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a TransitionNode message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns TransitionNode
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode;

                            /**
                             * Creates a plain object from a TransitionNode message. Also converts values to other types if specified.
                             * @param message TransitionNode
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.TransitionNode, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this TransitionNode to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for TransitionNode
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a Transition. */
                        interface ITransition {

                            /** Transition source */
                            source?: (google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.ITransitionNode|null);

                            /** Transition index */
                            index?: (number|null);

                            /** Transition target */
                            target?: (google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.ITransitionNode|null);

                            /** Transition covered */
                            covered?: (boolean|null);

                            /** Transition transitionRoute */
                            transitionRoute?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRoute|null);

                            /** Transition eventHandler */
                            eventHandler?: (google.cloud.dialogflow.cx.v3beta1.IEventHandler|null);
                        }

                        /** Represents a Transition. */
                        class Transition implements ITransition {

                            /**
                             * Constructs a new Transition.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.ITransition);

                            /** Transition source. */
                            public source?: (google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.ITransitionNode|null);

                            /** Transition index. */
                            public index: number;

                            /** Transition target. */
                            public target?: (google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.ITransitionNode|null);

                            /** Transition covered. */
                            public covered: boolean;

                            /** Transition transitionRoute. */
                            public transitionRoute?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRoute|null);

                            /** Transition eventHandler. */
                            public eventHandler?: (google.cloud.dialogflow.cx.v3beta1.IEventHandler|null);

                            /** Transition detail. */
                            public detail?: ("transitionRoute"|"eventHandler");

                            /**
                             * Creates a new Transition instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Transition instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.ITransition): google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition;

                            /**
                             * Encodes the specified Transition message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition.verify|verify} messages.
                             * @param message Transition message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.ITransition, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Transition message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition.verify|verify} messages.
                             * @param message Transition message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.ITransition, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Transition message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Transition
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition;

                            /**
                             * Decodes a Transition message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Transition
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition;

                            /**
                             * Verifies a Transition message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Transition message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Transition
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition;

                            /**
                             * Creates a plain object from a Transition message. Also converts values to other types if specified.
                             * @param message Transition
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TransitionCoverage.Transition, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Transition to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Transition
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a TransitionRouteGroupCoverage. */
                    interface ITransitionRouteGroupCoverage {

                        /** TransitionRouteGroupCoverage coverages */
                        coverages?: (google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.ICoverage[]|null);

                        /** TransitionRouteGroupCoverage coverageScore */
                        coverageScore?: (number|null);
                    }

                    /** Represents a TransitionRouteGroupCoverage. */
                    class TransitionRouteGroupCoverage implements ITransitionRouteGroupCoverage {

                        /**
                         * Constructs a new TransitionRouteGroupCoverage.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroupCoverage);

                        /** TransitionRouteGroupCoverage coverages. */
                        public coverages: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.ICoverage[];

                        /** TransitionRouteGroupCoverage coverageScore. */
                        public coverageScore: number;

                        /**
                         * Creates a new TransitionRouteGroupCoverage instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TransitionRouteGroupCoverage instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroupCoverage): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage;

                        /**
                         * Encodes the specified TransitionRouteGroupCoverage message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.verify|verify} messages.
                         * @param message TransitionRouteGroupCoverage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroupCoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TransitionRouteGroupCoverage message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.verify|verify} messages.
                         * @param message TransitionRouteGroupCoverage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroupCoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TransitionRouteGroupCoverage message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TransitionRouteGroupCoverage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage;

                        /**
                         * Decodes a TransitionRouteGroupCoverage message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TransitionRouteGroupCoverage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage;

                        /**
                         * Verifies a TransitionRouteGroupCoverage message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TransitionRouteGroupCoverage message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TransitionRouteGroupCoverage
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage;

                        /**
                         * Creates a plain object from a TransitionRouteGroupCoverage message. Also converts values to other types if specified.
                         * @param message TransitionRouteGroupCoverage
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TransitionRouteGroupCoverage to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TransitionRouteGroupCoverage
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace TransitionRouteGroupCoverage {

                        /** Properties of a Coverage. */
                        interface ICoverage {

                            /** Coverage routeGroup */
                            routeGroup?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroup|null);

                            /** Coverage transitions */
                            transitions?: (google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.ITransition[]|null);

                            /** Coverage coverageScore */
                            coverageScore?: (number|null);
                        }

                        /** Represents a Coverage. */
                        class Coverage implements ICoverage {

                            /**
                             * Constructs a new Coverage.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.ICoverage);

                            /** Coverage routeGroup. */
                            public routeGroup?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroup|null);

                            /** Coverage transitions. */
                            public transitions: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.ITransition[];

                            /** Coverage coverageScore. */
                            public coverageScore: number;

                            /**
                             * Creates a new Coverage instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Coverage instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.ICoverage): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage;

                            /**
                             * Encodes the specified Coverage message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.verify|verify} messages.
                             * @param message Coverage message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.ICoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Coverage message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.verify|verify} messages.
                             * @param message Coverage message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.ICoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Coverage message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Coverage
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage;

                            /**
                             * Decodes a Coverage message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Coverage
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage;

                            /**
                             * Verifies a Coverage message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Coverage message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Coverage
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage;

                            /**
                             * Creates a plain object from a Coverage message. Also converts values to other types if specified.
                             * @param message Coverage
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Coverage to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Coverage
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace Coverage {

                            /** Properties of a Transition. */
                            interface ITransition {

                                /** Transition transitionRoute */
                                transitionRoute?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRoute|null);

                                /** Transition covered */
                                covered?: (boolean|null);
                            }

                            /** Represents a Transition. */
                            class Transition implements ITransition {

                                /**
                                 * Constructs a new Transition.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.ITransition);

                                /** Transition transitionRoute. */
                                public transitionRoute?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRoute|null);

                                /** Transition covered. */
                                public covered: boolean;

                                /**
                                 * Creates a new Transition instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns Transition instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.ITransition): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.Transition;

                                /**
                                 * Encodes the specified Transition message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.Transition.verify|verify} messages.
                                 * @param message Transition message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.ITransition, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified Transition message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.Transition.verify|verify} messages.
                                 * @param message Transition message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.ITransition, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a Transition message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns Transition
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.Transition;

                                /**
                                 * Decodes a Transition message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns Transition
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.Transition;

                                /**
                                 * Verifies a Transition message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a Transition message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns Transition
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.Transition;

                                /**
                                 * Creates a plain object from a Transition message. Also converts values to other types if specified.
                                 * @param message Transition
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroupCoverage.Coverage.Transition, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this Transition to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for Transition
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }
                    }

                    /** Properties of an IntentCoverage. */
                    interface IIntentCoverage {

                        /** IntentCoverage intents */
                        intents?: (google.cloud.dialogflow.cx.v3beta1.IntentCoverage.IIntent[]|null);

                        /** IntentCoverage coverageScore */
                        coverageScore?: (number|null);
                    }

                    /** Represents an IntentCoverage. */
                    class IntentCoverage implements IIntentCoverage {

                        /**
                         * Constructs a new IntentCoverage.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IIntentCoverage);

                        /** IntentCoverage intents. */
                        public intents: google.cloud.dialogflow.cx.v3beta1.IntentCoverage.IIntent[];

                        /** IntentCoverage coverageScore. */
                        public coverageScore: number;

                        /**
                         * Creates a new IntentCoverage instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns IntentCoverage instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IIntentCoverage): google.cloud.dialogflow.cx.v3beta1.IntentCoverage;

                        /**
                         * Encodes the specified IntentCoverage message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.IntentCoverage.verify|verify} messages.
                         * @param message IntentCoverage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IIntentCoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified IntentCoverage message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.IntentCoverage.verify|verify} messages.
                         * @param message IntentCoverage message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IIntentCoverage, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an IntentCoverage message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns IntentCoverage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.IntentCoverage;

                        /**
                         * Decodes an IntentCoverage message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns IntentCoverage
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.IntentCoverage;

                        /**
                         * Verifies an IntentCoverage message.
                         * @param message Plain 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 IntentCoverage message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns IntentCoverage
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.IntentCoverage;

                        /**
                         * Creates a plain object from an IntentCoverage message. Also converts values to other types if specified.
                         * @param message IntentCoverage
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.IntentCoverage, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this IntentCoverage to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for IntentCoverage
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace IntentCoverage {

                        /** Properties of an Intent. */
                        interface IIntent {

                            /** Intent intent */
                            intent?: (string|null);

                            /** Intent covered */
                            covered?: (boolean|null);
                        }

                        /** Represents an Intent. */
                        class Intent implements IIntent {

                            /**
                             * Constructs a new Intent.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IntentCoverage.IIntent);

                            /** Intent intent. */
                            public intent: string;

                            /** Intent covered. */
                            public covered: boolean;

                            /**
                             * Creates a new Intent instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Intent instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IntentCoverage.IIntent): google.cloud.dialogflow.cx.v3beta1.IntentCoverage.Intent;

                            /**
                             * Encodes the specified Intent message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.IntentCoverage.Intent.verify|verify} messages.
                             * @param message Intent message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.IntentCoverage.IIntent, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Intent message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.IntentCoverage.Intent.verify|verify} messages.
                             * @param message Intent message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IntentCoverage.IIntent, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an Intent message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Intent
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.IntentCoverage.Intent;

                            /**
                             * Decodes an Intent message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Intent
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.IntentCoverage.Intent;

                            /**
                             * Verifies an Intent message.
                             * @param message Plain 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 Intent message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Intent
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.IntentCoverage.Intent;

                            /**
                             * Creates a plain object from an Intent message. Also converts values to other types if specified.
                             * @param message Intent
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.IntentCoverage.Intent, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Intent to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Intent
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a CalculateCoverageRequest. */
                    interface ICalculateCoverageRequest {

                        /** CalculateCoverageRequest agent */
                        agent?: (string|null);

                        /** CalculateCoverageRequest type */
                        type?: (google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest.CoverageType|keyof typeof google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest.CoverageType|null);
                    }

                    /** Represents a CalculateCoverageRequest. */
                    class CalculateCoverageRequest implements ICalculateCoverageRequest {

                        /**
                         * Constructs a new CalculateCoverageRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICalculateCoverageRequest);

                        /** CalculateCoverageRequest agent. */
                        public agent: string;

                        /** CalculateCoverageRequest type. */
                        public type: (google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest.CoverageType|keyof typeof google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest.CoverageType);

                        /**
                         * Creates a new CalculateCoverageRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CalculateCoverageRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICalculateCoverageRequest): google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest;

                        /**
                         * Encodes the specified CalculateCoverageRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest.verify|verify} messages.
                         * @param message CalculateCoverageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICalculateCoverageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CalculateCoverageRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest.verify|verify} messages.
                         * @param message CalculateCoverageRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICalculateCoverageRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CalculateCoverageRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CalculateCoverageRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest;

                        /**
                         * Decodes a CalculateCoverageRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CalculateCoverageRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest;

                        /**
                         * Verifies a CalculateCoverageRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CalculateCoverageRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CalculateCoverageRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest;

                        /**
                         * Creates a plain object from a CalculateCoverageRequest message. Also converts values to other types if specified.
                         * @param message CalculateCoverageRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CalculateCoverageRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CalculateCoverageRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace CalculateCoverageRequest {

                        /** CoverageType enum. */
                        enum CoverageType {
                            COVERAGE_TYPE_UNSPECIFIED = 0,
                            INTENT = 1,
                            PAGE_TRANSITION = 2,
                            TRANSITION_ROUTE_GROUP = 3
                        }
                    }

                    /** Properties of a CalculateCoverageResponse. */
                    interface ICalculateCoverageResponse {

                        /** CalculateCoverageResponse agent */
                        agent?: (string|null);

                        /** CalculateCoverageResponse intentCoverage */
                        intentCoverage?: (google.cloud.dialogflow.cx.v3beta1.IIntentCoverage|null);

                        /** CalculateCoverageResponse transitionCoverage */
                        transitionCoverage?: (google.cloud.dialogflow.cx.v3beta1.ITransitionCoverage|null);

                        /** CalculateCoverageResponse routeGroupCoverage */
                        routeGroupCoverage?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroupCoverage|null);
                    }

                    /** Represents a CalculateCoverageResponse. */
                    class CalculateCoverageResponse implements ICalculateCoverageResponse {

                        /**
                         * Constructs a new CalculateCoverageResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICalculateCoverageResponse);

                        /** CalculateCoverageResponse agent. */
                        public agent: string;

                        /** CalculateCoverageResponse intentCoverage. */
                        public intentCoverage?: (google.cloud.dialogflow.cx.v3beta1.IIntentCoverage|null);

                        /** CalculateCoverageResponse transitionCoverage. */
                        public transitionCoverage?: (google.cloud.dialogflow.cx.v3beta1.ITransitionCoverage|null);

                        /** CalculateCoverageResponse routeGroupCoverage. */
                        public routeGroupCoverage?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroupCoverage|null);

                        /** CalculateCoverageResponse coverageType. */
                        public coverageType?: ("intentCoverage"|"transitionCoverage"|"routeGroupCoverage");

                        /**
                         * Creates a new CalculateCoverageResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CalculateCoverageResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICalculateCoverageResponse): google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse;

                        /**
                         * Encodes the specified CalculateCoverageResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse.verify|verify} messages.
                         * @param message CalculateCoverageResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICalculateCoverageResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CalculateCoverageResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse.verify|verify} messages.
                         * @param message CalculateCoverageResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICalculateCoverageResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CalculateCoverageResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CalculateCoverageResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse;

                        /**
                         * Decodes a CalculateCoverageResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CalculateCoverageResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse;

                        /**
                         * Verifies a CalculateCoverageResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CalculateCoverageResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CalculateCoverageResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse;

                        /**
                         * Creates a plain object from a CalculateCoverageResponse message. Also converts values to other types if specified.
                         * @param message CalculateCoverageResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CalculateCoverageResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CalculateCoverageResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CalculateCoverageResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListTestCasesRequest. */
                    interface IListTestCasesRequest {

                        /** ListTestCasesRequest parent */
                        parent?: (string|null);

                        /** ListTestCasesRequest pageSize */
                        pageSize?: (number|null);

                        /** ListTestCasesRequest pageToken */
                        pageToken?: (string|null);

                        /** ListTestCasesRequest view */
                        view?: (google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest.TestCaseView|keyof typeof google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest.TestCaseView|null);
                    }

                    /** Represents a ListTestCasesRequest. */
                    class ListTestCasesRequest implements IListTestCasesRequest {

                        /**
                         * Constructs a new ListTestCasesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListTestCasesRequest);

                        /** ListTestCasesRequest parent. */
                        public parent: string;

                        /** ListTestCasesRequest pageSize. */
                        public pageSize: number;

                        /** ListTestCasesRequest pageToken. */
                        public pageToken: string;

                        /** ListTestCasesRequest view. */
                        public view: (google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest.TestCaseView|keyof typeof google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest.TestCaseView);

                        /**
                         * Creates a new ListTestCasesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListTestCasesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListTestCasesRequest): google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest;

                        /**
                         * Encodes the specified ListTestCasesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest.verify|verify} messages.
                         * @param message ListTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListTestCasesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest.verify|verify} messages.
                         * @param message ListTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListTestCasesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest;

                        /**
                         * Decodes a ListTestCasesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest;

                        /**
                         * Verifies a ListTestCasesRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListTestCasesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListTestCasesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest;

                        /**
                         * Creates a plain object from a ListTestCasesRequest message. Also converts values to other types if specified.
                         * @param message ListTestCasesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListTestCasesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListTestCasesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListTestCasesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ListTestCasesRequest {

                        /** TestCaseView enum. */
                        enum TestCaseView {
                            TEST_CASE_VIEW_UNSPECIFIED = 0,
                            BASIC = 1,
                            FULL = 2
                        }
                    }

                    /** Properties of a ListTestCasesResponse. */
                    interface IListTestCasesResponse {

                        /** ListTestCasesResponse testCases */
                        testCases?: (google.cloud.dialogflow.cx.v3beta1.ITestCase[]|null);

                        /** ListTestCasesResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListTestCasesResponse. */
                    class ListTestCasesResponse implements IListTestCasesResponse {

                        /**
                         * Constructs a new ListTestCasesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListTestCasesResponse);

                        /** ListTestCasesResponse testCases. */
                        public testCases: google.cloud.dialogflow.cx.v3beta1.ITestCase[];

                        /** ListTestCasesResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListTestCasesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListTestCasesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListTestCasesResponse): google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse;

                        /**
                         * Encodes the specified ListTestCasesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse.verify|verify} messages.
                         * @param message ListTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListTestCasesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse.verify|verify} messages.
                         * @param message ListTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListTestCasesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse;

                        /**
                         * Decodes a ListTestCasesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse;

                        /**
                         * Verifies a ListTestCasesResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListTestCasesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListTestCasesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse;

                        /**
                         * Creates a plain object from a ListTestCasesResponse message. Also converts values to other types if specified.
                         * @param message ListTestCasesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListTestCasesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListTestCasesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListTestCasesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a BatchDeleteTestCasesRequest. */
                    interface IBatchDeleteTestCasesRequest {

                        /** BatchDeleteTestCasesRequest parent */
                        parent?: (string|null);

                        /** BatchDeleteTestCasesRequest names */
                        names?: (string[]|null);
                    }

                    /** Represents a BatchDeleteTestCasesRequest. */
                    class BatchDeleteTestCasesRequest implements IBatchDeleteTestCasesRequest {

                        /**
                         * Constructs a new BatchDeleteTestCasesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IBatchDeleteTestCasesRequest);

                        /** BatchDeleteTestCasesRequest parent. */
                        public parent: string;

                        /** BatchDeleteTestCasesRequest names. */
                        public names: string[];

                        /**
                         * Creates a new BatchDeleteTestCasesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BatchDeleteTestCasesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IBatchDeleteTestCasesRequest): google.cloud.dialogflow.cx.v3beta1.BatchDeleteTestCasesRequest;

                        /**
                         * Encodes the specified BatchDeleteTestCasesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BatchDeleteTestCasesRequest.verify|verify} messages.
                         * @param message BatchDeleteTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IBatchDeleteTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BatchDeleteTestCasesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BatchDeleteTestCasesRequest.verify|verify} messages.
                         * @param message BatchDeleteTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IBatchDeleteTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a BatchDeleteTestCasesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns BatchDeleteTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.BatchDeleteTestCasesRequest;

                        /**
                         * Decodes a BatchDeleteTestCasesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns BatchDeleteTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.BatchDeleteTestCasesRequest;

                        /**
                         * Verifies a BatchDeleteTestCasesRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a BatchDeleteTestCasesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns BatchDeleteTestCasesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.BatchDeleteTestCasesRequest;

                        /**
                         * Creates a plain object from a BatchDeleteTestCasesRequest message. Also converts values to other types if specified.
                         * @param message BatchDeleteTestCasesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.BatchDeleteTestCasesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this BatchDeleteTestCasesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for BatchDeleteTestCasesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateTestCaseRequest. */
                    interface ICreateTestCaseRequest {

                        /** CreateTestCaseRequest parent */
                        parent?: (string|null);

                        /** CreateTestCaseRequest testCase */
                        testCase?: (google.cloud.dialogflow.cx.v3beta1.ITestCase|null);
                    }

                    /** Represents a CreateTestCaseRequest. */
                    class CreateTestCaseRequest implements ICreateTestCaseRequest {

                        /**
                         * Constructs a new CreateTestCaseRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateTestCaseRequest);

                        /** CreateTestCaseRequest parent. */
                        public parent: string;

                        /** CreateTestCaseRequest testCase. */
                        public testCase?: (google.cloud.dialogflow.cx.v3beta1.ITestCase|null);

                        /**
                         * Creates a new CreateTestCaseRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateTestCaseRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateTestCaseRequest): google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest;

                        /**
                         * Encodes the specified CreateTestCaseRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest.verify|verify} messages.
                         * @param message CreateTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateTestCaseRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest.verify|verify} messages.
                         * @param message CreateTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateTestCaseRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest;

                        /**
                         * Decodes a CreateTestCaseRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest;

                        /**
                         * Verifies a CreateTestCaseRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateTestCaseRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateTestCaseRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest;

                        /**
                         * Creates a plain object from a CreateTestCaseRequest message. Also converts values to other types if specified.
                         * @param message CreateTestCaseRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateTestCaseRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateTestCaseRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateTestCaseRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateTestCaseRequest. */
                    interface IUpdateTestCaseRequest {

                        /** UpdateTestCaseRequest testCase */
                        testCase?: (google.cloud.dialogflow.cx.v3beta1.ITestCase|null);

                        /** UpdateTestCaseRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateTestCaseRequest. */
                    class UpdateTestCaseRequest implements IUpdateTestCaseRequest {

                        /**
                         * Constructs a new UpdateTestCaseRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateTestCaseRequest);

                        /** UpdateTestCaseRequest testCase. */
                        public testCase?: (google.cloud.dialogflow.cx.v3beta1.ITestCase|null);

                        /** UpdateTestCaseRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateTestCaseRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateTestCaseRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateTestCaseRequest): google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest;

                        /**
                         * Encodes the specified UpdateTestCaseRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest.verify|verify} messages.
                         * @param message UpdateTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateTestCaseRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest.verify|verify} messages.
                         * @param message UpdateTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateTestCaseRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest;

                        /**
                         * Decodes an UpdateTestCaseRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest;

                        /**
                         * Verifies an UpdateTestCaseRequest message.
                         * @param message Plain 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 UpdateTestCaseRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateTestCaseRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest;

                        /**
                         * Creates a plain object from an UpdateTestCaseRequest message. Also converts values to other types if specified.
                         * @param message UpdateTestCaseRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateTestCaseRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateTestCaseRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateTestCaseRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetTestCaseRequest. */
                    interface IGetTestCaseRequest {

                        /** GetTestCaseRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetTestCaseRequest. */
                    class GetTestCaseRequest implements IGetTestCaseRequest {

                        /**
                         * Constructs a new GetTestCaseRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetTestCaseRequest);

                        /** GetTestCaseRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetTestCaseRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetTestCaseRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetTestCaseRequest): google.cloud.dialogflow.cx.v3beta1.GetTestCaseRequest;

                        /**
                         * Encodes the specified GetTestCaseRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetTestCaseRequest.verify|verify} messages.
                         * @param message GetTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetTestCaseRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetTestCaseRequest.verify|verify} messages.
                         * @param message GetTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetTestCaseRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetTestCaseRequest;

                        /**
                         * Decodes a GetTestCaseRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetTestCaseRequest;

                        /**
                         * Verifies a GetTestCaseRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetTestCaseRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetTestCaseRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetTestCaseRequest;

                        /**
                         * Creates a plain object from a GetTestCaseRequest message. Also converts values to other types if specified.
                         * @param message GetTestCaseRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetTestCaseRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetTestCaseRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetTestCaseRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a RunTestCaseRequest. */
                    interface IRunTestCaseRequest {

                        /** RunTestCaseRequest name */
                        name?: (string|null);

                        /** RunTestCaseRequest environment */
                        environment?: (string|null);
                    }

                    /** Represents a RunTestCaseRequest. */
                    class RunTestCaseRequest implements IRunTestCaseRequest {

                        /**
                         * Constructs a new RunTestCaseRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IRunTestCaseRequest);

                        /** RunTestCaseRequest name. */
                        public name: string;

                        /** RunTestCaseRequest environment. */
                        public environment: string;

                        /**
                         * Creates a new RunTestCaseRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RunTestCaseRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IRunTestCaseRequest): google.cloud.dialogflow.cx.v3beta1.RunTestCaseRequest;

                        /**
                         * Encodes the specified RunTestCaseRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RunTestCaseRequest.verify|verify} messages.
                         * @param message RunTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IRunTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RunTestCaseRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RunTestCaseRequest.verify|verify} messages.
                         * @param message RunTestCaseRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IRunTestCaseRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RunTestCaseRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RunTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.RunTestCaseRequest;

                        /**
                         * Decodes a RunTestCaseRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RunTestCaseRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.RunTestCaseRequest;

                        /**
                         * Verifies a RunTestCaseRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RunTestCaseRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RunTestCaseRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.RunTestCaseRequest;

                        /**
                         * Creates a plain object from a RunTestCaseRequest message. Also converts values to other types if specified.
                         * @param message RunTestCaseRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.RunTestCaseRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RunTestCaseRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RunTestCaseRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a RunTestCaseResponse. */
                    interface IRunTestCaseResponse {

                        /** RunTestCaseResponse result */
                        result?: (google.cloud.dialogflow.cx.v3beta1.ITestCaseResult|null);
                    }

                    /** Represents a RunTestCaseResponse. */
                    class RunTestCaseResponse implements IRunTestCaseResponse {

                        /**
                         * Constructs a new RunTestCaseResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IRunTestCaseResponse);

                        /** RunTestCaseResponse result. */
                        public result?: (google.cloud.dialogflow.cx.v3beta1.ITestCaseResult|null);

                        /**
                         * Creates a new RunTestCaseResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RunTestCaseResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IRunTestCaseResponse): google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse;

                        /**
                         * Encodes the specified RunTestCaseResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse.verify|verify} messages.
                         * @param message RunTestCaseResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IRunTestCaseResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RunTestCaseResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse.verify|verify} messages.
                         * @param message RunTestCaseResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IRunTestCaseResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RunTestCaseResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RunTestCaseResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse;

                        /**
                         * Decodes a RunTestCaseResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RunTestCaseResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse;

                        /**
                         * Verifies a RunTestCaseResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RunTestCaseResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RunTestCaseResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse;

                        /**
                         * Creates a plain object from a RunTestCaseResponse message. Also converts values to other types if specified.
                         * @param message RunTestCaseResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.RunTestCaseResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RunTestCaseResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RunTestCaseResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a RunTestCaseMetadata. */
                    interface IRunTestCaseMetadata {
                    }

                    /** Represents a RunTestCaseMetadata. */
                    class RunTestCaseMetadata implements IRunTestCaseMetadata {

                        /**
                         * Constructs a new RunTestCaseMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IRunTestCaseMetadata);

                        /**
                         * Creates a new RunTestCaseMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RunTestCaseMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IRunTestCaseMetadata): google.cloud.dialogflow.cx.v3beta1.RunTestCaseMetadata;

                        /**
                         * Encodes the specified RunTestCaseMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RunTestCaseMetadata.verify|verify} messages.
                         * @param message RunTestCaseMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IRunTestCaseMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RunTestCaseMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RunTestCaseMetadata.verify|verify} messages.
                         * @param message RunTestCaseMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IRunTestCaseMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RunTestCaseMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RunTestCaseMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.RunTestCaseMetadata;

                        /**
                         * Decodes a RunTestCaseMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RunTestCaseMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.RunTestCaseMetadata;

                        /**
                         * Verifies a RunTestCaseMetadata message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RunTestCaseMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RunTestCaseMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.RunTestCaseMetadata;

                        /**
                         * Creates a plain object from a RunTestCaseMetadata message. Also converts values to other types if specified.
                         * @param message RunTestCaseMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.RunTestCaseMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RunTestCaseMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RunTestCaseMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a BatchRunTestCasesRequest. */
                    interface IBatchRunTestCasesRequest {

                        /** BatchRunTestCasesRequest parent */
                        parent?: (string|null);

                        /** BatchRunTestCasesRequest environment */
                        environment?: (string|null);

                        /** BatchRunTestCasesRequest testCases */
                        testCases?: (string[]|null);
                    }

                    /** Represents a BatchRunTestCasesRequest. */
                    class BatchRunTestCasesRequest implements IBatchRunTestCasesRequest {

                        /**
                         * Constructs a new BatchRunTestCasesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IBatchRunTestCasesRequest);

                        /** BatchRunTestCasesRequest parent. */
                        public parent: string;

                        /** BatchRunTestCasesRequest environment. */
                        public environment: string;

                        /** BatchRunTestCasesRequest testCases. */
                        public testCases: string[];

                        /**
                         * Creates a new BatchRunTestCasesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BatchRunTestCasesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IBatchRunTestCasesRequest): google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesRequest;

                        /**
                         * Encodes the specified BatchRunTestCasesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesRequest.verify|verify} messages.
                         * @param message BatchRunTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IBatchRunTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BatchRunTestCasesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesRequest.verify|verify} messages.
                         * @param message BatchRunTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IBatchRunTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a BatchRunTestCasesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns BatchRunTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesRequest;

                        /**
                         * Decodes a BatchRunTestCasesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns BatchRunTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesRequest;

                        /**
                         * Verifies a BatchRunTestCasesRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a BatchRunTestCasesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns BatchRunTestCasesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesRequest;

                        /**
                         * Creates a plain object from a BatchRunTestCasesRequest message. Also converts values to other types if specified.
                         * @param message BatchRunTestCasesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this BatchRunTestCasesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for BatchRunTestCasesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a BatchRunTestCasesResponse. */
                    interface IBatchRunTestCasesResponse {

                        /** BatchRunTestCasesResponse results */
                        results?: (google.cloud.dialogflow.cx.v3beta1.ITestCaseResult[]|null);
                    }

                    /** Represents a BatchRunTestCasesResponse. */
                    class BatchRunTestCasesResponse implements IBatchRunTestCasesResponse {

                        /**
                         * Constructs a new BatchRunTestCasesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IBatchRunTestCasesResponse);

                        /** BatchRunTestCasesResponse results. */
                        public results: google.cloud.dialogflow.cx.v3beta1.ITestCaseResult[];

                        /**
                         * Creates a new BatchRunTestCasesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BatchRunTestCasesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IBatchRunTestCasesResponse): google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse;

                        /**
                         * Encodes the specified BatchRunTestCasesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse.verify|verify} messages.
                         * @param message BatchRunTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IBatchRunTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BatchRunTestCasesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse.verify|verify} messages.
                         * @param message BatchRunTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IBatchRunTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a BatchRunTestCasesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns BatchRunTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse;

                        /**
                         * Decodes a BatchRunTestCasesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns BatchRunTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse;

                        /**
                         * Verifies a BatchRunTestCasesResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a BatchRunTestCasesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns BatchRunTestCasesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse;

                        /**
                         * Creates a plain object from a BatchRunTestCasesResponse message. Also converts values to other types if specified.
                         * @param message BatchRunTestCasesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this BatchRunTestCasesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for BatchRunTestCasesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a BatchRunTestCasesMetadata. */
                    interface IBatchRunTestCasesMetadata {

                        /** BatchRunTestCasesMetadata errors */
                        errors?: (google.cloud.dialogflow.cx.v3beta1.ITestError[]|null);
                    }

                    /** Represents a BatchRunTestCasesMetadata. */
                    class BatchRunTestCasesMetadata implements IBatchRunTestCasesMetadata {

                        /**
                         * Constructs a new BatchRunTestCasesMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IBatchRunTestCasesMetadata);

                        /** BatchRunTestCasesMetadata errors. */
                        public errors: google.cloud.dialogflow.cx.v3beta1.ITestError[];

                        /**
                         * Creates a new BatchRunTestCasesMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BatchRunTestCasesMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IBatchRunTestCasesMetadata): google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata;

                        /**
                         * Encodes the specified BatchRunTestCasesMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata.verify|verify} messages.
                         * @param message BatchRunTestCasesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IBatchRunTestCasesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BatchRunTestCasesMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata.verify|verify} messages.
                         * @param message BatchRunTestCasesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IBatchRunTestCasesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a BatchRunTestCasesMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns BatchRunTestCasesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata;

                        /**
                         * Decodes a BatchRunTestCasesMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns BatchRunTestCasesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata;

                        /**
                         * Verifies a BatchRunTestCasesMetadata message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a BatchRunTestCasesMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns BatchRunTestCasesMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata;

                        /**
                         * Creates a plain object from a BatchRunTestCasesMetadata message. Also converts values to other types if specified.
                         * @param message BatchRunTestCasesMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.BatchRunTestCasesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this BatchRunTestCasesMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for BatchRunTestCasesMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a TestError. */
                    interface ITestError {

                        /** TestError testCase */
                        testCase?: (string|null);

                        /** TestError status */
                        status?: (google.rpc.IStatus|null);

                        /** TestError testTime */
                        testTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a TestError. */
                    class TestError implements ITestError {

                        /**
                         * Constructs a new TestError.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ITestError);

                        /** TestError testCase. */
                        public testCase: string;

                        /** TestError status. */
                        public status?: (google.rpc.IStatus|null);

                        /** TestError testTime. */
                        public testTime?: (google.protobuf.ITimestamp|null);

                        /**
                         * Creates a new TestError instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TestError instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ITestError): google.cloud.dialogflow.cx.v3beta1.TestError;

                        /**
                         * Encodes the specified TestError message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TestError.verify|verify} messages.
                         * @param message TestError message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ITestError, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TestError message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TestError.verify|verify} messages.
                         * @param message TestError message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ITestError, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TestError message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TestError
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TestError;

                        /**
                         * Decodes a TestError message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TestError
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TestError;

                        /**
                         * Verifies a TestError message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TestError message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TestError
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TestError;

                        /**
                         * Creates a plain object from a TestError message. Also converts values to other types if specified.
                         * @param message TestError
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TestError, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TestError to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TestError
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ImportTestCasesRequest. */
                    interface IImportTestCasesRequest {

                        /** ImportTestCasesRequest parent */
                        parent?: (string|null);

                        /** ImportTestCasesRequest gcsUri */
                        gcsUri?: (string|null);

                        /** ImportTestCasesRequest content */
                        content?: (Uint8Array|Buffer|string|null);
                    }

                    /** Represents an ImportTestCasesRequest. */
                    class ImportTestCasesRequest implements IImportTestCasesRequest {

                        /**
                         * Constructs a new ImportTestCasesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IImportTestCasesRequest);

                        /** ImportTestCasesRequest parent. */
                        public parent: string;

                        /** ImportTestCasesRequest gcsUri. */
                        public gcsUri?: (string|null);

                        /** ImportTestCasesRequest content. */
                        public content?: (Uint8Array|Buffer|string|null);

                        /** ImportTestCasesRequest source. */
                        public source?: ("gcsUri"|"content");

                        /**
                         * Creates a new ImportTestCasesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportTestCasesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IImportTestCasesRequest): google.cloud.dialogflow.cx.v3beta1.ImportTestCasesRequest;

                        /**
                         * Encodes the specified ImportTestCasesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportTestCasesRequest.verify|verify} messages.
                         * @param message ImportTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IImportTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportTestCasesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportTestCasesRequest.verify|verify} messages.
                         * @param message ImportTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IImportTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportTestCasesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ImportTestCasesRequest;

                        /**
                         * Decodes an ImportTestCasesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ImportTestCasesRequest;

                        /**
                         * Verifies an ImportTestCasesRequest message.
                         * @param message Plain 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 ImportTestCasesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportTestCasesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ImportTestCasesRequest;

                        /**
                         * Creates a plain object from an ImportTestCasesRequest message. Also converts values to other types if specified.
                         * @param message ImportTestCasesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportTestCasesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportTestCasesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ImportTestCasesResponse. */
                    interface IImportTestCasesResponse {

                        /** ImportTestCasesResponse names */
                        names?: (string[]|null);
                    }

                    /** Represents an ImportTestCasesResponse. */
                    class ImportTestCasesResponse implements IImportTestCasesResponse {

                        /**
                         * Constructs a new ImportTestCasesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IImportTestCasesResponse);

                        /** ImportTestCasesResponse names. */
                        public names: string[];

                        /**
                         * Creates a new ImportTestCasesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportTestCasesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IImportTestCasesResponse): google.cloud.dialogflow.cx.v3beta1.ImportTestCasesResponse;

                        /**
                         * Encodes the specified ImportTestCasesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportTestCasesResponse.verify|verify} messages.
                         * @param message ImportTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IImportTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportTestCasesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportTestCasesResponse.verify|verify} messages.
                         * @param message ImportTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IImportTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportTestCasesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ImportTestCasesResponse;

                        /**
                         * Decodes an ImportTestCasesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ImportTestCasesResponse;

                        /**
                         * Verifies an ImportTestCasesResponse message.
                         * @param message Plain 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 ImportTestCasesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportTestCasesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ImportTestCasesResponse;

                        /**
                         * Creates a plain object from an ImportTestCasesResponse message. Also converts values to other types if specified.
                         * @param message ImportTestCasesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportTestCasesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportTestCasesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ImportTestCasesMetadata. */
                    interface IImportTestCasesMetadata {

                        /** ImportTestCasesMetadata errors */
                        errors?: (google.cloud.dialogflow.cx.v3beta1.ITestCaseError[]|null);
                    }

                    /** Represents an ImportTestCasesMetadata. */
                    class ImportTestCasesMetadata implements IImportTestCasesMetadata {

                        /**
                         * Constructs a new ImportTestCasesMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IImportTestCasesMetadata);

                        /** ImportTestCasesMetadata errors. */
                        public errors: google.cloud.dialogflow.cx.v3beta1.ITestCaseError[];

                        /**
                         * Creates a new ImportTestCasesMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportTestCasesMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IImportTestCasesMetadata): google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata;

                        /**
                         * Encodes the specified ImportTestCasesMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata.verify|verify} messages.
                         * @param message ImportTestCasesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IImportTestCasesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportTestCasesMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata.verify|verify} messages.
                         * @param message ImportTestCasesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IImportTestCasesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportTestCasesMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportTestCasesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata;

                        /**
                         * Decodes an ImportTestCasesMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportTestCasesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata;

                        /**
                         * Verifies an ImportTestCasesMetadata message.
                         * @param message Plain 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 ImportTestCasesMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportTestCasesMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata;

                        /**
                         * Creates a plain object from an ImportTestCasesMetadata message. Also converts values to other types if specified.
                         * @param message ImportTestCasesMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ImportTestCasesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportTestCasesMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportTestCasesMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a TestCaseError. */
                    interface ITestCaseError {

                        /** TestCaseError testCase */
                        testCase?: (google.cloud.dialogflow.cx.v3beta1.ITestCase|null);

                        /** TestCaseError status */
                        status?: (google.rpc.IStatus|null);
                    }

                    /** Represents a TestCaseError. */
                    class TestCaseError implements ITestCaseError {

                        /**
                         * Constructs a new TestCaseError.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ITestCaseError);

                        /** TestCaseError testCase. */
                        public testCase?: (google.cloud.dialogflow.cx.v3beta1.ITestCase|null);

                        /** TestCaseError status. */
                        public status?: (google.rpc.IStatus|null);

                        /**
                         * Creates a new TestCaseError instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TestCaseError instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ITestCaseError): google.cloud.dialogflow.cx.v3beta1.TestCaseError;

                        /**
                         * Encodes the specified TestCaseError message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TestCaseError.verify|verify} messages.
                         * @param message TestCaseError message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ITestCaseError, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TestCaseError message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TestCaseError.verify|verify} messages.
                         * @param message TestCaseError message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ITestCaseError, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TestCaseError message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TestCaseError
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TestCaseError;

                        /**
                         * Decodes a TestCaseError message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TestCaseError
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TestCaseError;

                        /**
                         * Verifies a TestCaseError message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TestCaseError message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TestCaseError
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TestCaseError;

                        /**
                         * Creates a plain object from a TestCaseError message. Also converts values to other types if specified.
                         * @param message TestCaseError
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TestCaseError, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TestCaseError to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TestCaseError
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ExportTestCasesRequest. */
                    interface IExportTestCasesRequest {

                        /** ExportTestCasesRequest parent */
                        parent?: (string|null);

                        /** ExportTestCasesRequest gcsUri */
                        gcsUri?: (string|null);

                        /** ExportTestCasesRequest dataFormat */
                        dataFormat?: (google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest.DataFormat|null);

                        /** ExportTestCasesRequest filter */
                        filter?: (string|null);
                    }

                    /** Represents an ExportTestCasesRequest. */
                    class ExportTestCasesRequest implements IExportTestCasesRequest {

                        /**
                         * Constructs a new ExportTestCasesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportTestCasesRequest);

                        /** ExportTestCasesRequest parent. */
                        public parent: string;

                        /** ExportTestCasesRequest gcsUri. */
                        public gcsUri?: (string|null);

                        /** ExportTestCasesRequest dataFormat. */
                        public dataFormat: (google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest.DataFormat);

                        /** ExportTestCasesRequest filter. */
                        public filter: string;

                        /** ExportTestCasesRequest destination. */
                        public destination?: "gcsUri";

                        /**
                         * Creates a new ExportTestCasesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportTestCasesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportTestCasesRequest): google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest;

                        /**
                         * Encodes the specified ExportTestCasesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest.verify|verify} messages.
                         * @param message ExportTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportTestCasesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest.verify|verify} messages.
                         * @param message ExportTestCasesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportTestCasesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportTestCasesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest;

                        /**
                         * Decodes an ExportTestCasesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportTestCasesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest;

                        /**
                         * Verifies an ExportTestCasesRequest message.
                         * @param message Plain 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 ExportTestCasesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportTestCasesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest;

                        /**
                         * Creates a plain object from an ExportTestCasesRequest message. Also converts values to other types if specified.
                         * @param message ExportTestCasesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportTestCasesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportTestCasesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ExportTestCasesRequest {

                        /** DataFormat enum. */
                        enum DataFormat {
                            DATA_FORMAT_UNSPECIFIED = 0,
                            BLOB = 1,
                            JSON = 2
                        }
                    }

                    /** Properties of an ExportTestCasesResponse. */
                    interface IExportTestCasesResponse {

                        /** ExportTestCasesResponse gcsUri */
                        gcsUri?: (string|null);

                        /** ExportTestCasesResponse content */
                        content?: (Uint8Array|Buffer|string|null);
                    }

                    /** Represents an ExportTestCasesResponse. */
                    class ExportTestCasesResponse implements IExportTestCasesResponse {

                        /**
                         * Constructs a new ExportTestCasesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportTestCasesResponse);

                        /** ExportTestCasesResponse gcsUri. */
                        public gcsUri?: (string|null);

                        /** ExportTestCasesResponse content. */
                        public content?: (Uint8Array|Buffer|string|null);

                        /** ExportTestCasesResponse destination. */
                        public destination?: ("gcsUri"|"content");

                        /**
                         * Creates a new ExportTestCasesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportTestCasesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportTestCasesResponse): google.cloud.dialogflow.cx.v3beta1.ExportTestCasesResponse;

                        /**
                         * Encodes the specified ExportTestCasesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportTestCasesResponse.verify|verify} messages.
                         * @param message ExportTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportTestCasesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportTestCasesResponse.verify|verify} messages.
                         * @param message ExportTestCasesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportTestCasesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportTestCasesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportTestCasesResponse;

                        /**
                         * Decodes an ExportTestCasesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportTestCasesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportTestCasesResponse;

                        /**
                         * Verifies an ExportTestCasesResponse message.
                         * @param message Plain 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 ExportTestCasesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportTestCasesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportTestCasesResponse;

                        /**
                         * Creates a plain object from an ExportTestCasesResponse message. Also converts values to other types if specified.
                         * @param message ExportTestCasesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportTestCasesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportTestCasesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ExportTestCasesMetadata. */
                    interface IExportTestCasesMetadata {
                    }

                    /** Represents an ExportTestCasesMetadata. */
                    class ExportTestCasesMetadata implements IExportTestCasesMetadata {

                        /**
                         * Constructs a new ExportTestCasesMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportTestCasesMetadata);

                        /**
                         * Creates a new ExportTestCasesMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportTestCasesMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportTestCasesMetadata): google.cloud.dialogflow.cx.v3beta1.ExportTestCasesMetadata;

                        /**
                         * Encodes the specified ExportTestCasesMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportTestCasesMetadata.verify|verify} messages.
                         * @param message ExportTestCasesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportTestCasesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportTestCasesMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportTestCasesMetadata.verify|verify} messages.
                         * @param message ExportTestCasesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportTestCasesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportTestCasesMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportTestCasesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportTestCasesMetadata;

                        /**
                         * Decodes an ExportTestCasesMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportTestCasesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportTestCasesMetadata;

                        /**
                         * Verifies an ExportTestCasesMetadata message.
                         * @param message Plain 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 ExportTestCasesMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportTestCasesMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportTestCasesMetadata;

                        /**
                         * Creates a plain object from an ExportTestCasesMetadata message. Also converts values to other types if specified.
                         * @param message ExportTestCasesMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportTestCasesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportTestCasesMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportTestCasesMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListTestCaseResultsRequest. */
                    interface IListTestCaseResultsRequest {

                        /** ListTestCaseResultsRequest parent */
                        parent?: (string|null);

                        /** ListTestCaseResultsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListTestCaseResultsRequest pageToken */
                        pageToken?: (string|null);

                        /** ListTestCaseResultsRequest filter */
                        filter?: (string|null);
                    }

                    /** Represents a ListTestCaseResultsRequest. */
                    class ListTestCaseResultsRequest implements IListTestCaseResultsRequest {

                        /**
                         * Constructs a new ListTestCaseResultsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListTestCaseResultsRequest);

                        /** ListTestCaseResultsRequest parent. */
                        public parent: string;

                        /** ListTestCaseResultsRequest pageSize. */
                        public pageSize: number;

                        /** ListTestCaseResultsRequest pageToken. */
                        public pageToken: string;

                        /** ListTestCaseResultsRequest filter. */
                        public filter: string;

                        /**
                         * Creates a new ListTestCaseResultsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListTestCaseResultsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListTestCaseResultsRequest): google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsRequest;

                        /**
                         * Encodes the specified ListTestCaseResultsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsRequest.verify|verify} messages.
                         * @param message ListTestCaseResultsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListTestCaseResultsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListTestCaseResultsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsRequest.verify|verify} messages.
                         * @param message ListTestCaseResultsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListTestCaseResultsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListTestCaseResultsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListTestCaseResultsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsRequest;

                        /**
                         * Decodes a ListTestCaseResultsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListTestCaseResultsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsRequest;

                        /**
                         * Verifies a ListTestCaseResultsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListTestCaseResultsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListTestCaseResultsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsRequest;

                        /**
                         * Creates a plain object from a ListTestCaseResultsRequest message. Also converts values to other types if specified.
                         * @param message ListTestCaseResultsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListTestCaseResultsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListTestCaseResultsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListTestCaseResultsResponse. */
                    interface IListTestCaseResultsResponse {

                        /** ListTestCaseResultsResponse testCaseResults */
                        testCaseResults?: (google.cloud.dialogflow.cx.v3beta1.ITestCaseResult[]|null);

                        /** ListTestCaseResultsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListTestCaseResultsResponse. */
                    class ListTestCaseResultsResponse implements IListTestCaseResultsResponse {

                        /**
                         * Constructs a new ListTestCaseResultsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListTestCaseResultsResponse);

                        /** ListTestCaseResultsResponse testCaseResults. */
                        public testCaseResults: google.cloud.dialogflow.cx.v3beta1.ITestCaseResult[];

                        /** ListTestCaseResultsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListTestCaseResultsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListTestCaseResultsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListTestCaseResultsResponse): google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse;

                        /**
                         * Encodes the specified ListTestCaseResultsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse.verify|verify} messages.
                         * @param message ListTestCaseResultsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListTestCaseResultsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListTestCaseResultsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse.verify|verify} messages.
                         * @param message ListTestCaseResultsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListTestCaseResultsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListTestCaseResultsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListTestCaseResultsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse;

                        /**
                         * Decodes a ListTestCaseResultsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListTestCaseResultsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse;

                        /**
                         * Verifies a ListTestCaseResultsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListTestCaseResultsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListTestCaseResultsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse;

                        /**
                         * Creates a plain object from a ListTestCaseResultsResponse message. Also converts values to other types if specified.
                         * @param message ListTestCaseResultsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListTestCaseResultsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListTestCaseResultsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListTestCaseResultsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetTestCaseResultRequest. */
                    interface IGetTestCaseResultRequest {

                        /** GetTestCaseResultRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetTestCaseResultRequest. */
                    class GetTestCaseResultRequest implements IGetTestCaseResultRequest {

                        /**
                         * Constructs a new GetTestCaseResultRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetTestCaseResultRequest);

                        /** GetTestCaseResultRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetTestCaseResultRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetTestCaseResultRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetTestCaseResultRequest): google.cloud.dialogflow.cx.v3beta1.GetTestCaseResultRequest;

                        /**
                         * Encodes the specified GetTestCaseResultRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetTestCaseResultRequest.verify|verify} messages.
                         * @param message GetTestCaseResultRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetTestCaseResultRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetTestCaseResultRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetTestCaseResultRequest.verify|verify} messages.
                         * @param message GetTestCaseResultRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetTestCaseResultRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetTestCaseResultRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetTestCaseResultRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetTestCaseResultRequest;

                        /**
                         * Decodes a GetTestCaseResultRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetTestCaseResultRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetTestCaseResultRequest;

                        /**
                         * Verifies a GetTestCaseResultRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetTestCaseResultRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetTestCaseResultRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetTestCaseResultRequest;

                        /**
                         * Creates a plain object from a GetTestCaseResultRequest message. Also converts values to other types if specified.
                         * @param message GetTestCaseResultRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetTestCaseResultRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetTestCaseResultRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetTestCaseResultRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** TestResult enum. */
                    enum TestResult {
                        TEST_RESULT_UNSPECIFIED = 0,
                        PASSED = 1,
                        FAILED = 2
                    }

                    /** Represents an Intents */
                    class Intents extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Intents 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 Intents 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): Intents;

                        /**
                         * Calls ListIntents.
                         * @param request ListIntentsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListIntentsResponse
                         */
                        public listIntents(request: google.cloud.dialogflow.cx.v3beta1.IListIntentsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Intents.ListIntentsCallback): void;

                        /**
                         * Calls ListIntents.
                         * @param request ListIntentsRequest message or plain object
                         * @returns Promise
                         */
                        public listIntents(request: google.cloud.dialogflow.cx.v3beta1.IListIntentsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListIntentsResponse>;

                        /**
                         * Calls GetIntent.
                         * @param request GetIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Intent
                         */
                        public getIntent(request: google.cloud.dialogflow.cx.v3beta1.IGetIntentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Intents.GetIntentCallback): void;

                        /**
                         * Calls GetIntent.
                         * @param request GetIntentRequest message or plain object
                         * @returns Promise
                         */
                        public getIntent(request: google.cloud.dialogflow.cx.v3beta1.IGetIntentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Intent>;

                        /**
                         * Calls CreateIntent.
                         * @param request CreateIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Intent
                         */
                        public createIntent(request: google.cloud.dialogflow.cx.v3beta1.ICreateIntentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Intents.CreateIntentCallback): void;

                        /**
                         * Calls CreateIntent.
                         * @param request CreateIntentRequest message or plain object
                         * @returns Promise
                         */
                        public createIntent(request: google.cloud.dialogflow.cx.v3beta1.ICreateIntentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Intent>;

                        /**
                         * Calls UpdateIntent.
                         * @param request UpdateIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Intent
                         */
                        public updateIntent(request: google.cloud.dialogflow.cx.v3beta1.IUpdateIntentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Intents.UpdateIntentCallback): void;

                        /**
                         * Calls UpdateIntent.
                         * @param request UpdateIntentRequest message or plain object
                         * @returns Promise
                         */
                        public updateIntent(request: google.cloud.dialogflow.cx.v3beta1.IUpdateIntentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Intent>;

                        /**
                         * Calls DeleteIntent.
                         * @param request DeleteIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteIntent(request: google.cloud.dialogflow.cx.v3beta1.IDeleteIntentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Intents.DeleteIntentCallback): void;

                        /**
                         * Calls DeleteIntent.
                         * @param request DeleteIntentRequest message or plain object
                         * @returns Promise
                         */
                        public deleteIntent(request: google.cloud.dialogflow.cx.v3beta1.IDeleteIntentRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls ImportIntents.
                         * @param request ImportIntentsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public importIntents(request: google.cloud.dialogflow.cx.v3beta1.IImportIntentsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Intents.ImportIntentsCallback): void;

                        /**
                         * Calls ImportIntents.
                         * @param request ImportIntentsRequest message or plain object
                         * @returns Promise
                         */
                        public importIntents(request: google.cloud.dialogflow.cx.v3beta1.IImportIntentsRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ExportIntents.
                         * @param request ExportIntentsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public exportIntents(request: google.cloud.dialogflow.cx.v3beta1.IExportIntentsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Intents.ExportIntentsCallback): void;

                        /**
                         * Calls ExportIntents.
                         * @param request ExportIntentsRequest message or plain object
                         * @returns Promise
                         */
                        public exportIntents(request: google.cloud.dialogflow.cx.v3beta1.IExportIntentsRequest): Promise<google.longrunning.Operation>;
                    }

                    namespace Intents {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Intents|listIntents}.
                         * @param error Error, if any
                         * @param [response] ListIntentsResponse
                         */
                        type ListIntentsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListIntentsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Intents|getIntent}.
                         * @param error Error, if any
                         * @param [response] Intent
                         */
                        type GetIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Intent) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Intents|createIntent}.
                         * @param error Error, if any
                         * @param [response] Intent
                         */
                        type CreateIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Intent) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Intents|updateIntent}.
                         * @param error Error, if any
                         * @param [response] Intent
                         */
                        type UpdateIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Intent) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Intents|deleteIntent}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteIntentCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Intents|importIntents}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ImportIntentsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Intents|exportIntents}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ExportIntentsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
                    }

                    /** Properties of an Intent. */
                    interface IIntent {

                        /** Intent name */
                        name?: (string|null);

                        /** Intent displayName */
                        displayName?: (string|null);

                        /** Intent trainingPhrases */
                        trainingPhrases?: (google.cloud.dialogflow.cx.v3beta1.Intent.ITrainingPhrase[]|null);

                        /** Intent parameters */
                        parameters?: (google.cloud.dialogflow.cx.v3beta1.Intent.IParameter[]|null);

                        /** Intent priority */
                        priority?: (number|null);

                        /** Intent isFallback */
                        isFallback?: (boolean|null);

                        /** Intent labels */
                        labels?: ({ [k: string]: string }|null);

                        /** Intent description */
                        description?: (string|null);
                    }

                    /** Represents an Intent. */
                    class Intent implements IIntent {

                        /**
                         * Constructs a new Intent.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IIntent);

                        /** Intent name. */
                        public name: string;

                        /** Intent displayName. */
                        public displayName: string;

                        /** Intent trainingPhrases. */
                        public trainingPhrases: google.cloud.dialogflow.cx.v3beta1.Intent.ITrainingPhrase[];

                        /** Intent parameters. */
                        public parameters: google.cloud.dialogflow.cx.v3beta1.Intent.IParameter[];

                        /** Intent priority. */
                        public priority: number;

                        /** Intent isFallback. */
                        public isFallback: boolean;

                        /** Intent labels. */
                        public labels: { [k: string]: string };

                        /** Intent description. */
                        public description: string;

                        /**
                         * Creates a new Intent instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Intent instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IIntent): google.cloud.dialogflow.cx.v3beta1.Intent;

                        /**
                         * Encodes the specified Intent message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Intent.verify|verify} messages.
                         * @param message Intent message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IIntent, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Intent message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Intent.verify|verify} messages.
                         * @param message Intent message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IIntent, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an Intent message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Intent
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Intent;

                        /**
                         * Decodes an Intent message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Intent
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Intent;

                        /**
                         * Verifies an Intent message.
                         * @param message Plain 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 Intent message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Intent
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Intent;

                        /**
                         * Creates a plain object from an Intent message. Also converts values to other types if specified.
                         * @param message Intent
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Intent, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Intent to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Intent
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Intent {

                        /** Properties of a TrainingPhrase. */
                        interface ITrainingPhrase {

                            /** TrainingPhrase id */
                            id?: (string|null);

                            /** TrainingPhrase parts */
                            parts?: (google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase.IPart[]|null);

                            /** TrainingPhrase repeatCount */
                            repeatCount?: (number|null);
                        }

                        /** Represents a TrainingPhrase. */
                        class TrainingPhrase implements ITrainingPhrase {

                            /**
                             * Constructs a new TrainingPhrase.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Intent.ITrainingPhrase);

                            /** TrainingPhrase id. */
                            public id: string;

                            /** TrainingPhrase parts. */
                            public parts: google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase.IPart[];

                            /** TrainingPhrase repeatCount. */
                            public repeatCount: number;

                            /**
                             * Creates a new TrainingPhrase instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns TrainingPhrase instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Intent.ITrainingPhrase): google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase;

                            /**
                             * Encodes the specified TrainingPhrase message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase.verify|verify} messages.
                             * @param message TrainingPhrase message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Intent.ITrainingPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified TrainingPhrase message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase.verify|verify} messages.
                             * @param message TrainingPhrase message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Intent.ITrainingPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a TrainingPhrase message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns TrainingPhrase
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase;

                            /**
                             * Decodes a TrainingPhrase message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns TrainingPhrase
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase;

                            /**
                             * Verifies a TrainingPhrase message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a TrainingPhrase message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns TrainingPhrase
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase;

                            /**
                             * Creates a plain object from a TrainingPhrase message. Also converts values to other types if specified.
                             * @param message TrainingPhrase
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this TrainingPhrase to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for TrainingPhrase
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace TrainingPhrase {

                            /** Properties of a Part. */
                            interface IPart {

                                /** Part text */
                                text?: (string|null);

                                /** Part parameterId */
                                parameterId?: (string|null);
                            }

                            /** Represents a Part. */
                            class Part implements IPart {

                                /**
                                 * Constructs a new Part.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase.IPart);

                                /** Part text. */
                                public text: string;

                                /** Part parameterId. */
                                public parameterId: string;

                                /**
                                 * Creates a new Part instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns Part instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase.IPart): google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase.Part;

                                /**
                                 * Encodes the specified Part message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase.Part.verify|verify} messages.
                                 * @param message Part message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase.IPart, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified Part message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase.Part.verify|verify} messages.
                                 * @param message Part message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase.IPart, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a Part message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns Part
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase.Part;

                                /**
                                 * Decodes a Part message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns Part
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase.Part;

                                /**
                                 * Verifies a Part message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a Part message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns Part
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase.Part;

                                /**
                                 * Creates a plain object from a Part message. Also converts values to other types if specified.
                                 * @param message Part
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Intent.TrainingPhrase.Part, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this Part to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for Part
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }

                        /** Properties of a Parameter. */
                        interface IParameter {

                            /** Parameter id */
                            id?: (string|null);

                            /** Parameter entityType */
                            entityType?: (string|null);

                            /** Parameter isList */
                            isList?: (boolean|null);

                            /** Parameter redact */
                            redact?: (boolean|null);
                        }

                        /** Represents a Parameter. */
                        class Parameter implements IParameter {

                            /**
                             * Constructs a new Parameter.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Intent.IParameter);

                            /** Parameter id. */
                            public id: string;

                            /** Parameter entityType. */
                            public entityType: string;

                            /** Parameter isList. */
                            public isList: boolean;

                            /** Parameter redact. */
                            public redact: boolean;

                            /**
                             * Creates a new Parameter instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Parameter instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Intent.IParameter): google.cloud.dialogflow.cx.v3beta1.Intent.Parameter;

                            /**
                             * Encodes the specified Parameter message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Intent.Parameter.verify|verify} messages.
                             * @param message Parameter message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Intent.IParameter, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Parameter message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Intent.Parameter.verify|verify} messages.
                             * @param message Parameter message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Intent.IParameter, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Parameter message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Parameter
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Intent.Parameter;

                            /**
                             * Decodes a Parameter message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Parameter
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Intent.Parameter;

                            /**
                             * Verifies a Parameter message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Parameter message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Parameter
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Intent.Parameter;

                            /**
                             * Creates a plain object from a Parameter message. Also converts values to other types if specified.
                             * @param message Parameter
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Intent.Parameter, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Parameter to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Parameter
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a ListIntentsRequest. */
                    interface IListIntentsRequest {

                        /** ListIntentsRequest parent */
                        parent?: (string|null);

                        /** ListIntentsRequest languageCode */
                        languageCode?: (string|null);

                        /** ListIntentsRequest intentView */
                        intentView?: (google.cloud.dialogflow.cx.v3beta1.IntentView|keyof typeof google.cloud.dialogflow.cx.v3beta1.IntentView|null);

                        /** ListIntentsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListIntentsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListIntentsRequest. */
                    class ListIntentsRequest implements IListIntentsRequest {

                        /**
                         * Constructs a new ListIntentsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListIntentsRequest);

                        /** ListIntentsRequest parent. */
                        public parent: string;

                        /** ListIntentsRequest languageCode. */
                        public languageCode: string;

                        /** ListIntentsRequest intentView. */
                        public intentView: (google.cloud.dialogflow.cx.v3beta1.IntentView|keyof typeof google.cloud.dialogflow.cx.v3beta1.IntentView);

                        /** ListIntentsRequest pageSize. */
                        public pageSize: number;

                        /** ListIntentsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListIntentsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListIntentsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListIntentsRequest): google.cloud.dialogflow.cx.v3beta1.ListIntentsRequest;

                        /**
                         * Encodes the specified ListIntentsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListIntentsRequest.verify|verify} messages.
                         * @param message ListIntentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListIntentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListIntentsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListIntentsRequest.verify|verify} messages.
                         * @param message ListIntentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListIntentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListIntentsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListIntentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListIntentsRequest;

                        /**
                         * Decodes a ListIntentsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListIntentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListIntentsRequest;

                        /**
                         * Verifies a ListIntentsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListIntentsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListIntentsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListIntentsRequest;

                        /**
                         * Creates a plain object from a ListIntentsRequest message. Also converts values to other types if specified.
                         * @param message ListIntentsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListIntentsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListIntentsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListIntentsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListIntentsResponse. */
                    interface IListIntentsResponse {

                        /** ListIntentsResponse intents */
                        intents?: (google.cloud.dialogflow.cx.v3beta1.IIntent[]|null);

                        /** ListIntentsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListIntentsResponse. */
                    class ListIntentsResponse implements IListIntentsResponse {

                        /**
                         * Constructs a new ListIntentsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListIntentsResponse);

                        /** ListIntentsResponse intents. */
                        public intents: google.cloud.dialogflow.cx.v3beta1.IIntent[];

                        /** ListIntentsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListIntentsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListIntentsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListIntentsResponse): google.cloud.dialogflow.cx.v3beta1.ListIntentsResponse;

                        /**
                         * Encodes the specified ListIntentsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListIntentsResponse.verify|verify} messages.
                         * @param message ListIntentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListIntentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListIntentsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListIntentsResponse.verify|verify} messages.
                         * @param message ListIntentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListIntentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListIntentsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListIntentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListIntentsResponse;

                        /**
                         * Decodes a ListIntentsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListIntentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListIntentsResponse;

                        /**
                         * Verifies a ListIntentsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListIntentsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListIntentsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListIntentsResponse;

                        /**
                         * Creates a plain object from a ListIntentsResponse message. Also converts values to other types if specified.
                         * @param message ListIntentsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListIntentsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListIntentsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListIntentsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetIntentRequest. */
                    interface IGetIntentRequest {

                        /** GetIntentRequest name */
                        name?: (string|null);

                        /** GetIntentRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetIntentRequest. */
                    class GetIntentRequest implements IGetIntentRequest {

                        /**
                         * Constructs a new GetIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetIntentRequest);

                        /** GetIntentRequest name. */
                        public name: string;

                        /** GetIntentRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetIntentRequest): google.cloud.dialogflow.cx.v3beta1.GetIntentRequest;

                        /**
                         * Encodes the specified GetIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetIntentRequest.verify|verify} messages.
                         * @param message GetIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetIntentRequest.verify|verify} messages.
                         * @param message GetIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetIntentRequest;

                        /**
                         * Decodes a GetIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetIntentRequest;

                        /**
                         * Verifies a GetIntentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetIntentRequest;

                        /**
                         * Creates a plain object from a GetIntentRequest message. Also converts values to other types if specified.
                         * @param message GetIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateIntentRequest. */
                    interface ICreateIntentRequest {

                        /** CreateIntentRequest parent */
                        parent?: (string|null);

                        /** CreateIntentRequest intent */
                        intent?: (google.cloud.dialogflow.cx.v3beta1.IIntent|null);

                        /** CreateIntentRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a CreateIntentRequest. */
                    class CreateIntentRequest implements ICreateIntentRequest {

                        /**
                         * Constructs a new CreateIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateIntentRequest);

                        /** CreateIntentRequest parent. */
                        public parent: string;

                        /** CreateIntentRequest intent. */
                        public intent?: (google.cloud.dialogflow.cx.v3beta1.IIntent|null);

                        /** CreateIntentRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new CreateIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateIntentRequest): google.cloud.dialogflow.cx.v3beta1.CreateIntentRequest;

                        /**
                         * Encodes the specified CreateIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateIntentRequest.verify|verify} messages.
                         * @param message CreateIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateIntentRequest.verify|verify} messages.
                         * @param message CreateIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateIntentRequest;

                        /**
                         * Decodes a CreateIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateIntentRequest;

                        /**
                         * Verifies a CreateIntentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateIntentRequest;

                        /**
                         * Creates a plain object from a CreateIntentRequest message. Also converts values to other types if specified.
                         * @param message CreateIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateIntentRequest. */
                    interface IUpdateIntentRequest {

                        /** UpdateIntentRequest intent */
                        intent?: (google.cloud.dialogflow.cx.v3beta1.IIntent|null);

                        /** UpdateIntentRequest languageCode */
                        languageCode?: (string|null);

                        /** UpdateIntentRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateIntentRequest. */
                    class UpdateIntentRequest implements IUpdateIntentRequest {

                        /**
                         * Constructs a new UpdateIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateIntentRequest);

                        /** UpdateIntentRequest intent. */
                        public intent?: (google.cloud.dialogflow.cx.v3beta1.IIntent|null);

                        /** UpdateIntentRequest languageCode. */
                        public languageCode: string;

                        /** UpdateIntentRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateIntentRequest): google.cloud.dialogflow.cx.v3beta1.UpdateIntentRequest;

                        /**
                         * Encodes the specified UpdateIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateIntentRequest.verify|verify} messages.
                         * @param message UpdateIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateIntentRequest.verify|verify} messages.
                         * @param message UpdateIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateIntentRequest;

                        /**
                         * Decodes an UpdateIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateIntentRequest;

                        /**
                         * Verifies an UpdateIntentRequest message.
                         * @param message Plain 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 UpdateIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateIntentRequest;

                        /**
                         * Creates a plain object from an UpdateIntentRequest message. Also converts values to other types if specified.
                         * @param message UpdateIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteIntentRequest. */
                    interface IDeleteIntentRequest {

                        /** DeleteIntentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeleteIntentRequest. */
                    class DeleteIntentRequest implements IDeleteIntentRequest {

                        /**
                         * Constructs a new DeleteIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteIntentRequest);

                        /** DeleteIntentRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeleteIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteIntentRequest): google.cloud.dialogflow.cx.v3beta1.DeleteIntentRequest;

                        /**
                         * Encodes the specified DeleteIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteIntentRequest.verify|verify} messages.
                         * @param message DeleteIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteIntentRequest.verify|verify} messages.
                         * @param message DeleteIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteIntentRequest;

                        /**
                         * Decodes a DeleteIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteIntentRequest;

                        /**
                         * Verifies a DeleteIntentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteIntentRequest;

                        /**
                         * Creates a plain object from a DeleteIntentRequest message. Also converts values to other types if specified.
                         * @param message DeleteIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** IntentView enum. */
                    enum IntentView {
                        INTENT_VIEW_UNSPECIFIED = 0,
                        INTENT_VIEW_PARTIAL = 1,
                        INTENT_VIEW_FULL = 2
                    }

                    /** Properties of an ImportIntentsRequest. */
                    interface IImportIntentsRequest {

                        /** ImportIntentsRequest parent */
                        parent?: (string|null);

                        /** ImportIntentsRequest intentsUri */
                        intentsUri?: (string|null);

                        /** ImportIntentsRequest intentsContent */
                        intentsContent?: (google.cloud.dialogflow.cx.v3beta1.IInlineSource|null);

                        /** ImportIntentsRequest mergeOption */
                        mergeOption?: (google.cloud.dialogflow.cx.v3beta1.ImportIntentsRequest.MergeOption|keyof typeof google.cloud.dialogflow.cx.v3beta1.ImportIntentsRequest.MergeOption|null);
                    }

                    /** Represents an ImportIntentsRequest. */
                    class ImportIntentsRequest implements IImportIntentsRequest {

                        /**
                         * Constructs a new ImportIntentsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IImportIntentsRequest);

                        /** ImportIntentsRequest parent. */
                        public parent: string;

                        /** ImportIntentsRequest intentsUri. */
                        public intentsUri?: (string|null);

                        /** ImportIntentsRequest intentsContent. */
                        public intentsContent?: (google.cloud.dialogflow.cx.v3beta1.IInlineSource|null);

                        /** ImportIntentsRequest mergeOption. */
                        public mergeOption: (google.cloud.dialogflow.cx.v3beta1.ImportIntentsRequest.MergeOption|keyof typeof google.cloud.dialogflow.cx.v3beta1.ImportIntentsRequest.MergeOption);

                        /** ImportIntentsRequest intents. */
                        public intents?: ("intentsUri"|"intentsContent");

                        /**
                         * Creates a new ImportIntentsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportIntentsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IImportIntentsRequest): google.cloud.dialogflow.cx.v3beta1.ImportIntentsRequest;

                        /**
                         * Encodes the specified ImportIntentsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportIntentsRequest.verify|verify} messages.
                         * @param message ImportIntentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IImportIntentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportIntentsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportIntentsRequest.verify|verify} messages.
                         * @param message ImportIntentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IImportIntentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportIntentsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportIntentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ImportIntentsRequest;

                        /**
                         * Decodes an ImportIntentsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportIntentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ImportIntentsRequest;

                        /**
                         * Verifies an ImportIntentsRequest message.
                         * @param message Plain 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 ImportIntentsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportIntentsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ImportIntentsRequest;

                        /**
                         * Creates a plain object from an ImportIntentsRequest message. Also converts values to other types if specified.
                         * @param message ImportIntentsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ImportIntentsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportIntentsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportIntentsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ImportIntentsRequest {

                        /** MergeOption enum. */
                        enum MergeOption {
                            MERGE_OPTION_UNSPECIFIED = 0,
                            REJECT = 1,
                            REPLACE = 2,
                            MERGE = 3,
                            RENAME = 4,
                            REPORT_CONFLICT = 5,
                            KEEP = 6
                        }
                    }

                    /** Properties of an ImportIntentsResponse. */
                    interface IImportIntentsResponse {

                        /** ImportIntentsResponse intents */
                        intents?: (string[]|null);

                        /** ImportIntentsResponse conflictingResources */
                        conflictingResources?: (google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse.IConflictingResources|null);
                    }

                    /** Represents an ImportIntentsResponse. */
                    class ImportIntentsResponse implements IImportIntentsResponse {

                        /**
                         * Constructs a new ImportIntentsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IImportIntentsResponse);

                        /** ImportIntentsResponse intents. */
                        public intents: string[];

                        /** ImportIntentsResponse conflictingResources. */
                        public conflictingResources?: (google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse.IConflictingResources|null);

                        /**
                         * Creates a new ImportIntentsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportIntentsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IImportIntentsResponse): google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse;

                        /**
                         * Encodes the specified ImportIntentsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse.verify|verify} messages.
                         * @param message ImportIntentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IImportIntentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportIntentsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse.verify|verify} messages.
                         * @param message ImportIntentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IImportIntentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportIntentsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportIntentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse;

                        /**
                         * Decodes an ImportIntentsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportIntentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse;

                        /**
                         * Verifies an ImportIntentsResponse message.
                         * @param message Plain 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 ImportIntentsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportIntentsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse;

                        /**
                         * Creates a plain object from an ImportIntentsResponse message. Also converts values to other types if specified.
                         * @param message ImportIntentsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportIntentsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportIntentsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ImportIntentsResponse {

                        /** Properties of a ConflictingResources. */
                        interface IConflictingResources {

                            /** ConflictingResources intentDisplayNames */
                            intentDisplayNames?: (string[]|null);

                            /** ConflictingResources entityDisplayNames */
                            entityDisplayNames?: (string[]|null);
                        }

                        /** Represents a ConflictingResources. */
                        class ConflictingResources implements IConflictingResources {

                            /**
                             * Constructs a new ConflictingResources.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse.IConflictingResources);

                            /** ConflictingResources intentDisplayNames. */
                            public intentDisplayNames: string[];

                            /** ConflictingResources entityDisplayNames. */
                            public entityDisplayNames: string[];

                            /**
                             * Creates a new ConflictingResources instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ConflictingResources instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse.IConflictingResources): google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse.ConflictingResources;

                            /**
                             * Encodes the specified ConflictingResources message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse.ConflictingResources.verify|verify} messages.
                             * @param message ConflictingResources message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse.IConflictingResources, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ConflictingResources message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse.ConflictingResources.verify|verify} messages.
                             * @param message ConflictingResources message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse.IConflictingResources, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ConflictingResources message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ConflictingResources
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse.ConflictingResources;

                            /**
                             * Decodes a ConflictingResources message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ConflictingResources
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse.ConflictingResources;

                            /**
                             * Verifies a ConflictingResources message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ConflictingResources message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ConflictingResources
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse.ConflictingResources;

                            /**
                             * Creates a plain object from a ConflictingResources message. Also converts values to other types if specified.
                             * @param message ConflictingResources
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ImportIntentsResponse.ConflictingResources, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ConflictingResources to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ConflictingResources
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of an ImportIntentsMetadata. */
                    interface IImportIntentsMetadata {
                    }

                    /** Represents an ImportIntentsMetadata. */
                    class ImportIntentsMetadata implements IImportIntentsMetadata {

                        /**
                         * Constructs a new ImportIntentsMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IImportIntentsMetadata);

                        /**
                         * Creates a new ImportIntentsMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportIntentsMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IImportIntentsMetadata): google.cloud.dialogflow.cx.v3beta1.ImportIntentsMetadata;

                        /**
                         * Encodes the specified ImportIntentsMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportIntentsMetadata.verify|verify} messages.
                         * @param message ImportIntentsMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IImportIntentsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportIntentsMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportIntentsMetadata.verify|verify} messages.
                         * @param message ImportIntentsMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IImportIntentsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportIntentsMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportIntentsMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ImportIntentsMetadata;

                        /**
                         * Decodes an ImportIntentsMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportIntentsMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ImportIntentsMetadata;

                        /**
                         * Verifies an ImportIntentsMetadata message.
                         * @param message Plain 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 ImportIntentsMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportIntentsMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ImportIntentsMetadata;

                        /**
                         * Creates a plain object from an ImportIntentsMetadata message. Also converts values to other types if specified.
                         * @param message ImportIntentsMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ImportIntentsMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportIntentsMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportIntentsMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ExportIntentsRequest. */
                    interface IExportIntentsRequest {

                        /** ExportIntentsRequest parent */
                        parent?: (string|null);

                        /** ExportIntentsRequest intents */
                        intents?: (string[]|null);

                        /** ExportIntentsRequest intentsUri */
                        intentsUri?: (string|null);

                        /** ExportIntentsRequest intentsContentInline */
                        intentsContentInline?: (boolean|null);

                        /** ExportIntentsRequest dataFormat */
                        dataFormat?: (google.cloud.dialogflow.cx.v3beta1.ExportIntentsRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3beta1.ExportIntentsRequest.DataFormat|null);
                    }

                    /** Represents an ExportIntentsRequest. */
                    class ExportIntentsRequest implements IExportIntentsRequest {

                        /**
                         * Constructs a new ExportIntentsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportIntentsRequest);

                        /** ExportIntentsRequest parent. */
                        public parent: string;

                        /** ExportIntentsRequest intents. */
                        public intents: string[];

                        /** ExportIntentsRequest intentsUri. */
                        public intentsUri?: (string|null);

                        /** ExportIntentsRequest intentsContentInline. */
                        public intentsContentInline?: (boolean|null);

                        /** ExportIntentsRequest dataFormat. */
                        public dataFormat: (google.cloud.dialogflow.cx.v3beta1.ExportIntentsRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3beta1.ExportIntentsRequest.DataFormat);

                        /** ExportIntentsRequest destination. */
                        public destination?: ("intentsUri"|"intentsContentInline");

                        /**
                         * Creates a new ExportIntentsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportIntentsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportIntentsRequest): google.cloud.dialogflow.cx.v3beta1.ExportIntentsRequest;

                        /**
                         * Encodes the specified ExportIntentsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportIntentsRequest.verify|verify} messages.
                         * @param message ExportIntentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportIntentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportIntentsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportIntentsRequest.verify|verify} messages.
                         * @param message ExportIntentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportIntentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportIntentsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportIntentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportIntentsRequest;

                        /**
                         * Decodes an ExportIntentsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportIntentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportIntentsRequest;

                        /**
                         * Verifies an ExportIntentsRequest message.
                         * @param message Plain 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 ExportIntentsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportIntentsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportIntentsRequest;

                        /**
                         * Creates a plain object from an ExportIntentsRequest message. Also converts values to other types if specified.
                         * @param message ExportIntentsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportIntentsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportIntentsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportIntentsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ExportIntentsRequest {

                        /** DataFormat enum. */
                        enum DataFormat {
                            DATA_FORMAT_UNSPECIFIED = 0,
                            BLOB = 1,
                            JSON = 2,
                            CSV = 3
                        }
                    }

                    /** Properties of an ExportIntentsResponse. */
                    interface IExportIntentsResponse {

                        /** ExportIntentsResponse intentsUri */
                        intentsUri?: (string|null);

                        /** ExportIntentsResponse intentsContent */
                        intentsContent?: (google.cloud.dialogflow.cx.v3beta1.IInlineDestination|null);
                    }

                    /** Represents an ExportIntentsResponse. */
                    class ExportIntentsResponse implements IExportIntentsResponse {

                        /**
                         * Constructs a new ExportIntentsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportIntentsResponse);

                        /** ExportIntentsResponse intentsUri. */
                        public intentsUri?: (string|null);

                        /** ExportIntentsResponse intentsContent. */
                        public intentsContent?: (google.cloud.dialogflow.cx.v3beta1.IInlineDestination|null);

                        /** ExportIntentsResponse intents. */
                        public intents?: ("intentsUri"|"intentsContent");

                        /**
                         * Creates a new ExportIntentsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportIntentsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportIntentsResponse): google.cloud.dialogflow.cx.v3beta1.ExportIntentsResponse;

                        /**
                         * Encodes the specified ExportIntentsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportIntentsResponse.verify|verify} messages.
                         * @param message ExportIntentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportIntentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportIntentsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportIntentsResponse.verify|verify} messages.
                         * @param message ExportIntentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportIntentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportIntentsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportIntentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportIntentsResponse;

                        /**
                         * Decodes an ExportIntentsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportIntentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportIntentsResponse;

                        /**
                         * Verifies an ExportIntentsResponse message.
                         * @param message Plain 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 ExportIntentsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportIntentsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportIntentsResponse;

                        /**
                         * Creates a plain object from an ExportIntentsResponse message. Also converts values to other types if specified.
                         * @param message ExportIntentsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportIntentsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportIntentsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportIntentsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ExportIntentsMetadata. */
                    interface IExportIntentsMetadata {
                    }

                    /** Represents an ExportIntentsMetadata. */
                    class ExportIntentsMetadata implements IExportIntentsMetadata {

                        /**
                         * Constructs a new ExportIntentsMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportIntentsMetadata);

                        /**
                         * Creates a new ExportIntentsMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportIntentsMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportIntentsMetadata): google.cloud.dialogflow.cx.v3beta1.ExportIntentsMetadata;

                        /**
                         * Encodes the specified ExportIntentsMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportIntentsMetadata.verify|verify} messages.
                         * @param message ExportIntentsMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportIntentsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportIntentsMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportIntentsMetadata.verify|verify} messages.
                         * @param message ExportIntentsMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportIntentsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportIntentsMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportIntentsMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportIntentsMetadata;

                        /**
                         * Decodes an ExportIntentsMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportIntentsMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportIntentsMetadata;

                        /**
                         * Verifies an ExportIntentsMetadata message.
                         * @param message Plain 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 ExportIntentsMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportIntentsMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportIntentsMetadata;

                        /**
                         * Creates a plain object from an ExportIntentsMetadata message. Also converts values to other types if specified.
                         * @param message ExportIntentsMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportIntentsMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportIntentsMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportIntentsMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an InlineDestination. */
                    interface IInlineDestination {

                        /** InlineDestination content */
                        content?: (Uint8Array|Buffer|string|null);
                    }

                    /** Represents an InlineDestination. */
                    class InlineDestination implements IInlineDestination {

                        /**
                         * Constructs a new InlineDestination.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IInlineDestination);

                        /** InlineDestination content. */
                        public content: (Uint8Array|Buffer|string);

                        /**
                         * Creates a new InlineDestination instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns InlineDestination instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IInlineDestination): google.cloud.dialogflow.cx.v3beta1.InlineDestination;

                        /**
                         * Encodes the specified InlineDestination message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.InlineDestination.verify|verify} messages.
                         * @param message InlineDestination message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IInlineDestination, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified InlineDestination message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.InlineDestination.verify|verify} messages.
                         * @param message InlineDestination message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IInlineDestination, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an InlineDestination message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns InlineDestination
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.InlineDestination;

                        /**
                         * Decodes an InlineDestination message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns InlineDestination
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.InlineDestination;

                        /**
                         * Verifies an InlineDestination message.
                         * @param message Plain 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 InlineDestination message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns InlineDestination
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.InlineDestination;

                        /**
                         * Creates a plain object from an InlineDestination message. Also converts values to other types if specified.
                         * @param message InlineDestination
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.InlineDestination, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this InlineDestination to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for InlineDestination
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an InlineSource. */
                    interface IInlineSource {

                        /** InlineSource content */
                        content?: (Uint8Array|Buffer|string|null);
                    }

                    /** Represents an InlineSource. */
                    class InlineSource implements IInlineSource {

                        /**
                         * Constructs a new InlineSource.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IInlineSource);

                        /** InlineSource content. */
                        public content: (Uint8Array|Buffer|string);

                        /**
                         * Creates a new InlineSource instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns InlineSource instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IInlineSource): google.cloud.dialogflow.cx.v3beta1.InlineSource;

                        /**
                         * Encodes the specified InlineSource message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.InlineSource.verify|verify} messages.
                         * @param message InlineSource message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified InlineSource message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.InlineSource.verify|verify} messages.
                         * @param message InlineSource message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an InlineSource message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns InlineSource
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.InlineSource;

                        /**
                         * Decodes an InlineSource message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns InlineSource
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.InlineSource;

                        /**
                         * Verifies an InlineSource message.
                         * @param message Plain 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 InlineSource message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns InlineSource
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.InlineSource;

                        /**
                         * Creates a plain object from an InlineSource message. Also converts values to other types if specified.
                         * @param message InlineSource
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.InlineSource, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this InlineSource to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for InlineSource
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a Sessions */
                    class Sessions extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Sessions 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 Sessions 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): Sessions;

                        /**
                         * Calls DetectIntent.
                         * @param request DetectIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and DetectIntentResponse
                         */
                        public detectIntent(request: google.cloud.dialogflow.cx.v3beta1.IDetectIntentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Sessions.DetectIntentCallback): void;

                        /**
                         * Calls DetectIntent.
                         * @param request DetectIntentRequest message or plain object
                         * @returns Promise
                         */
                        public detectIntent(request: google.cloud.dialogflow.cx.v3beta1.IDetectIntentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse>;

                        /**
                         * Calls ServerStreamingDetectIntent.
                         * @param request DetectIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and DetectIntentResponse
                         */
                        public serverStreamingDetectIntent(request: google.cloud.dialogflow.cx.v3beta1.IDetectIntentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Sessions.ServerStreamingDetectIntentCallback): void;

                        /**
                         * Calls ServerStreamingDetectIntent.
                         * @param request DetectIntentRequest message or plain object
                         * @returns Promise
                         */
                        public serverStreamingDetectIntent(request: google.cloud.dialogflow.cx.v3beta1.IDetectIntentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse>;

                        /**
                         * Calls StreamingDetectIntent.
                         * @param request StreamingDetectIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and StreamingDetectIntentResponse
                         */
                        public streamingDetectIntent(request: google.cloud.dialogflow.cx.v3beta1.IStreamingDetectIntentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Sessions.StreamingDetectIntentCallback): void;

                        /**
                         * Calls StreamingDetectIntent.
                         * @param request StreamingDetectIntentRequest message or plain object
                         * @returns Promise
                         */
                        public streamingDetectIntent(request: google.cloud.dialogflow.cx.v3beta1.IStreamingDetectIntentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentResponse>;

                        /**
                         * Calls MatchIntent.
                         * @param request MatchIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and MatchIntentResponse
                         */
                        public matchIntent(request: google.cloud.dialogflow.cx.v3beta1.IMatchIntentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Sessions.MatchIntentCallback): void;

                        /**
                         * Calls MatchIntent.
                         * @param request MatchIntentRequest message or plain object
                         * @returns Promise
                         */
                        public matchIntent(request: google.cloud.dialogflow.cx.v3beta1.IMatchIntentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.MatchIntentResponse>;

                        /**
                         * Calls FulfillIntent.
                         * @param request FulfillIntentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and FulfillIntentResponse
                         */
                        public fulfillIntent(request: google.cloud.dialogflow.cx.v3beta1.IFulfillIntentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Sessions.FulfillIntentCallback): void;

                        /**
                         * Calls FulfillIntent.
                         * @param request FulfillIntentRequest message or plain object
                         * @returns Promise
                         */
                        public fulfillIntent(request: google.cloud.dialogflow.cx.v3beta1.IFulfillIntentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.FulfillIntentResponse>;

                        /**
                         * Calls SubmitAnswerFeedback.
                         * @param request SubmitAnswerFeedbackRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and AnswerFeedback
                         */
                        public submitAnswerFeedback(request: google.cloud.dialogflow.cx.v3beta1.ISubmitAnswerFeedbackRequest, callback: google.cloud.dialogflow.cx.v3beta1.Sessions.SubmitAnswerFeedbackCallback): void;

                        /**
                         * Calls SubmitAnswerFeedback.
                         * @param request SubmitAnswerFeedbackRequest message or plain object
                         * @returns Promise
                         */
                        public submitAnswerFeedback(request: google.cloud.dialogflow.cx.v3beta1.ISubmitAnswerFeedbackRequest): Promise<google.cloud.dialogflow.cx.v3beta1.AnswerFeedback>;
                    }

                    namespace Sessions {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Sessions|detectIntent}.
                         * @param error Error, if any
                         * @param [response] DetectIntentResponse
                         */
                        type DetectIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Sessions|serverStreamingDetectIntent}.
                         * @param error Error, if any
                         * @param [response] DetectIntentResponse
                         */
                        type ServerStreamingDetectIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Sessions|streamingDetectIntent}.
                         * @param error Error, if any
                         * @param [response] StreamingDetectIntentResponse
                         */
                        type StreamingDetectIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Sessions|matchIntent}.
                         * @param error Error, if any
                         * @param [response] MatchIntentResponse
                         */
                        type MatchIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.MatchIntentResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Sessions|fulfillIntent}.
                         * @param error Error, if any
                         * @param [response] FulfillIntentResponse
                         */
                        type FulfillIntentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.FulfillIntentResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Sessions|submitAnswerFeedback}.
                         * @param error Error, if any
                         * @param [response] AnswerFeedback
                         */
                        type SubmitAnswerFeedbackCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.AnswerFeedback) => void;
                    }

                    /** Properties of an AnswerFeedback. */
                    interface IAnswerFeedback {

                        /** AnswerFeedback rating */
                        rating?: (google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.Rating|keyof typeof google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.Rating|null);

                        /** AnswerFeedback ratingReason */
                        ratingReason?: (google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.IRatingReason|null);

                        /** AnswerFeedback customRating */
                        customRating?: (string|null);
                    }

                    /** Represents an AnswerFeedback. */
                    class AnswerFeedback implements IAnswerFeedback {

                        /**
                         * Constructs a new AnswerFeedback.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IAnswerFeedback);

                        /** AnswerFeedback rating. */
                        public rating: (google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.Rating|keyof typeof google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.Rating);

                        /** AnswerFeedback ratingReason. */
                        public ratingReason?: (google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.IRatingReason|null);

                        /** AnswerFeedback customRating. */
                        public customRating: string;

                        /**
                         * Creates a new AnswerFeedback instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns AnswerFeedback instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IAnswerFeedback): google.cloud.dialogflow.cx.v3beta1.AnswerFeedback;

                        /**
                         * Encodes the specified AnswerFeedback message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.verify|verify} messages.
                         * @param message AnswerFeedback message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IAnswerFeedback, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified AnswerFeedback message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.verify|verify} messages.
                         * @param message AnswerFeedback message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IAnswerFeedback, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an AnswerFeedback message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns AnswerFeedback
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.AnswerFeedback;

                        /**
                         * Decodes an AnswerFeedback message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns AnswerFeedback
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.AnswerFeedback;

                        /**
                         * Verifies an AnswerFeedback message.
                         * @param message Plain 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 AnswerFeedback message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns AnswerFeedback
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.AnswerFeedback;

                        /**
                         * Creates a plain object from an AnswerFeedback message. Also converts values to other types if specified.
                         * @param message AnswerFeedback
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.AnswerFeedback, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this AnswerFeedback to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for AnswerFeedback
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace AnswerFeedback {

                        /** Rating enum. */
                        enum Rating {
                            RATING_UNSPECIFIED = 0,
                            THUMBS_UP = 1,
                            THUMBS_DOWN = 2
                        }

                        /** Properties of a RatingReason. */
                        interface IRatingReason {

                            /** RatingReason reasonLabels */
                            reasonLabels?: (string[]|null);

                            /** RatingReason feedback */
                            feedback?: (string|null);
                        }

                        /** Represents a RatingReason. */
                        class RatingReason implements IRatingReason {

                            /**
                             * Constructs a new RatingReason.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.IRatingReason);

                            /** RatingReason reasonLabels. */
                            public reasonLabels: string[];

                            /** RatingReason feedback. */
                            public feedback: string;

                            /**
                             * Creates a new RatingReason instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns RatingReason instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.IRatingReason): google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.RatingReason;

                            /**
                             * Encodes the specified RatingReason message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.RatingReason.verify|verify} messages.
                             * @param message RatingReason message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.IRatingReason, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified RatingReason message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.RatingReason.verify|verify} messages.
                             * @param message RatingReason message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.IRatingReason, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a RatingReason message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns RatingReason
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.RatingReason;

                            /**
                             * Decodes a RatingReason message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns RatingReason
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.RatingReason;

                            /**
                             * Verifies a RatingReason message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a RatingReason message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns RatingReason
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.RatingReason;

                            /**
                             * Creates a plain object from a RatingReason message. Also converts values to other types if specified.
                             * @param message RatingReason
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.AnswerFeedback.RatingReason, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this RatingReason to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for RatingReason
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a SubmitAnswerFeedbackRequest. */
                    interface ISubmitAnswerFeedbackRequest {

                        /** SubmitAnswerFeedbackRequest session */
                        session?: (string|null);

                        /** SubmitAnswerFeedbackRequest responseId */
                        responseId?: (string|null);

                        /** SubmitAnswerFeedbackRequest answerFeedback */
                        answerFeedback?: (google.cloud.dialogflow.cx.v3beta1.IAnswerFeedback|null);

                        /** SubmitAnswerFeedbackRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents a SubmitAnswerFeedbackRequest. */
                    class SubmitAnswerFeedbackRequest implements ISubmitAnswerFeedbackRequest {

                        /**
                         * Constructs a new SubmitAnswerFeedbackRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ISubmitAnswerFeedbackRequest);

                        /** SubmitAnswerFeedbackRequest session. */
                        public session: string;

                        /** SubmitAnswerFeedbackRequest responseId. */
                        public responseId: string;

                        /** SubmitAnswerFeedbackRequest answerFeedback. */
                        public answerFeedback?: (google.cloud.dialogflow.cx.v3beta1.IAnswerFeedback|null);

                        /** SubmitAnswerFeedbackRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new SubmitAnswerFeedbackRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SubmitAnswerFeedbackRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ISubmitAnswerFeedbackRequest): google.cloud.dialogflow.cx.v3beta1.SubmitAnswerFeedbackRequest;

                        /**
                         * Encodes the specified SubmitAnswerFeedbackRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SubmitAnswerFeedbackRequest.verify|verify} messages.
                         * @param message SubmitAnswerFeedbackRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ISubmitAnswerFeedbackRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SubmitAnswerFeedbackRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SubmitAnswerFeedbackRequest.verify|verify} messages.
                         * @param message SubmitAnswerFeedbackRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ISubmitAnswerFeedbackRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SubmitAnswerFeedbackRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SubmitAnswerFeedbackRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.SubmitAnswerFeedbackRequest;

                        /**
                         * Decodes a SubmitAnswerFeedbackRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SubmitAnswerFeedbackRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.SubmitAnswerFeedbackRequest;

                        /**
                         * Verifies a SubmitAnswerFeedbackRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SubmitAnswerFeedbackRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SubmitAnswerFeedbackRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.SubmitAnswerFeedbackRequest;

                        /**
                         * Creates a plain object from a SubmitAnswerFeedbackRequest message. Also converts values to other types if specified.
                         * @param message SubmitAnswerFeedbackRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.SubmitAnswerFeedbackRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SubmitAnswerFeedbackRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SubmitAnswerFeedbackRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DetectIntentRequest. */
                    interface IDetectIntentRequest {

                        /** DetectIntentRequest session */
                        session?: (string|null);

                        /** DetectIntentRequest queryParams */
                        queryParams?: (google.cloud.dialogflow.cx.v3beta1.IQueryParameters|null);

                        /** DetectIntentRequest queryInput */
                        queryInput?: (google.cloud.dialogflow.cx.v3beta1.IQueryInput|null);

                        /** DetectIntentRequest outputAudioConfig */
                        outputAudioConfig?: (google.cloud.dialogflow.cx.v3beta1.IOutputAudioConfig|null);
                    }

                    /** Represents a DetectIntentRequest. */
                    class DetectIntentRequest implements IDetectIntentRequest {

                        /**
                         * Constructs a new DetectIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDetectIntentRequest);

                        /** DetectIntentRequest session. */
                        public session: string;

                        /** DetectIntentRequest queryParams. */
                        public queryParams?: (google.cloud.dialogflow.cx.v3beta1.IQueryParameters|null);

                        /** DetectIntentRequest queryInput. */
                        public queryInput?: (google.cloud.dialogflow.cx.v3beta1.IQueryInput|null);

                        /** DetectIntentRequest outputAudioConfig. */
                        public outputAudioConfig?: (google.cloud.dialogflow.cx.v3beta1.IOutputAudioConfig|null);

                        /**
                         * Creates a new DetectIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DetectIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDetectIntentRequest): google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest;

                        /**
                         * Encodes the specified DetectIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest.verify|verify} messages.
                         * @param message DetectIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDetectIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DetectIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest.verify|verify} messages.
                         * @param message DetectIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDetectIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DetectIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DetectIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest;

                        /**
                         * Decodes a DetectIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DetectIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest;

                        /**
                         * Verifies a DetectIntentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DetectIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DetectIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest;

                        /**
                         * Creates a plain object from a DetectIntentRequest message. Also converts values to other types if specified.
                         * @param message DetectIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DetectIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DetectIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DetectIntentResponse. */
                    interface IDetectIntentResponse {

                        /** DetectIntentResponse responseId */
                        responseId?: (string|null);

                        /** DetectIntentResponse queryResult */
                        queryResult?: (google.cloud.dialogflow.cx.v3beta1.IQueryResult|null);

                        /** DetectIntentResponse outputAudio */
                        outputAudio?: (Uint8Array|Buffer|string|null);

                        /** DetectIntentResponse outputAudioConfig */
                        outputAudioConfig?: (google.cloud.dialogflow.cx.v3beta1.IOutputAudioConfig|null);

                        /** DetectIntentResponse responseType */
                        responseType?: (google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse.ResponseType|keyof typeof google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse.ResponseType|null);

                        /** DetectIntentResponse allowCancellation */
                        allowCancellation?: (boolean|null);
                    }

                    /** Represents a DetectIntentResponse. */
                    class DetectIntentResponse implements IDetectIntentResponse {

                        /**
                         * Constructs a new DetectIntentResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDetectIntentResponse);

                        /** DetectIntentResponse responseId. */
                        public responseId: string;

                        /** DetectIntentResponse queryResult. */
                        public queryResult?: (google.cloud.dialogflow.cx.v3beta1.IQueryResult|null);

                        /** DetectIntentResponse outputAudio. */
                        public outputAudio: (Uint8Array|Buffer|string);

                        /** DetectIntentResponse outputAudioConfig. */
                        public outputAudioConfig?: (google.cloud.dialogflow.cx.v3beta1.IOutputAudioConfig|null);

                        /** DetectIntentResponse responseType. */
                        public responseType: (google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse.ResponseType|keyof typeof google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse.ResponseType);

                        /** DetectIntentResponse allowCancellation. */
                        public allowCancellation: boolean;

                        /**
                         * Creates a new DetectIntentResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DetectIntentResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDetectIntentResponse): google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse;

                        /**
                         * Encodes the specified DetectIntentResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse.verify|verify} messages.
                         * @param message DetectIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDetectIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DetectIntentResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse.verify|verify} messages.
                         * @param message DetectIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDetectIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DetectIntentResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DetectIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse;

                        /**
                         * Decodes a DetectIntentResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DetectIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse;

                        /**
                         * Verifies a DetectIntentResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DetectIntentResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DetectIntentResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse;

                        /**
                         * Creates a plain object from a DetectIntentResponse message. Also converts values to other types if specified.
                         * @param message DetectIntentResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DetectIntentResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DetectIntentResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace DetectIntentResponse {

                        /** ResponseType enum. */
                        enum ResponseType {
                            RESPONSE_TYPE_UNSPECIFIED = 0,
                            PARTIAL = 1,
                            FINAL = 2
                        }
                    }

                    /** Properties of a StreamingDetectIntentRequest. */
                    interface IStreamingDetectIntentRequest {

                        /** StreamingDetectIntentRequest session */
                        session?: (string|null);

                        /** StreamingDetectIntentRequest queryParams */
                        queryParams?: (google.cloud.dialogflow.cx.v3beta1.IQueryParameters|null);

                        /** StreamingDetectIntentRequest queryInput */
                        queryInput?: (google.cloud.dialogflow.cx.v3beta1.IQueryInput|null);

                        /** StreamingDetectIntentRequest outputAudioConfig */
                        outputAudioConfig?: (google.cloud.dialogflow.cx.v3beta1.IOutputAudioConfig|null);

                        /** StreamingDetectIntentRequest enablePartialResponse */
                        enablePartialResponse?: (boolean|null);

                        /** StreamingDetectIntentRequest enableDebuggingInfo */
                        enableDebuggingInfo?: (boolean|null);
                    }

                    /** Represents a StreamingDetectIntentRequest. */
                    class StreamingDetectIntentRequest implements IStreamingDetectIntentRequest {

                        /**
                         * Constructs a new StreamingDetectIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IStreamingDetectIntentRequest);

                        /** StreamingDetectIntentRequest session. */
                        public session: string;

                        /** StreamingDetectIntentRequest queryParams. */
                        public queryParams?: (google.cloud.dialogflow.cx.v3beta1.IQueryParameters|null);

                        /** StreamingDetectIntentRequest queryInput. */
                        public queryInput?: (google.cloud.dialogflow.cx.v3beta1.IQueryInput|null);

                        /** StreamingDetectIntentRequest outputAudioConfig. */
                        public outputAudioConfig?: (google.cloud.dialogflow.cx.v3beta1.IOutputAudioConfig|null);

                        /** StreamingDetectIntentRequest enablePartialResponse. */
                        public enablePartialResponse: boolean;

                        /** StreamingDetectIntentRequest enableDebuggingInfo. */
                        public enableDebuggingInfo: boolean;

                        /**
                         * Creates a new StreamingDetectIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns StreamingDetectIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IStreamingDetectIntentRequest): google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest;

                        /**
                         * Encodes the specified StreamingDetectIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest.verify|verify} messages.
                         * @param message StreamingDetectIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IStreamingDetectIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified StreamingDetectIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest.verify|verify} messages.
                         * @param message StreamingDetectIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IStreamingDetectIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a StreamingDetectIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns StreamingDetectIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest;

                        /**
                         * Decodes a StreamingDetectIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns StreamingDetectIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest;

                        /**
                         * Verifies a StreamingDetectIntentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a StreamingDetectIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns StreamingDetectIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest;

                        /**
                         * Creates a plain object from a StreamingDetectIntentRequest message. Also converts values to other types if specified.
                         * @param message StreamingDetectIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this StreamingDetectIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for StreamingDetectIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CloudConversationDebuggingInfo. */
                    interface ICloudConversationDebuggingInfo {

                        /** CloudConversationDebuggingInfo audioDataChunks */
                        audioDataChunks?: (number|null);

                        /** CloudConversationDebuggingInfo resultEndTimeOffset */
                        resultEndTimeOffset?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo firstAudioDuration */
                        firstAudioDuration?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo singleUtterance */
                        singleUtterance?: (boolean|null);

                        /** CloudConversationDebuggingInfo speechPartialResultsEndTimes */
                        speechPartialResultsEndTimes?: (google.protobuf.IDuration[]|null);

                        /** CloudConversationDebuggingInfo speechFinalResultsEndTimes */
                        speechFinalResultsEndTimes?: (google.protobuf.IDuration[]|null);

                        /** CloudConversationDebuggingInfo partialResponses */
                        partialResponses?: (number|null);

                        /** CloudConversationDebuggingInfo speakerIdPassiveLatencyMsOffset */
                        speakerIdPassiveLatencyMsOffset?: (number|null);

                        /** CloudConversationDebuggingInfo bargeinEventTriggered */
                        bargeinEventTriggered?: (boolean|null);

                        /** CloudConversationDebuggingInfo speechSingleUtterance */
                        speechSingleUtterance?: (boolean|null);

                        /** CloudConversationDebuggingInfo dtmfPartialResultsTimes */
                        dtmfPartialResultsTimes?: (google.protobuf.IDuration[]|null);

                        /** CloudConversationDebuggingInfo dtmfFinalResultsTimes */
                        dtmfFinalResultsTimes?: (google.protobuf.IDuration[]|null);

                        /** CloudConversationDebuggingInfo singleUtteranceEndTimeOffset */
                        singleUtteranceEndTimeOffset?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo noSpeechTimeout */
                        noSpeechTimeout?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo endpointingTimeout */
                        endpointingTimeout?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo isInputText */
                        isInputText?: (boolean|null);

                        /** CloudConversationDebuggingInfo clientHalfCloseTimeOffset */
                        clientHalfCloseTimeOffset?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo clientHalfCloseStreamingTimeOffset */
                        clientHalfCloseStreamingTimeOffset?: (google.protobuf.IDuration|null);
                    }

                    /** Represents a CloudConversationDebuggingInfo. */
                    class CloudConversationDebuggingInfo implements ICloudConversationDebuggingInfo {

                        /**
                         * Constructs a new CloudConversationDebuggingInfo.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICloudConversationDebuggingInfo);

                        /** CloudConversationDebuggingInfo audioDataChunks. */
                        public audioDataChunks: number;

                        /** CloudConversationDebuggingInfo resultEndTimeOffset. */
                        public resultEndTimeOffset?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo firstAudioDuration. */
                        public firstAudioDuration?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo singleUtterance. */
                        public singleUtterance: boolean;

                        /** CloudConversationDebuggingInfo speechPartialResultsEndTimes. */
                        public speechPartialResultsEndTimes: google.protobuf.IDuration[];

                        /** CloudConversationDebuggingInfo speechFinalResultsEndTimes. */
                        public speechFinalResultsEndTimes: google.protobuf.IDuration[];

                        /** CloudConversationDebuggingInfo partialResponses. */
                        public partialResponses: number;

                        /** CloudConversationDebuggingInfo speakerIdPassiveLatencyMsOffset. */
                        public speakerIdPassiveLatencyMsOffset: number;

                        /** CloudConversationDebuggingInfo bargeinEventTriggered. */
                        public bargeinEventTriggered: boolean;

                        /** CloudConversationDebuggingInfo speechSingleUtterance. */
                        public speechSingleUtterance: boolean;

                        /** CloudConversationDebuggingInfo dtmfPartialResultsTimes. */
                        public dtmfPartialResultsTimes: google.protobuf.IDuration[];

                        /** CloudConversationDebuggingInfo dtmfFinalResultsTimes. */
                        public dtmfFinalResultsTimes: google.protobuf.IDuration[];

                        /** CloudConversationDebuggingInfo singleUtteranceEndTimeOffset. */
                        public singleUtteranceEndTimeOffset?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo noSpeechTimeout. */
                        public noSpeechTimeout?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo endpointingTimeout. */
                        public endpointingTimeout?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo isInputText. */
                        public isInputText: boolean;

                        /** CloudConversationDebuggingInfo clientHalfCloseTimeOffset. */
                        public clientHalfCloseTimeOffset?: (google.protobuf.IDuration|null);

                        /** CloudConversationDebuggingInfo clientHalfCloseStreamingTimeOffset. */
                        public clientHalfCloseStreamingTimeOffset?: (google.protobuf.IDuration|null);

                        /**
                         * Creates a new CloudConversationDebuggingInfo instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CloudConversationDebuggingInfo instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICloudConversationDebuggingInfo): google.cloud.dialogflow.cx.v3beta1.CloudConversationDebuggingInfo;

                        /**
                         * Encodes the specified CloudConversationDebuggingInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CloudConversationDebuggingInfo.verify|verify} messages.
                         * @param message CloudConversationDebuggingInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICloudConversationDebuggingInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CloudConversationDebuggingInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CloudConversationDebuggingInfo.verify|verify} messages.
                         * @param message CloudConversationDebuggingInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICloudConversationDebuggingInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CloudConversationDebuggingInfo message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CloudConversationDebuggingInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CloudConversationDebuggingInfo;

                        /**
                         * Decodes a CloudConversationDebuggingInfo message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CloudConversationDebuggingInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CloudConversationDebuggingInfo;

                        /**
                         * Verifies a CloudConversationDebuggingInfo message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CloudConversationDebuggingInfo message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CloudConversationDebuggingInfo
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CloudConversationDebuggingInfo;

                        /**
                         * Creates a plain object from a CloudConversationDebuggingInfo message. Also converts values to other types if specified.
                         * @param message CloudConversationDebuggingInfo
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CloudConversationDebuggingInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CloudConversationDebuggingInfo to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CloudConversationDebuggingInfo
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a StreamingDetectIntentResponse. */
                    interface IStreamingDetectIntentResponse {

                        /** StreamingDetectIntentResponse recognitionResult */
                        recognitionResult?: (google.cloud.dialogflow.cx.v3beta1.IStreamingRecognitionResult|null);

                        /** StreamingDetectIntentResponse detectIntentResponse */
                        detectIntentResponse?: (google.cloud.dialogflow.cx.v3beta1.IDetectIntentResponse|null);

                        /** StreamingDetectIntentResponse debuggingInfo */
                        debuggingInfo?: (google.cloud.dialogflow.cx.v3beta1.ICloudConversationDebuggingInfo|null);
                    }

                    /** Represents a StreamingDetectIntentResponse. */
                    class StreamingDetectIntentResponse implements IStreamingDetectIntentResponse {

                        /**
                         * Constructs a new StreamingDetectIntentResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IStreamingDetectIntentResponse);

                        /** StreamingDetectIntentResponse recognitionResult. */
                        public recognitionResult?: (google.cloud.dialogflow.cx.v3beta1.IStreamingRecognitionResult|null);

                        /** StreamingDetectIntentResponse detectIntentResponse. */
                        public detectIntentResponse?: (google.cloud.dialogflow.cx.v3beta1.IDetectIntentResponse|null);

                        /** StreamingDetectIntentResponse debuggingInfo. */
                        public debuggingInfo?: (google.cloud.dialogflow.cx.v3beta1.ICloudConversationDebuggingInfo|null);

                        /** StreamingDetectIntentResponse response. */
                        public response?: ("recognitionResult"|"detectIntentResponse");

                        /**
                         * Creates a new StreamingDetectIntentResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns StreamingDetectIntentResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IStreamingDetectIntentResponse): google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentResponse;

                        /**
                         * Encodes the specified StreamingDetectIntentResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentResponse.verify|verify} messages.
                         * @param message StreamingDetectIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IStreamingDetectIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified StreamingDetectIntentResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentResponse.verify|verify} messages.
                         * @param message StreamingDetectIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IStreamingDetectIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a StreamingDetectIntentResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns StreamingDetectIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentResponse;

                        /**
                         * Decodes a StreamingDetectIntentResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns StreamingDetectIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentResponse;

                        /**
                         * Verifies a StreamingDetectIntentResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a StreamingDetectIntentResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns StreamingDetectIntentResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentResponse;

                        /**
                         * Creates a plain object from a StreamingDetectIntentResponse message. Also converts values to other types if specified.
                         * @param message StreamingDetectIntentResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.StreamingDetectIntentResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this StreamingDetectIntentResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for StreamingDetectIntentResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a StreamingRecognitionResult. */
                    interface IStreamingRecognitionResult {

                        /** StreamingRecognitionResult messageType */
                        messageType?: (google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult.MessageType|keyof typeof google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult.MessageType|null);

                        /** StreamingRecognitionResult transcript */
                        transcript?: (string|null);

                        /** StreamingRecognitionResult isFinal */
                        isFinal?: (boolean|null);

                        /** StreamingRecognitionResult confidence */
                        confidence?: (number|null);

                        /** StreamingRecognitionResult stability */
                        stability?: (number|null);

                        /** StreamingRecognitionResult speechWordInfo */
                        speechWordInfo?: (google.cloud.dialogflow.cx.v3beta1.ISpeechWordInfo[]|null);

                        /** StreamingRecognitionResult speechEndOffset */
                        speechEndOffset?: (google.protobuf.IDuration|null);

                        /** StreamingRecognitionResult languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a StreamingRecognitionResult. */
                    class StreamingRecognitionResult implements IStreamingRecognitionResult {

                        /**
                         * Constructs a new StreamingRecognitionResult.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IStreamingRecognitionResult);

                        /** StreamingRecognitionResult messageType. */
                        public messageType: (google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult.MessageType|keyof typeof google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult.MessageType);

                        /** StreamingRecognitionResult transcript. */
                        public transcript: string;

                        /** StreamingRecognitionResult isFinal. */
                        public isFinal: boolean;

                        /** StreamingRecognitionResult confidence. */
                        public confidence: number;

                        /** StreamingRecognitionResult stability. */
                        public stability: number;

                        /** StreamingRecognitionResult speechWordInfo. */
                        public speechWordInfo: google.cloud.dialogflow.cx.v3beta1.ISpeechWordInfo[];

                        /** StreamingRecognitionResult speechEndOffset. */
                        public speechEndOffset?: (google.protobuf.IDuration|null);

                        /** StreamingRecognitionResult languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new StreamingRecognitionResult instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns StreamingRecognitionResult instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IStreamingRecognitionResult): google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult;

                        /**
                         * Encodes the specified StreamingRecognitionResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult.verify|verify} messages.
                         * @param message StreamingRecognitionResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IStreamingRecognitionResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified StreamingRecognitionResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult.verify|verify} messages.
                         * @param message StreamingRecognitionResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IStreamingRecognitionResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a StreamingRecognitionResult message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns StreamingRecognitionResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult;

                        /**
                         * Decodes a StreamingRecognitionResult message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns StreamingRecognitionResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult;

                        /**
                         * Verifies a StreamingRecognitionResult message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a StreamingRecognitionResult message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns StreamingRecognitionResult
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult;

                        /**
                         * Creates a plain object from a StreamingRecognitionResult message. Also converts values to other types if specified.
                         * @param message StreamingRecognitionResult
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.StreamingRecognitionResult, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this StreamingRecognitionResult to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for StreamingRecognitionResult
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace StreamingRecognitionResult {

                        /** MessageType enum. */
                        enum MessageType {
                            MESSAGE_TYPE_UNSPECIFIED = 0,
                            TRANSCRIPT = 1,
                            END_OF_SINGLE_UTTERANCE = 2
                        }
                    }

                    /** Properties of a QueryParameters. */
                    interface IQueryParameters {

                        /** QueryParameters timeZone */
                        timeZone?: (string|null);

                        /** QueryParameters geoLocation */
                        geoLocation?: (google.type.ILatLng|null);

                        /** QueryParameters sessionEntityTypes */
                        sessionEntityTypes?: (google.cloud.dialogflow.cx.v3beta1.ISessionEntityType[]|null);

                        /** QueryParameters payload */
                        payload?: (google.protobuf.IStruct|null);

                        /** QueryParameters parameters */
                        parameters?: (google.protobuf.IStruct|null);

                        /** QueryParameters currentPage */
                        currentPage?: (string|null);

                        /** QueryParameters disableWebhook */
                        disableWebhook?: (boolean|null);

                        /** QueryParameters analyzeQueryTextSentiment */
                        analyzeQueryTextSentiment?: (boolean|null);

                        /** QueryParameters webhookHeaders */
                        webhookHeaders?: ({ [k: string]: string }|null);

                        /** QueryParameters flowVersions */
                        flowVersions?: (string[]|null);

                        /** QueryParameters currentPlaybook */
                        currentPlaybook?: (string|null);

                        /** QueryParameters llmModelSettings */
                        llmModelSettings?: (google.cloud.dialogflow.cx.v3beta1.ILlmModelSettings|null);

                        /** QueryParameters channel */
                        channel?: (string|null);

                        /** QueryParameters sessionTtl */
                        sessionTtl?: (google.protobuf.IDuration|null);

                        /** QueryParameters endUserMetadata */
                        endUserMetadata?: (google.protobuf.IStruct|null);

                        /** QueryParameters searchConfig */
                        searchConfig?: (google.cloud.dialogflow.cx.v3beta1.ISearchConfig|null);

                        /** QueryParameters populateDataStoreConnectionSignals */
                        populateDataStoreConnectionSignals?: (boolean|null);
                    }

                    /** Represents a QueryParameters. */
                    class QueryParameters implements IQueryParameters {

                        /**
                         * Constructs a new QueryParameters.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IQueryParameters);

                        /** QueryParameters timeZone. */
                        public timeZone: string;

                        /** QueryParameters geoLocation. */
                        public geoLocation?: (google.type.ILatLng|null);

                        /** QueryParameters sessionEntityTypes. */
                        public sessionEntityTypes: google.cloud.dialogflow.cx.v3beta1.ISessionEntityType[];

                        /** QueryParameters payload. */
                        public payload?: (google.protobuf.IStruct|null);

                        /** QueryParameters parameters. */
                        public parameters?: (google.protobuf.IStruct|null);

                        /** QueryParameters currentPage. */
                        public currentPage: string;

                        /** QueryParameters disableWebhook. */
                        public disableWebhook: boolean;

                        /** QueryParameters analyzeQueryTextSentiment. */
                        public analyzeQueryTextSentiment: boolean;

                        /** QueryParameters webhookHeaders. */
                        public webhookHeaders: { [k: string]: string };

                        /** QueryParameters flowVersions. */
                        public flowVersions: string[];

                        /** QueryParameters currentPlaybook. */
                        public currentPlaybook: string;

                        /** QueryParameters llmModelSettings. */
                        public llmModelSettings?: (google.cloud.dialogflow.cx.v3beta1.ILlmModelSettings|null);

                        /** QueryParameters channel. */
                        public channel: string;

                        /** QueryParameters sessionTtl. */
                        public sessionTtl?: (google.protobuf.IDuration|null);

                        /** QueryParameters endUserMetadata. */
                        public endUserMetadata?: (google.protobuf.IStruct|null);

                        /** QueryParameters searchConfig. */
                        public searchConfig?: (google.cloud.dialogflow.cx.v3beta1.ISearchConfig|null);

                        /** QueryParameters populateDataStoreConnectionSignals. */
                        public populateDataStoreConnectionSignals: boolean;

                        /**
                         * Creates a new QueryParameters instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns QueryParameters instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IQueryParameters): google.cloud.dialogflow.cx.v3beta1.QueryParameters;

                        /**
                         * Encodes the specified QueryParameters message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.QueryParameters.verify|verify} messages.
                         * @param message QueryParameters message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IQueryParameters, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified QueryParameters message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.QueryParameters.verify|verify} messages.
                         * @param message QueryParameters message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IQueryParameters, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a QueryParameters message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns QueryParameters
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.QueryParameters;

                        /**
                         * Decodes a QueryParameters message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns QueryParameters
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.QueryParameters;

                        /**
                         * Verifies a QueryParameters message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a QueryParameters message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns QueryParameters
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.QueryParameters;

                        /**
                         * Creates a plain object from a QueryParameters message. Also converts values to other types if specified.
                         * @param message QueryParameters
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.QueryParameters, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this QueryParameters to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for QueryParameters
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a SearchConfig. */
                    interface ISearchConfig {

                        /** SearchConfig boostSpecs */
                        boostSpecs?: (google.cloud.dialogflow.cx.v3beta1.IBoostSpecs[]|null);

                        /** SearchConfig filterSpecs */
                        filterSpecs?: (google.cloud.dialogflow.cx.v3beta1.IFilterSpecs[]|null);
                    }

                    /** Represents a SearchConfig. */
                    class SearchConfig implements ISearchConfig {

                        /**
                         * Constructs a new SearchConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ISearchConfig);

                        /** SearchConfig boostSpecs. */
                        public boostSpecs: google.cloud.dialogflow.cx.v3beta1.IBoostSpecs[];

                        /** SearchConfig filterSpecs. */
                        public filterSpecs: google.cloud.dialogflow.cx.v3beta1.IFilterSpecs[];

                        /**
                         * Creates a new SearchConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SearchConfig instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ISearchConfig): google.cloud.dialogflow.cx.v3beta1.SearchConfig;

                        /**
                         * Encodes the specified SearchConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SearchConfig.verify|verify} messages.
                         * @param message SearchConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ISearchConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SearchConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SearchConfig.verify|verify} messages.
                         * @param message SearchConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ISearchConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SearchConfig message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SearchConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.SearchConfig;

                        /**
                         * Decodes a SearchConfig message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SearchConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.SearchConfig;

                        /**
                         * Verifies a SearchConfig message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SearchConfig message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SearchConfig
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.SearchConfig;

                        /**
                         * Creates a plain object from a SearchConfig message. Also converts values to other types if specified.
                         * @param message SearchConfig
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.SearchConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SearchConfig to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SearchConfig
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a BoostSpec. */
                    interface IBoostSpec {

                        /** BoostSpec conditionBoostSpecs */
                        conditionBoostSpecs?: (google.cloud.dialogflow.cx.v3beta1.BoostSpec.IConditionBoostSpec[]|null);
                    }

                    /** Represents a BoostSpec. */
                    class BoostSpec implements IBoostSpec {

                        /**
                         * Constructs a new BoostSpec.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IBoostSpec);

                        /** BoostSpec conditionBoostSpecs. */
                        public conditionBoostSpecs: google.cloud.dialogflow.cx.v3beta1.BoostSpec.IConditionBoostSpec[];

                        /**
                         * Creates a new BoostSpec instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BoostSpec instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IBoostSpec): google.cloud.dialogflow.cx.v3beta1.BoostSpec;

                        /**
                         * Encodes the specified BoostSpec message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BoostSpec.verify|verify} messages.
                         * @param message BoostSpec message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BoostSpec message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BoostSpec.verify|verify} messages.
                         * @param message BoostSpec message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a BoostSpec message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns BoostSpec
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.BoostSpec;

                        /**
                         * Decodes a BoostSpec message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns BoostSpec
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.BoostSpec;

                        /**
                         * Verifies a BoostSpec message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a BoostSpec message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns BoostSpec
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.BoostSpec;

                        /**
                         * Creates a plain object from a BoostSpec message. Also converts values to other types if specified.
                         * @param message BoostSpec
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.BoostSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this BoostSpec to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for BoostSpec
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace BoostSpec {

                        /** Properties of a ConditionBoostSpec. */
                        interface IConditionBoostSpec {

                            /** ConditionBoostSpec condition */
                            condition?: (string|null);

                            /** ConditionBoostSpec boost */
                            boost?: (number|null);

                            /** ConditionBoostSpec boostControlSpec */
                            boostControlSpec?: (google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.IBoostControlSpec|null);
                        }

                        /** Represents a ConditionBoostSpec. */
                        class ConditionBoostSpec implements IConditionBoostSpec {

                            /**
                             * Constructs a new ConditionBoostSpec.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.BoostSpec.IConditionBoostSpec);

                            /** ConditionBoostSpec condition. */
                            public condition: string;

                            /** ConditionBoostSpec boost. */
                            public boost: number;

                            /** ConditionBoostSpec boostControlSpec. */
                            public boostControlSpec?: (google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.IBoostControlSpec|null);

                            /**
                             * Creates a new ConditionBoostSpec instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ConditionBoostSpec instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.BoostSpec.IConditionBoostSpec): google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec;

                            /**
                             * Encodes the specified ConditionBoostSpec message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.verify|verify} messages.
                             * @param message ConditionBoostSpec message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.BoostSpec.IConditionBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ConditionBoostSpec message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.verify|verify} messages.
                             * @param message ConditionBoostSpec message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.BoostSpec.IConditionBoostSpec, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ConditionBoostSpec message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ConditionBoostSpec
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec;

                            /**
                             * Decodes a ConditionBoostSpec message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ConditionBoostSpec
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec;

                            /**
                             * Verifies a ConditionBoostSpec message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ConditionBoostSpec message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ConditionBoostSpec
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec;

                            /**
                             * Creates a plain object from a ConditionBoostSpec message. Also converts values to other types if specified.
                             * @param message ConditionBoostSpec
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ConditionBoostSpec to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ConditionBoostSpec
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace ConditionBoostSpec {

                            /** Properties of a BoostControlSpec. */
                            interface IBoostControlSpec {

                                /** BoostControlSpec fieldName */
                                fieldName?: (string|null);

                                /** BoostControlSpec attributeType */
                                attributeType?: (google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType|keyof typeof google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType|null);

                                /** BoostControlSpec interpolationType */
                                interpolationType?: (google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType|keyof typeof google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType|null);

                                /** BoostControlSpec controlPoints */
                                controlPoints?: (google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.IControlPoint[]|null);
                            }

                            /** Represents a BoostControlSpec. */
                            class BoostControlSpec implements IBoostControlSpec {

                                /**
                                 * Constructs a new BoostControlSpec.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.IBoostControlSpec);

                                /** BoostControlSpec fieldName. */
                                public fieldName: string;

                                /** BoostControlSpec attributeType. */
                                public attributeType: (google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType|keyof typeof google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.AttributeType);

                                /** BoostControlSpec interpolationType. */
                                public interpolationType: (google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType|keyof typeof google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.InterpolationType);

                                /** BoostControlSpec controlPoints. */
                                public controlPoints: google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.IControlPoint[];

                                /**
                                 * Creates a new BoostControlSpec instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns BoostControlSpec instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.IBoostControlSpec): google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec;

                                /**
                                 * Encodes the specified BoostControlSpec message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.verify|verify} messages.
                                 * @param message BoostControlSpec message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.IBoostControlSpec, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified BoostControlSpec message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.verify|verify} messages.
                                 * @param message BoostControlSpec message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.IBoostControlSpec, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a BoostControlSpec message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns BoostControlSpec
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec;

                                /**
                                 * Decodes a BoostControlSpec message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns BoostControlSpec
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec;

                                /**
                                 * Verifies a BoostControlSpec message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a BoostControlSpec message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns BoostControlSpec
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec;

                                /**
                                 * Creates a plain object from a BoostControlSpec message. Also converts values to other types if specified.
                                 * @param message BoostControlSpec
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this BoostControlSpec to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for BoostControlSpec
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            namespace BoostControlSpec {

                                /** AttributeType enum. */
                                enum AttributeType {
                                    ATTRIBUTE_TYPE_UNSPECIFIED = 0,
                                    NUMERICAL = 1,
                                    FRESHNESS = 2
                                }

                                /** InterpolationType enum. */
                                enum InterpolationType {
                                    INTERPOLATION_TYPE_UNSPECIFIED = 0,
                                    LINEAR = 1
                                }

                                /** Properties of a ControlPoint. */
                                interface IControlPoint {

                                    /** ControlPoint attributeValue */
                                    attributeValue?: (string|null);

                                    /** ControlPoint boostAmount */
                                    boostAmount?: (number|null);
                                }

                                /** Represents a ControlPoint. */
                                class ControlPoint implements IControlPoint {

                                    /**
                                     * Constructs a new ControlPoint.
                                     * @param [properties] Properties to set
                                     */
                                    constructor(properties?: google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.IControlPoint);

                                    /** ControlPoint attributeValue. */
                                    public attributeValue: string;

                                    /** ControlPoint boostAmount. */
                                    public boostAmount: number;

                                    /**
                                     * Creates a new ControlPoint instance using the specified properties.
                                     * @param [properties] Properties to set
                                     * @returns ControlPoint instance
                                     */
                                    public static create(properties?: google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.IControlPoint): google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint;

                                    /**
                                     * Encodes the specified ControlPoint message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint.verify|verify} messages.
                                     * @param message ControlPoint message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encode(message: google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.IControlPoint, writer?: $protobuf.Writer): $protobuf.Writer;

                                    /**
                                     * Encodes the specified ControlPoint message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint.verify|verify} messages.
                                     * @param message ControlPoint message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.IControlPoint, writer?: $protobuf.Writer): $protobuf.Writer;

                                    /**
                                     * Decodes a ControlPoint message from the specified reader or buffer.
                                     * @param reader Reader or buffer to decode from
                                     * @param [length] Message length if known beforehand
                                     * @returns ControlPoint
                                     * @throws {Error} If the payload is not a reader or valid buffer
                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                     */
                                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint;

                                    /**
                                     * Decodes a ControlPoint message from the specified reader or buffer, length delimited.
                                     * @param reader Reader or buffer to decode from
                                     * @returns ControlPoint
                                     * @throws {Error} If the payload is not a reader or valid buffer
                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                     */
                                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint;

                                    /**
                                     * Verifies a ControlPoint message.
                                     * @param message Plain object to verify
                                     * @returns `null` if valid, otherwise the reason why it is not
                                     */
                                    public static verify(message: { [k: string]: any }): (string|null);

                                    /**
                                     * Creates a ControlPoint message from a plain object. Also converts values to their respective internal types.
                                     * @param object Plain object
                                     * @returns ControlPoint
                                     */
                                    public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint;

                                    /**
                                     * Creates a plain object from a ControlPoint message. Also converts values to other types if specified.
                                     * @param message ControlPoint
                                     * @param [options] Conversion options
                                     * @returns Plain object
                                     */
                                    public static toObject(message: google.cloud.dialogflow.cx.v3beta1.BoostSpec.ConditionBoostSpec.BoostControlSpec.ControlPoint, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                    /**
                                     * Converts this ControlPoint to JSON.
                                     * @returns JSON object
                                     */
                                    public toJSON(): { [k: string]: any };

                                    /**
                                     * Gets the default type url for ControlPoint
                                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                     * @returns The default type url
                                     */
                                    public static getTypeUrl(typeUrlPrefix?: string): string;
                                }
                            }
                        }
                    }

                    /** Properties of a BoostSpecs. */
                    interface IBoostSpecs {

                        /** BoostSpecs dataStores */
                        dataStores?: (string[]|null);

                        /** BoostSpecs spec */
                        spec?: (google.cloud.dialogflow.cx.v3beta1.IBoostSpec[]|null);
                    }

                    /** Represents a BoostSpecs. */
                    class BoostSpecs implements IBoostSpecs {

                        /**
                         * Constructs a new BoostSpecs.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IBoostSpecs);

                        /** BoostSpecs dataStores. */
                        public dataStores: string[];

                        /** BoostSpecs spec. */
                        public spec: google.cloud.dialogflow.cx.v3beta1.IBoostSpec[];

                        /**
                         * Creates a new BoostSpecs instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns BoostSpecs instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IBoostSpecs): google.cloud.dialogflow.cx.v3beta1.BoostSpecs;

                        /**
                         * Encodes the specified BoostSpecs message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BoostSpecs.verify|verify} messages.
                         * @param message BoostSpecs message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IBoostSpecs, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified BoostSpecs message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.BoostSpecs.verify|verify} messages.
                         * @param message BoostSpecs message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IBoostSpecs, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a BoostSpecs message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns BoostSpecs
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.BoostSpecs;

                        /**
                         * Decodes a BoostSpecs message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns BoostSpecs
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.BoostSpecs;

                        /**
                         * Verifies a BoostSpecs message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a BoostSpecs message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns BoostSpecs
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.BoostSpecs;

                        /**
                         * Creates a plain object from a BoostSpecs message. Also converts values to other types if specified.
                         * @param message BoostSpecs
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.BoostSpecs, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this BoostSpecs to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for BoostSpecs
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a FilterSpecs. */
                    interface IFilterSpecs {

                        /** FilterSpecs dataStores */
                        dataStores?: (string[]|null);

                        /** FilterSpecs filter */
                        filter?: (string|null);
                    }

                    /** Represents a FilterSpecs. */
                    class FilterSpecs implements IFilterSpecs {

                        /**
                         * Constructs a new FilterSpecs.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IFilterSpecs);

                        /** FilterSpecs dataStores. */
                        public dataStores: string[];

                        /** FilterSpecs filter. */
                        public filter: string;

                        /**
                         * Creates a new FilterSpecs instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns FilterSpecs instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IFilterSpecs): google.cloud.dialogflow.cx.v3beta1.FilterSpecs;

                        /**
                         * Encodes the specified FilterSpecs message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.FilterSpecs.verify|verify} messages.
                         * @param message FilterSpecs message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IFilterSpecs, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified FilterSpecs message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.FilterSpecs.verify|verify} messages.
                         * @param message FilterSpecs message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IFilterSpecs, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a FilterSpecs message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns FilterSpecs
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.FilterSpecs;

                        /**
                         * Decodes a FilterSpecs message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns FilterSpecs
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.FilterSpecs;

                        /**
                         * Verifies a FilterSpecs message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a FilterSpecs message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns FilterSpecs
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.FilterSpecs;

                        /**
                         * Creates a plain object from a FilterSpecs message. Also converts values to other types if specified.
                         * @param message FilterSpecs
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.FilterSpecs, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this FilterSpecs to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for FilterSpecs
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a QueryInput. */
                    interface IQueryInput {

                        /** QueryInput text */
                        text?: (google.cloud.dialogflow.cx.v3beta1.ITextInput|null);

                        /** QueryInput intent */
                        intent?: (google.cloud.dialogflow.cx.v3beta1.IIntentInput|null);

                        /** QueryInput audio */
                        audio?: (google.cloud.dialogflow.cx.v3beta1.IAudioInput|null);

                        /** QueryInput event */
                        event?: (google.cloud.dialogflow.cx.v3beta1.IEventInput|null);

                        /** QueryInput dtmf */
                        dtmf?: (google.cloud.dialogflow.cx.v3beta1.IDtmfInput|null);

                        /** QueryInput toolCallResult */
                        toolCallResult?: (google.cloud.dialogflow.cx.v3beta1.IToolCallResult|null);

                        /** QueryInput languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a QueryInput. */
                    class QueryInput implements IQueryInput {

                        /**
                         * Constructs a new QueryInput.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IQueryInput);

                        /** QueryInput text. */
                        public text?: (google.cloud.dialogflow.cx.v3beta1.ITextInput|null);

                        /** QueryInput intent. */
                        public intent?: (google.cloud.dialogflow.cx.v3beta1.IIntentInput|null);

                        /** QueryInput audio. */
                        public audio?: (google.cloud.dialogflow.cx.v3beta1.IAudioInput|null);

                        /** QueryInput event. */
                        public event?: (google.cloud.dialogflow.cx.v3beta1.IEventInput|null);

                        /** QueryInput dtmf. */
                        public dtmf?: (google.cloud.dialogflow.cx.v3beta1.IDtmfInput|null);

                        /** QueryInput toolCallResult. */
                        public toolCallResult?: (google.cloud.dialogflow.cx.v3beta1.IToolCallResult|null);

                        /** QueryInput languageCode. */
                        public languageCode: string;

                        /** QueryInput input. */
                        public input?: ("text"|"intent"|"audio"|"event"|"dtmf"|"toolCallResult");

                        /**
                         * Creates a new QueryInput instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns QueryInput instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IQueryInput): google.cloud.dialogflow.cx.v3beta1.QueryInput;

                        /**
                         * Encodes the specified QueryInput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.QueryInput.verify|verify} messages.
                         * @param message QueryInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IQueryInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified QueryInput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.QueryInput.verify|verify} messages.
                         * @param message QueryInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IQueryInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a QueryInput message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns QueryInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.QueryInput;

                        /**
                         * Decodes a QueryInput message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns QueryInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.QueryInput;

                        /**
                         * Verifies a QueryInput message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a QueryInput message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns QueryInput
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.QueryInput;

                        /**
                         * Creates a plain object from a QueryInput message. Also converts values to other types if specified.
                         * @param message QueryInput
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.QueryInput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this QueryInput to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for QueryInput
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GenerativeInfo. */
                    interface IGenerativeInfo {

                        /** GenerativeInfo currentPlaybooks */
                        currentPlaybooks?: (string[]|null);

                        /** GenerativeInfo actionTracingInfo */
                        actionTracingInfo?: (google.cloud.dialogflow.cx.v3beta1.IExample|null);
                    }

                    /** Represents a GenerativeInfo. */
                    class GenerativeInfo implements IGenerativeInfo {

                        /**
                         * Constructs a new GenerativeInfo.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGenerativeInfo);

                        /** GenerativeInfo currentPlaybooks. */
                        public currentPlaybooks: string[];

                        /** GenerativeInfo actionTracingInfo. */
                        public actionTracingInfo?: (google.cloud.dialogflow.cx.v3beta1.IExample|null);

                        /**
                         * Creates a new GenerativeInfo instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GenerativeInfo instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGenerativeInfo): google.cloud.dialogflow.cx.v3beta1.GenerativeInfo;

                        /**
                         * Encodes the specified GenerativeInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GenerativeInfo.verify|verify} messages.
                         * @param message GenerativeInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGenerativeInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GenerativeInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GenerativeInfo.verify|verify} messages.
                         * @param message GenerativeInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGenerativeInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GenerativeInfo message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GenerativeInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GenerativeInfo;

                        /**
                         * Decodes a GenerativeInfo message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GenerativeInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GenerativeInfo;

                        /**
                         * Verifies a GenerativeInfo message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GenerativeInfo message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GenerativeInfo
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GenerativeInfo;

                        /**
                         * Creates a plain object from a GenerativeInfo message. Also converts values to other types if specified.
                         * @param message GenerativeInfo
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GenerativeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GenerativeInfo to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GenerativeInfo
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a QueryResult. */
                    interface IQueryResult {

                        /** QueryResult text */
                        text?: (string|null);

                        /** QueryResult triggerIntent */
                        triggerIntent?: (string|null);

                        /** QueryResult transcript */
                        transcript?: (string|null);

                        /** QueryResult triggerEvent */
                        triggerEvent?: (string|null);

                        /** QueryResult dtmf */
                        dtmf?: (google.cloud.dialogflow.cx.v3beta1.IDtmfInput|null);

                        /** QueryResult languageCode */
                        languageCode?: (string|null);

                        /** QueryResult parameters */
                        parameters?: (google.protobuf.IStruct|null);

                        /** QueryResult responseMessages */
                        responseMessages?: (google.cloud.dialogflow.cx.v3beta1.IResponseMessage[]|null);

                        /** QueryResult webhookIds */
                        webhookIds?: (string[]|null);

                        /** QueryResult webhookDisplayNames */
                        webhookDisplayNames?: (string[]|null);

                        /** QueryResult webhookLatencies */
                        webhookLatencies?: (google.protobuf.IDuration[]|null);

                        /** QueryResult webhookTags */
                        webhookTags?: (string[]|null);

                        /** QueryResult webhookStatuses */
                        webhookStatuses?: (google.rpc.IStatus[]|null);

                        /** QueryResult webhookPayloads */
                        webhookPayloads?: (google.protobuf.IStruct[]|null);

                        /** QueryResult currentPage */
                        currentPage?: (google.cloud.dialogflow.cx.v3beta1.IPage|null);

                        /** QueryResult currentFlow */
                        currentFlow?: (google.cloud.dialogflow.cx.v3beta1.IFlow|null);

                        /** QueryResult intent */
                        intent?: (google.cloud.dialogflow.cx.v3beta1.IIntent|null);

                        /** QueryResult intentDetectionConfidence */
                        intentDetectionConfidence?: (number|null);

                        /** QueryResult match */
                        match?: (google.cloud.dialogflow.cx.v3beta1.IMatch|null);

                        /** QueryResult diagnosticInfo */
                        diagnosticInfo?: (google.protobuf.IStruct|null);

                        /** QueryResult generativeInfo */
                        generativeInfo?: (google.cloud.dialogflow.cx.v3beta1.IGenerativeInfo|null);

                        /** QueryResult sentimentAnalysisResult */
                        sentimentAnalysisResult?: (google.cloud.dialogflow.cx.v3beta1.ISentimentAnalysisResult|null);

                        /** QueryResult advancedSettings */
                        advancedSettings?: (google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings|null);

                        /** QueryResult allowAnswerFeedback */
                        allowAnswerFeedback?: (boolean|null);

                        /** QueryResult dataStoreConnectionSignals */
                        dataStoreConnectionSignals?: (google.cloud.dialogflow.cx.v3beta1.IDataStoreConnectionSignals|null);
                    }

                    /** Represents a QueryResult. */
                    class QueryResult implements IQueryResult {

                        /**
                         * Constructs a new QueryResult.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IQueryResult);

                        /** QueryResult text. */
                        public text?: (string|null);

                        /** QueryResult triggerIntent. */
                        public triggerIntent?: (string|null);

                        /** QueryResult transcript. */
                        public transcript?: (string|null);

                        /** QueryResult triggerEvent. */
                        public triggerEvent?: (string|null);

                        /** QueryResult dtmf. */
                        public dtmf?: (google.cloud.dialogflow.cx.v3beta1.IDtmfInput|null);

                        /** QueryResult languageCode. */
                        public languageCode: string;

                        /** QueryResult parameters. */
                        public parameters?: (google.protobuf.IStruct|null);

                        /** QueryResult responseMessages. */
                        public responseMessages: google.cloud.dialogflow.cx.v3beta1.IResponseMessage[];

                        /** QueryResult webhookIds. */
                        public webhookIds: string[];

                        /** QueryResult webhookDisplayNames. */
                        public webhookDisplayNames: string[];

                        /** QueryResult webhookLatencies. */
                        public webhookLatencies: google.protobuf.IDuration[];

                        /** QueryResult webhookTags. */
                        public webhookTags: string[];

                        /** QueryResult webhookStatuses. */
                        public webhookStatuses: google.rpc.IStatus[];

                        /** QueryResult webhookPayloads. */
                        public webhookPayloads: google.protobuf.IStruct[];

                        /** QueryResult currentPage. */
                        public currentPage?: (google.cloud.dialogflow.cx.v3beta1.IPage|null);

                        /** QueryResult currentFlow. */
                        public currentFlow?: (google.cloud.dialogflow.cx.v3beta1.IFlow|null);

                        /** QueryResult intent. */
                        public intent?: (google.cloud.dialogflow.cx.v3beta1.IIntent|null);

                        /** QueryResult intentDetectionConfidence. */
                        public intentDetectionConfidence: number;

                        /** QueryResult match. */
                        public match?: (google.cloud.dialogflow.cx.v3beta1.IMatch|null);

                        /** QueryResult diagnosticInfo. */
                        public diagnosticInfo?: (google.protobuf.IStruct|null);

                        /** QueryResult generativeInfo. */
                        public generativeInfo?: (google.cloud.dialogflow.cx.v3beta1.IGenerativeInfo|null);

                        /** QueryResult sentimentAnalysisResult. */
                        public sentimentAnalysisResult?: (google.cloud.dialogflow.cx.v3beta1.ISentimentAnalysisResult|null);

                        /** QueryResult advancedSettings. */
                        public advancedSettings?: (google.cloud.dialogflow.cx.v3beta1.IAdvancedSettings|null);

                        /** QueryResult allowAnswerFeedback. */
                        public allowAnswerFeedback: boolean;

                        /** QueryResult dataStoreConnectionSignals. */
                        public dataStoreConnectionSignals?: (google.cloud.dialogflow.cx.v3beta1.IDataStoreConnectionSignals|null);

                        /** QueryResult query. */
                        public query?: ("text"|"triggerIntent"|"transcript"|"triggerEvent"|"dtmf");

                        /**
                         * Creates a new QueryResult instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns QueryResult instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IQueryResult): google.cloud.dialogflow.cx.v3beta1.QueryResult;

                        /**
                         * Encodes the specified QueryResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.QueryResult.verify|verify} messages.
                         * @param message QueryResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IQueryResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified QueryResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.QueryResult.verify|verify} messages.
                         * @param message QueryResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IQueryResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a QueryResult message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns QueryResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.QueryResult;

                        /**
                         * Decodes a QueryResult message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns QueryResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.QueryResult;

                        /**
                         * Verifies a QueryResult message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a QueryResult message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns QueryResult
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.QueryResult;

                        /**
                         * Creates a plain object from a QueryResult message. Also converts values to other types if specified.
                         * @param message QueryResult
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.QueryResult, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this QueryResult to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for QueryResult
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a TextInput. */
                    interface ITextInput {

                        /** TextInput text */
                        text?: (string|null);
                    }

                    /** Represents a TextInput. */
                    class TextInput implements ITextInput {

                        /**
                         * Constructs a new TextInput.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ITextInput);

                        /** TextInput text. */
                        public text: string;

                        /**
                         * Creates a new TextInput instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TextInput instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ITextInput): google.cloud.dialogflow.cx.v3beta1.TextInput;

                        /**
                         * Encodes the specified TextInput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TextInput.verify|verify} messages.
                         * @param message TextInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ITextInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TextInput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TextInput.verify|verify} messages.
                         * @param message TextInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ITextInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TextInput message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TextInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TextInput;

                        /**
                         * Decodes a TextInput message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TextInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TextInput;

                        /**
                         * Verifies a TextInput message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TextInput message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TextInput
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TextInput;

                        /**
                         * Creates a plain object from a TextInput message. Also converts values to other types if specified.
                         * @param message TextInput
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TextInput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TextInput to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TextInput
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an IntentInput. */
                    interface IIntentInput {

                        /** IntentInput intent */
                        intent?: (string|null);
                    }

                    /** Represents an IntentInput. */
                    class IntentInput implements IIntentInput {

                        /**
                         * Constructs a new IntentInput.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IIntentInput);

                        /** IntentInput intent. */
                        public intent: string;

                        /**
                         * Creates a new IntentInput instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns IntentInput instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IIntentInput): google.cloud.dialogflow.cx.v3beta1.IntentInput;

                        /**
                         * Encodes the specified IntentInput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.IntentInput.verify|verify} messages.
                         * @param message IntentInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IIntentInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified IntentInput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.IntentInput.verify|verify} messages.
                         * @param message IntentInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IIntentInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an IntentInput message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns IntentInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.IntentInput;

                        /**
                         * Decodes an IntentInput message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns IntentInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.IntentInput;

                        /**
                         * Verifies an IntentInput message.
                         * @param message Plain 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 IntentInput message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns IntentInput
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.IntentInput;

                        /**
                         * Creates a plain object from an IntentInput message. Also converts values to other types if specified.
                         * @param message IntentInput
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.IntentInput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this IntentInput to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for IntentInput
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an AudioInput. */
                    interface IAudioInput {

                        /** AudioInput config */
                        config?: (google.cloud.dialogflow.cx.v3beta1.IInputAudioConfig|null);

                        /** AudioInput audio */
                        audio?: (Uint8Array|Buffer|string|null);
                    }

                    /** Represents an AudioInput. */
                    class AudioInput implements IAudioInput {

                        /**
                         * Constructs a new AudioInput.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IAudioInput);

                        /** AudioInput config. */
                        public config?: (google.cloud.dialogflow.cx.v3beta1.IInputAudioConfig|null);

                        /** AudioInput audio. */
                        public audio: (Uint8Array|Buffer|string);

                        /**
                         * Creates a new AudioInput instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns AudioInput instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IAudioInput): google.cloud.dialogflow.cx.v3beta1.AudioInput;

                        /**
                         * Encodes the specified AudioInput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AudioInput.verify|verify} messages.
                         * @param message AudioInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IAudioInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified AudioInput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AudioInput.verify|verify} messages.
                         * @param message AudioInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IAudioInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an AudioInput message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns AudioInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.AudioInput;

                        /**
                         * Decodes an AudioInput message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns AudioInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.AudioInput;

                        /**
                         * Verifies an AudioInput message.
                         * @param message Plain 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 AudioInput message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns AudioInput
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.AudioInput;

                        /**
                         * Creates a plain object from an AudioInput message. Also converts values to other types if specified.
                         * @param message AudioInput
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.AudioInput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this AudioInput to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for AudioInput
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an EventInput. */
                    interface IEventInput {

                        /** EventInput event */
                        event?: (string|null);
                    }

                    /** Represents an EventInput. */
                    class EventInput implements IEventInput {

                        /**
                         * Constructs a new EventInput.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IEventInput);

                        /** EventInput event. */
                        public event: string;

                        /**
                         * Creates a new EventInput instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns EventInput instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IEventInput): google.cloud.dialogflow.cx.v3beta1.EventInput;

                        /**
                         * Encodes the specified EventInput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.EventInput.verify|verify} messages.
                         * @param message EventInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IEventInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified EventInput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.EventInput.verify|verify} messages.
                         * @param message EventInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IEventInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an EventInput message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns EventInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.EventInput;

                        /**
                         * Decodes an EventInput message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns EventInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.EventInput;

                        /**
                         * Verifies an EventInput message.
                         * @param message Plain 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 EventInput message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns EventInput
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.EventInput;

                        /**
                         * Creates a plain object from an EventInput message. Also converts values to other types if specified.
                         * @param message EventInput
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.EventInput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this EventInput to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for EventInput
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DtmfInput. */
                    interface IDtmfInput {

                        /** DtmfInput digits */
                        digits?: (string|null);

                        /** DtmfInput finishDigit */
                        finishDigit?: (string|null);
                    }

                    /** Represents a DtmfInput. */
                    class DtmfInput implements IDtmfInput {

                        /**
                         * Constructs a new DtmfInput.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDtmfInput);

                        /** DtmfInput digits. */
                        public digits: string;

                        /** DtmfInput finishDigit. */
                        public finishDigit: string;

                        /**
                         * Creates a new DtmfInput instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DtmfInput instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDtmfInput): google.cloud.dialogflow.cx.v3beta1.DtmfInput;

                        /**
                         * Encodes the specified DtmfInput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DtmfInput.verify|verify} messages.
                         * @param message DtmfInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDtmfInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DtmfInput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DtmfInput.verify|verify} messages.
                         * @param message DtmfInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDtmfInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DtmfInput message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DtmfInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DtmfInput;

                        /**
                         * Decodes a DtmfInput message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DtmfInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DtmfInput;

                        /**
                         * Verifies a DtmfInput message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DtmfInput message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DtmfInput
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DtmfInput;

                        /**
                         * Creates a plain object from a DtmfInput message. Also converts values to other types if specified.
                         * @param message DtmfInput
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DtmfInput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DtmfInput to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DtmfInput
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a Match. */
                    interface IMatch {

                        /** Match intent */
                        intent?: (google.cloud.dialogflow.cx.v3beta1.IIntent|null);

                        /** Match event */
                        event?: (string|null);

                        /** Match parameters */
                        parameters?: (google.protobuf.IStruct|null);

                        /** Match resolvedInput */
                        resolvedInput?: (string|null);

                        /** Match matchType */
                        matchType?: (google.cloud.dialogflow.cx.v3beta1.Match.MatchType|keyof typeof google.cloud.dialogflow.cx.v3beta1.Match.MatchType|null);

                        /** Match confidence */
                        confidence?: (number|null);
                    }

                    /** Represents a Match. */
                    class Match implements IMatch {

                        /**
                         * Constructs a new Match.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IMatch);

                        /** Match intent. */
                        public intent?: (google.cloud.dialogflow.cx.v3beta1.IIntent|null);

                        /** Match event. */
                        public event: string;

                        /** Match parameters. */
                        public parameters?: (google.protobuf.IStruct|null);

                        /** Match resolvedInput. */
                        public resolvedInput: string;

                        /** Match matchType. */
                        public matchType: (google.cloud.dialogflow.cx.v3beta1.Match.MatchType|keyof typeof google.cloud.dialogflow.cx.v3beta1.Match.MatchType);

                        /** Match confidence. */
                        public confidence: number;

                        /**
                         * Creates a new Match instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Match instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IMatch): google.cloud.dialogflow.cx.v3beta1.Match;

                        /**
                         * Encodes the specified Match message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Match.verify|verify} messages.
                         * @param message Match message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IMatch, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Match message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Match.verify|verify} messages.
                         * @param message Match message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IMatch, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Match message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Match
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Match;

                        /**
                         * Decodes a Match message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Match
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Match;

                        /**
                         * Verifies a Match message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Match message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Match
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Match;

                        /**
                         * Creates a plain object from a Match message. Also converts values to other types if specified.
                         * @param message Match
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Match, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Match to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Match
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Match {

                        /** MatchType enum. */
                        enum MatchType {
                            MATCH_TYPE_UNSPECIFIED = 0,
                            INTENT = 1,
                            DIRECT_INTENT = 2,
                            PARAMETER_FILLING = 3,
                            NO_MATCH = 4,
                            NO_INPUT = 5,
                            EVENT = 6,
                            KNOWLEDGE_CONNECTOR = 8,
                            PLAYBOOK = 9
                        }
                    }

                    /** Properties of a MatchIntentRequest. */
                    interface IMatchIntentRequest {

                        /** MatchIntentRequest session */
                        session?: (string|null);

                        /** MatchIntentRequest queryParams */
                        queryParams?: (google.cloud.dialogflow.cx.v3beta1.IQueryParameters|null);

                        /** MatchIntentRequest queryInput */
                        queryInput?: (google.cloud.dialogflow.cx.v3beta1.IQueryInput|null);

                        /** MatchIntentRequest persistParameterChanges */
                        persistParameterChanges?: (boolean|null);
                    }

                    /** Represents a MatchIntentRequest. */
                    class MatchIntentRequest implements IMatchIntentRequest {

                        /**
                         * Constructs a new MatchIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IMatchIntentRequest);

                        /** MatchIntentRequest session. */
                        public session: string;

                        /** MatchIntentRequest queryParams. */
                        public queryParams?: (google.cloud.dialogflow.cx.v3beta1.IQueryParameters|null);

                        /** MatchIntentRequest queryInput. */
                        public queryInput?: (google.cloud.dialogflow.cx.v3beta1.IQueryInput|null);

                        /** MatchIntentRequest persistParameterChanges. */
                        public persistParameterChanges: boolean;

                        /**
                         * Creates a new MatchIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns MatchIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IMatchIntentRequest): google.cloud.dialogflow.cx.v3beta1.MatchIntentRequest;

                        /**
                         * Encodes the specified MatchIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.MatchIntentRequest.verify|verify} messages.
                         * @param message MatchIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IMatchIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified MatchIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.MatchIntentRequest.verify|verify} messages.
                         * @param message MatchIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IMatchIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a MatchIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns MatchIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.MatchIntentRequest;

                        /**
                         * Decodes a MatchIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns MatchIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.MatchIntentRequest;

                        /**
                         * Verifies a MatchIntentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a MatchIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns MatchIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.MatchIntentRequest;

                        /**
                         * Creates a plain object from a MatchIntentRequest message. Also converts values to other types if specified.
                         * @param message MatchIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.MatchIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this MatchIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for MatchIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a MatchIntentResponse. */
                    interface IMatchIntentResponse {

                        /** MatchIntentResponse text */
                        text?: (string|null);

                        /** MatchIntentResponse triggerIntent */
                        triggerIntent?: (string|null);

                        /** MatchIntentResponse transcript */
                        transcript?: (string|null);

                        /** MatchIntentResponse triggerEvent */
                        triggerEvent?: (string|null);

                        /** MatchIntentResponse matches */
                        matches?: (google.cloud.dialogflow.cx.v3beta1.IMatch[]|null);

                        /** MatchIntentResponse currentPage */
                        currentPage?: (google.cloud.dialogflow.cx.v3beta1.IPage|null);
                    }

                    /** Represents a MatchIntentResponse. */
                    class MatchIntentResponse implements IMatchIntentResponse {

                        /**
                         * Constructs a new MatchIntentResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IMatchIntentResponse);

                        /** MatchIntentResponse text. */
                        public text?: (string|null);

                        /** MatchIntentResponse triggerIntent. */
                        public triggerIntent?: (string|null);

                        /** MatchIntentResponse transcript. */
                        public transcript?: (string|null);

                        /** MatchIntentResponse triggerEvent. */
                        public triggerEvent?: (string|null);

                        /** MatchIntentResponse matches. */
                        public matches: google.cloud.dialogflow.cx.v3beta1.IMatch[];

                        /** MatchIntentResponse currentPage. */
                        public currentPage?: (google.cloud.dialogflow.cx.v3beta1.IPage|null);

                        /** MatchIntentResponse query. */
                        public query?: ("text"|"triggerIntent"|"transcript"|"triggerEvent");

                        /**
                         * Creates a new MatchIntentResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns MatchIntentResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IMatchIntentResponse): google.cloud.dialogflow.cx.v3beta1.MatchIntentResponse;

                        /**
                         * Encodes the specified MatchIntentResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.MatchIntentResponse.verify|verify} messages.
                         * @param message MatchIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IMatchIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified MatchIntentResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.MatchIntentResponse.verify|verify} messages.
                         * @param message MatchIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IMatchIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a MatchIntentResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns MatchIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.MatchIntentResponse;

                        /**
                         * Decodes a MatchIntentResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns MatchIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.MatchIntentResponse;

                        /**
                         * Verifies a MatchIntentResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a MatchIntentResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns MatchIntentResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.MatchIntentResponse;

                        /**
                         * Creates a plain object from a MatchIntentResponse message. Also converts values to other types if specified.
                         * @param message MatchIntentResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.MatchIntentResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this MatchIntentResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for MatchIntentResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a FulfillIntentRequest. */
                    interface IFulfillIntentRequest {

                        /** FulfillIntentRequest matchIntentRequest */
                        matchIntentRequest?: (google.cloud.dialogflow.cx.v3beta1.IMatchIntentRequest|null);

                        /** FulfillIntentRequest match */
                        match?: (google.cloud.dialogflow.cx.v3beta1.IMatch|null);

                        /** FulfillIntentRequest outputAudioConfig */
                        outputAudioConfig?: (google.cloud.dialogflow.cx.v3beta1.IOutputAudioConfig|null);
                    }

                    /** Represents a FulfillIntentRequest. */
                    class FulfillIntentRequest implements IFulfillIntentRequest {

                        /**
                         * Constructs a new FulfillIntentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IFulfillIntentRequest);

                        /** FulfillIntentRequest matchIntentRequest. */
                        public matchIntentRequest?: (google.cloud.dialogflow.cx.v3beta1.IMatchIntentRequest|null);

                        /** FulfillIntentRequest match. */
                        public match?: (google.cloud.dialogflow.cx.v3beta1.IMatch|null);

                        /** FulfillIntentRequest outputAudioConfig. */
                        public outputAudioConfig?: (google.cloud.dialogflow.cx.v3beta1.IOutputAudioConfig|null);

                        /**
                         * Creates a new FulfillIntentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns FulfillIntentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IFulfillIntentRequest): google.cloud.dialogflow.cx.v3beta1.FulfillIntentRequest;

                        /**
                         * Encodes the specified FulfillIntentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.FulfillIntentRequest.verify|verify} messages.
                         * @param message FulfillIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IFulfillIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified FulfillIntentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.FulfillIntentRequest.verify|verify} messages.
                         * @param message FulfillIntentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IFulfillIntentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a FulfillIntentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns FulfillIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.FulfillIntentRequest;

                        /**
                         * Decodes a FulfillIntentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns FulfillIntentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.FulfillIntentRequest;

                        /**
                         * Verifies a FulfillIntentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a FulfillIntentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns FulfillIntentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.FulfillIntentRequest;

                        /**
                         * Creates a plain object from a FulfillIntentRequest message. Also converts values to other types if specified.
                         * @param message FulfillIntentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.FulfillIntentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this FulfillIntentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for FulfillIntentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a FulfillIntentResponse. */
                    interface IFulfillIntentResponse {

                        /** FulfillIntentResponse responseId */
                        responseId?: (string|null);

                        /** FulfillIntentResponse queryResult */
                        queryResult?: (google.cloud.dialogflow.cx.v3beta1.IQueryResult|null);

                        /** FulfillIntentResponse outputAudio */
                        outputAudio?: (Uint8Array|Buffer|string|null);

                        /** FulfillIntentResponse outputAudioConfig */
                        outputAudioConfig?: (google.cloud.dialogflow.cx.v3beta1.IOutputAudioConfig|null);
                    }

                    /** Represents a FulfillIntentResponse. */
                    class FulfillIntentResponse implements IFulfillIntentResponse {

                        /**
                         * Constructs a new FulfillIntentResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IFulfillIntentResponse);

                        /** FulfillIntentResponse responseId. */
                        public responseId: string;

                        /** FulfillIntentResponse queryResult. */
                        public queryResult?: (google.cloud.dialogflow.cx.v3beta1.IQueryResult|null);

                        /** FulfillIntentResponse outputAudio. */
                        public outputAudio: (Uint8Array|Buffer|string);

                        /** FulfillIntentResponse outputAudioConfig. */
                        public outputAudioConfig?: (google.cloud.dialogflow.cx.v3beta1.IOutputAudioConfig|null);

                        /**
                         * Creates a new FulfillIntentResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns FulfillIntentResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IFulfillIntentResponse): google.cloud.dialogflow.cx.v3beta1.FulfillIntentResponse;

                        /**
                         * Encodes the specified FulfillIntentResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.FulfillIntentResponse.verify|verify} messages.
                         * @param message FulfillIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IFulfillIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified FulfillIntentResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.FulfillIntentResponse.verify|verify} messages.
                         * @param message FulfillIntentResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IFulfillIntentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a FulfillIntentResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns FulfillIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.FulfillIntentResponse;

                        /**
                         * Decodes a FulfillIntentResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns FulfillIntentResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.FulfillIntentResponse;

                        /**
                         * Verifies a FulfillIntentResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a FulfillIntentResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns FulfillIntentResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.FulfillIntentResponse;

                        /**
                         * Creates a plain object from a FulfillIntentResponse message. Also converts values to other types if specified.
                         * @param message FulfillIntentResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.FulfillIntentResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this FulfillIntentResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for FulfillIntentResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a SentimentAnalysisResult. */
                    interface ISentimentAnalysisResult {

                        /** SentimentAnalysisResult score */
                        score?: (number|null);

                        /** SentimentAnalysisResult magnitude */
                        magnitude?: (number|null);
                    }

                    /** Represents a SentimentAnalysisResult. */
                    class SentimentAnalysisResult implements ISentimentAnalysisResult {

                        /**
                         * Constructs a new SentimentAnalysisResult.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ISentimentAnalysisResult);

                        /** SentimentAnalysisResult score. */
                        public score: number;

                        /** SentimentAnalysisResult magnitude. */
                        public magnitude: number;

                        /**
                         * Creates a new SentimentAnalysisResult instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SentimentAnalysisResult instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ISentimentAnalysisResult): google.cloud.dialogflow.cx.v3beta1.SentimentAnalysisResult;

                        /**
                         * Encodes the specified SentimentAnalysisResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SentimentAnalysisResult.verify|verify} messages.
                         * @param message SentimentAnalysisResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ISentimentAnalysisResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SentimentAnalysisResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SentimentAnalysisResult.verify|verify} messages.
                         * @param message SentimentAnalysisResult message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ISentimentAnalysisResult, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SentimentAnalysisResult message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SentimentAnalysisResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.SentimentAnalysisResult;

                        /**
                         * Decodes a SentimentAnalysisResult message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SentimentAnalysisResult
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.SentimentAnalysisResult;

                        /**
                         * Verifies a SentimentAnalysisResult message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SentimentAnalysisResult message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SentimentAnalysisResult
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.SentimentAnalysisResult;

                        /**
                         * Creates a plain object from a SentimentAnalysisResult message. Also converts values to other types if specified.
                         * @param message SentimentAnalysisResult
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.SentimentAnalysisResult, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SentimentAnalysisResult to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SentimentAnalysisResult
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents an Examples */
                    class Examples extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Examples 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 Examples 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): Examples;

                        /**
                         * Calls CreateExample.
                         * @param request CreateExampleRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Example
                         */
                        public createExample(request: google.cloud.dialogflow.cx.v3beta1.ICreateExampleRequest, callback: google.cloud.dialogflow.cx.v3beta1.Examples.CreateExampleCallback): void;

                        /**
                         * Calls CreateExample.
                         * @param request CreateExampleRequest message or plain object
                         * @returns Promise
                         */
                        public createExample(request: google.cloud.dialogflow.cx.v3beta1.ICreateExampleRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Example>;

                        /**
                         * Calls DeleteExample.
                         * @param request DeleteExampleRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteExample(request: google.cloud.dialogflow.cx.v3beta1.IDeleteExampleRequest, callback: google.cloud.dialogflow.cx.v3beta1.Examples.DeleteExampleCallback): void;

                        /**
                         * Calls DeleteExample.
                         * @param request DeleteExampleRequest message or plain object
                         * @returns Promise
                         */
                        public deleteExample(request: google.cloud.dialogflow.cx.v3beta1.IDeleteExampleRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls ListExamples.
                         * @param request ListExamplesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListExamplesResponse
                         */
                        public listExamples(request: google.cloud.dialogflow.cx.v3beta1.IListExamplesRequest, callback: google.cloud.dialogflow.cx.v3beta1.Examples.ListExamplesCallback): void;

                        /**
                         * Calls ListExamples.
                         * @param request ListExamplesRequest message or plain object
                         * @returns Promise
                         */
                        public listExamples(request: google.cloud.dialogflow.cx.v3beta1.IListExamplesRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListExamplesResponse>;

                        /**
                         * Calls GetExample.
                         * @param request GetExampleRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Example
                         */
                        public getExample(request: google.cloud.dialogflow.cx.v3beta1.IGetExampleRequest, callback: google.cloud.dialogflow.cx.v3beta1.Examples.GetExampleCallback): void;

                        /**
                         * Calls GetExample.
                         * @param request GetExampleRequest message or plain object
                         * @returns Promise
                         */
                        public getExample(request: google.cloud.dialogflow.cx.v3beta1.IGetExampleRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Example>;

                        /**
                         * Calls UpdateExample.
                         * @param request UpdateExampleRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Example
                         */
                        public updateExample(request: google.cloud.dialogflow.cx.v3beta1.IUpdateExampleRequest, callback: google.cloud.dialogflow.cx.v3beta1.Examples.UpdateExampleCallback): void;

                        /**
                         * Calls UpdateExample.
                         * @param request UpdateExampleRequest message or plain object
                         * @returns Promise
                         */
                        public updateExample(request: google.cloud.dialogflow.cx.v3beta1.IUpdateExampleRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Example>;
                    }

                    namespace Examples {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Examples|createExample}.
                         * @param error Error, if any
                         * @param [response] Example
                         */
                        type CreateExampleCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Example) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Examples|deleteExample}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteExampleCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Examples|listExamples}.
                         * @param error Error, if any
                         * @param [response] ListExamplesResponse
                         */
                        type ListExamplesCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListExamplesResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Examples|getExample}.
                         * @param error Error, if any
                         * @param [response] Example
                         */
                        type GetExampleCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Example) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Examples|updateExample}.
                         * @param error Error, if any
                         * @param [response] Example
                         */
                        type UpdateExampleCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Example) => void;
                    }

                    /** Properties of a CreateExampleRequest. */
                    interface ICreateExampleRequest {

                        /** CreateExampleRequest parent */
                        parent?: (string|null);

                        /** CreateExampleRequest example */
                        example?: (google.cloud.dialogflow.cx.v3beta1.IExample|null);
                    }

                    /** Represents a CreateExampleRequest. */
                    class CreateExampleRequest implements ICreateExampleRequest {

                        /**
                         * Constructs a new CreateExampleRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateExampleRequest);

                        /** CreateExampleRequest parent. */
                        public parent: string;

                        /** CreateExampleRequest example. */
                        public example?: (google.cloud.dialogflow.cx.v3beta1.IExample|null);

                        /**
                         * Creates a new CreateExampleRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateExampleRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateExampleRequest): google.cloud.dialogflow.cx.v3beta1.CreateExampleRequest;

                        /**
                         * Encodes the specified CreateExampleRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateExampleRequest.verify|verify} messages.
                         * @param message CreateExampleRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateExampleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateExampleRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateExampleRequest.verify|verify} messages.
                         * @param message CreateExampleRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateExampleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateExampleRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateExampleRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateExampleRequest;

                        /**
                         * Decodes a CreateExampleRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateExampleRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateExampleRequest;

                        /**
                         * Verifies a CreateExampleRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateExampleRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateExampleRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateExampleRequest;

                        /**
                         * Creates a plain object from a CreateExampleRequest message. Also converts values to other types if specified.
                         * @param message CreateExampleRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateExampleRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateExampleRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateExampleRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteExampleRequest. */
                    interface IDeleteExampleRequest {

                        /** DeleteExampleRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeleteExampleRequest. */
                    class DeleteExampleRequest implements IDeleteExampleRequest {

                        /**
                         * Constructs a new DeleteExampleRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteExampleRequest);

                        /** DeleteExampleRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeleteExampleRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteExampleRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteExampleRequest): google.cloud.dialogflow.cx.v3beta1.DeleteExampleRequest;

                        /**
                         * Encodes the specified DeleteExampleRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteExampleRequest.verify|verify} messages.
                         * @param message DeleteExampleRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteExampleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteExampleRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteExampleRequest.verify|verify} messages.
                         * @param message DeleteExampleRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteExampleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteExampleRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteExampleRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteExampleRequest;

                        /**
                         * Decodes a DeleteExampleRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteExampleRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteExampleRequest;

                        /**
                         * Verifies a DeleteExampleRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteExampleRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteExampleRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteExampleRequest;

                        /**
                         * Creates a plain object from a DeleteExampleRequest message. Also converts values to other types if specified.
                         * @param message DeleteExampleRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteExampleRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteExampleRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteExampleRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListExamplesRequest. */
                    interface IListExamplesRequest {

                        /** ListExamplesRequest parent */
                        parent?: (string|null);

                        /** ListExamplesRequest pageSize */
                        pageSize?: (number|null);

                        /** ListExamplesRequest pageToken */
                        pageToken?: (string|null);

                        /** ListExamplesRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a ListExamplesRequest. */
                    class ListExamplesRequest implements IListExamplesRequest {

                        /**
                         * Constructs a new ListExamplesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListExamplesRequest);

                        /** ListExamplesRequest parent. */
                        public parent: string;

                        /** ListExamplesRequest pageSize. */
                        public pageSize: number;

                        /** ListExamplesRequest pageToken. */
                        public pageToken: string;

                        /** ListExamplesRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new ListExamplesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListExamplesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListExamplesRequest): google.cloud.dialogflow.cx.v3beta1.ListExamplesRequest;

                        /**
                         * Encodes the specified ListExamplesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListExamplesRequest.verify|verify} messages.
                         * @param message ListExamplesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListExamplesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListExamplesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListExamplesRequest.verify|verify} messages.
                         * @param message ListExamplesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListExamplesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListExamplesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListExamplesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListExamplesRequest;

                        /**
                         * Decodes a ListExamplesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListExamplesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListExamplesRequest;

                        /**
                         * Verifies a ListExamplesRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListExamplesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListExamplesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListExamplesRequest;

                        /**
                         * Creates a plain object from a ListExamplesRequest message. Also converts values to other types if specified.
                         * @param message ListExamplesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListExamplesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListExamplesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListExamplesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListExamplesResponse. */
                    interface IListExamplesResponse {

                        /** ListExamplesResponse examples */
                        examples?: (google.cloud.dialogflow.cx.v3beta1.IExample[]|null);

                        /** ListExamplesResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListExamplesResponse. */
                    class ListExamplesResponse implements IListExamplesResponse {

                        /**
                         * Constructs a new ListExamplesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListExamplesResponse);

                        /** ListExamplesResponse examples. */
                        public examples: google.cloud.dialogflow.cx.v3beta1.IExample[];

                        /** ListExamplesResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListExamplesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListExamplesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListExamplesResponse): google.cloud.dialogflow.cx.v3beta1.ListExamplesResponse;

                        /**
                         * Encodes the specified ListExamplesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListExamplesResponse.verify|verify} messages.
                         * @param message ListExamplesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListExamplesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListExamplesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListExamplesResponse.verify|verify} messages.
                         * @param message ListExamplesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListExamplesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListExamplesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListExamplesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListExamplesResponse;

                        /**
                         * Decodes a ListExamplesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListExamplesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListExamplesResponse;

                        /**
                         * Verifies a ListExamplesResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListExamplesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListExamplesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListExamplesResponse;

                        /**
                         * Creates a plain object from a ListExamplesResponse message. Also converts values to other types if specified.
                         * @param message ListExamplesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListExamplesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListExamplesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListExamplesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetExampleRequest. */
                    interface IGetExampleRequest {

                        /** GetExampleRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetExampleRequest. */
                    class GetExampleRequest implements IGetExampleRequest {

                        /**
                         * Constructs a new GetExampleRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetExampleRequest);

                        /** GetExampleRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetExampleRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetExampleRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetExampleRequest): google.cloud.dialogflow.cx.v3beta1.GetExampleRequest;

                        /**
                         * Encodes the specified GetExampleRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetExampleRequest.verify|verify} messages.
                         * @param message GetExampleRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetExampleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetExampleRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetExampleRequest.verify|verify} messages.
                         * @param message GetExampleRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetExampleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetExampleRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetExampleRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetExampleRequest;

                        /**
                         * Decodes a GetExampleRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetExampleRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetExampleRequest;

                        /**
                         * Verifies a GetExampleRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetExampleRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetExampleRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetExampleRequest;

                        /**
                         * Creates a plain object from a GetExampleRequest message. Also converts values to other types if specified.
                         * @param message GetExampleRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetExampleRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetExampleRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetExampleRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateExampleRequest. */
                    interface IUpdateExampleRequest {

                        /** UpdateExampleRequest example */
                        example?: (google.cloud.dialogflow.cx.v3beta1.IExample|null);

                        /** UpdateExampleRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateExampleRequest. */
                    class UpdateExampleRequest implements IUpdateExampleRequest {

                        /**
                         * Constructs a new UpdateExampleRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateExampleRequest);

                        /** UpdateExampleRequest example. */
                        public example?: (google.cloud.dialogflow.cx.v3beta1.IExample|null);

                        /** UpdateExampleRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateExampleRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateExampleRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateExampleRequest): google.cloud.dialogflow.cx.v3beta1.UpdateExampleRequest;

                        /**
                         * Encodes the specified UpdateExampleRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateExampleRequest.verify|verify} messages.
                         * @param message UpdateExampleRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateExampleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateExampleRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateExampleRequest.verify|verify} messages.
                         * @param message UpdateExampleRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateExampleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateExampleRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateExampleRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateExampleRequest;

                        /**
                         * Decodes an UpdateExampleRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateExampleRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateExampleRequest;

                        /**
                         * Verifies an UpdateExampleRequest message.
                         * @param message Plain 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 UpdateExampleRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateExampleRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateExampleRequest;

                        /**
                         * Creates a plain object from an UpdateExampleRequest message. Also converts values to other types if specified.
                         * @param message UpdateExampleRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateExampleRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateExampleRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateExampleRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an Example. */
                    interface IExample {

                        /** Example name */
                        name?: (string|null);

                        /** Example playbookInput */
                        playbookInput?: (google.cloud.dialogflow.cx.v3beta1.IPlaybookInput|null);

                        /** Example playbookOutput */
                        playbookOutput?: (google.cloud.dialogflow.cx.v3beta1.IPlaybookOutput|null);

                        /** Example actions */
                        actions?: (google.cloud.dialogflow.cx.v3beta1.IAction[]|null);

                        /** Example displayName */
                        displayName?: (string|null);

                        /** Example description */
                        description?: (string|null);

                        /** Example tokenCount */
                        tokenCount?: (number|Long|string|null);

                        /** Example createTime */
                        createTime?: (google.protobuf.ITimestamp|null);

                        /** Example updateTime */
                        updateTime?: (google.protobuf.ITimestamp|null);

                        /** Example conversationState */
                        conversationState?: (google.cloud.dialogflow.cx.v3beta1.OutputState|keyof typeof google.cloud.dialogflow.cx.v3beta1.OutputState|null);

                        /** Example languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents an Example. */
                    class Example implements IExample {

                        /**
                         * Constructs a new Example.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExample);

                        /** Example name. */
                        public name: string;

                        /** Example playbookInput. */
                        public playbookInput?: (google.cloud.dialogflow.cx.v3beta1.IPlaybookInput|null);

                        /** Example playbookOutput. */
                        public playbookOutput?: (google.cloud.dialogflow.cx.v3beta1.IPlaybookOutput|null);

                        /** Example actions. */
                        public actions: google.cloud.dialogflow.cx.v3beta1.IAction[];

                        /** Example displayName. */
                        public displayName: string;

                        /** Example description. */
                        public description: string;

                        /** Example tokenCount. */
                        public tokenCount: (number|Long|string);

                        /** Example createTime. */
                        public createTime?: (google.protobuf.ITimestamp|null);

                        /** Example updateTime. */
                        public updateTime?: (google.protobuf.ITimestamp|null);

                        /** Example conversationState. */
                        public conversationState: (google.cloud.dialogflow.cx.v3beta1.OutputState|keyof typeof google.cloud.dialogflow.cx.v3beta1.OutputState);

                        /** Example languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new Example instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Example instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExample): google.cloud.dialogflow.cx.v3beta1.Example;

                        /**
                         * Encodes the specified Example message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Example.verify|verify} messages.
                         * @param message Example message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExample, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Example message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Example.verify|verify} messages.
                         * @param message Example message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExample, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an Example message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Example
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Example;

                        /**
                         * Decodes an Example message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Example
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Example;

                        /**
                         * Verifies an Example message.
                         * @param message Plain 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 Example message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Example
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Example;

                        /**
                         * Creates a plain object from an Example message. Also converts values to other types if specified.
                         * @param message Example
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Example, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Example to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Example
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a PlaybookInput. */
                    interface IPlaybookInput {

                        /** PlaybookInput precedingConversationSummary */
                        precedingConversationSummary?: (string|null);

                        /** PlaybookInput actionParameters */
                        actionParameters?: (google.protobuf.IStruct|null);
                    }

                    /** Represents a PlaybookInput. */
                    class PlaybookInput implements IPlaybookInput {

                        /**
                         * Constructs a new PlaybookInput.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IPlaybookInput);

                        /** PlaybookInput precedingConversationSummary. */
                        public precedingConversationSummary: string;

                        /** PlaybookInput actionParameters. */
                        public actionParameters?: (google.protobuf.IStruct|null);

                        /**
                         * Creates a new PlaybookInput instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns PlaybookInput instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IPlaybookInput): google.cloud.dialogflow.cx.v3beta1.PlaybookInput;

                        /**
                         * Encodes the specified PlaybookInput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.PlaybookInput.verify|verify} messages.
                         * @param message PlaybookInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IPlaybookInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified PlaybookInput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.PlaybookInput.verify|verify} messages.
                         * @param message PlaybookInput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IPlaybookInput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a PlaybookInput message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns PlaybookInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.PlaybookInput;

                        /**
                         * Decodes a PlaybookInput message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns PlaybookInput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.PlaybookInput;

                        /**
                         * Verifies a PlaybookInput message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a PlaybookInput message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns PlaybookInput
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.PlaybookInput;

                        /**
                         * Creates a plain object from a PlaybookInput message. Also converts values to other types if specified.
                         * @param message PlaybookInput
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.PlaybookInput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this PlaybookInput to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for PlaybookInput
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a PlaybookOutput. */
                    interface IPlaybookOutput {

                        /** PlaybookOutput executionSummary */
                        executionSummary?: (string|null);

                        /** PlaybookOutput actionParameters */
                        actionParameters?: (google.protobuf.IStruct|null);
                    }

                    /** Represents a PlaybookOutput. */
                    class PlaybookOutput implements IPlaybookOutput {

                        /**
                         * Constructs a new PlaybookOutput.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IPlaybookOutput);

                        /** PlaybookOutput executionSummary. */
                        public executionSummary: string;

                        /** PlaybookOutput actionParameters. */
                        public actionParameters?: (google.protobuf.IStruct|null);

                        /**
                         * Creates a new PlaybookOutput instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns PlaybookOutput instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IPlaybookOutput): google.cloud.dialogflow.cx.v3beta1.PlaybookOutput;

                        /**
                         * Encodes the specified PlaybookOutput message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.PlaybookOutput.verify|verify} messages.
                         * @param message PlaybookOutput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IPlaybookOutput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified PlaybookOutput message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.PlaybookOutput.verify|verify} messages.
                         * @param message PlaybookOutput message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IPlaybookOutput, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a PlaybookOutput message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns PlaybookOutput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.PlaybookOutput;

                        /**
                         * Decodes a PlaybookOutput message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns PlaybookOutput
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.PlaybookOutput;

                        /**
                         * Verifies a PlaybookOutput message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a PlaybookOutput message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns PlaybookOutput
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.PlaybookOutput;

                        /**
                         * Creates a plain object from a PlaybookOutput message. Also converts values to other types if specified.
                         * @param message PlaybookOutput
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.PlaybookOutput, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this PlaybookOutput to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for PlaybookOutput
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an Action. */
                    interface IAction {

                        /** Action userUtterance */
                        userUtterance?: (google.cloud.dialogflow.cx.v3beta1.IUserUtterance|null);

                        /** Action agentUtterance */
                        agentUtterance?: (google.cloud.dialogflow.cx.v3beta1.IAgentUtterance|null);

                        /** Action toolUse */
                        toolUse?: (google.cloud.dialogflow.cx.v3beta1.IToolUse|null);

                        /** Action playbookInvocation */
                        playbookInvocation?: (google.cloud.dialogflow.cx.v3beta1.IPlaybookInvocation|null);

                        /** Action flowInvocation */
                        flowInvocation?: (google.cloud.dialogflow.cx.v3beta1.IFlowInvocation|null);
                    }

                    /** Represents an Action. */
                    class Action implements IAction {

                        /**
                         * Constructs a new Action.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IAction);

                        /** Action userUtterance. */
                        public userUtterance?: (google.cloud.dialogflow.cx.v3beta1.IUserUtterance|null);

                        /** Action agentUtterance. */
                        public agentUtterance?: (google.cloud.dialogflow.cx.v3beta1.IAgentUtterance|null);

                        /** Action toolUse. */
                        public toolUse?: (google.cloud.dialogflow.cx.v3beta1.IToolUse|null);

                        /** Action playbookInvocation. */
                        public playbookInvocation?: (google.cloud.dialogflow.cx.v3beta1.IPlaybookInvocation|null);

                        /** Action flowInvocation. */
                        public flowInvocation?: (google.cloud.dialogflow.cx.v3beta1.IFlowInvocation|null);

                        /** Action action. */
                        public action?: ("userUtterance"|"agentUtterance"|"toolUse"|"playbookInvocation"|"flowInvocation");

                        /**
                         * Creates a new Action instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Action instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IAction): google.cloud.dialogflow.cx.v3beta1.Action;

                        /**
                         * Encodes the specified Action message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Action.verify|verify} messages.
                         * @param message Action message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IAction, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Action message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Action.verify|verify} messages.
                         * @param message Action message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IAction, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an Action message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Action
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Action;

                        /**
                         * Decodes an Action message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Action
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Action;

                        /**
                         * Verifies an Action message.
                         * @param message Plain 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 Action message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Action
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Action;

                        /**
                         * Creates a plain object from an Action message. Also converts values to other types if specified.
                         * @param message Action
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Action, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Action to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Action
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a UserUtterance. */
                    interface IUserUtterance {

                        /** UserUtterance text */
                        text?: (string|null);
                    }

                    /** Represents a UserUtterance. */
                    class UserUtterance implements IUserUtterance {

                        /**
                         * Constructs a new UserUtterance.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUserUtterance);

                        /** UserUtterance text. */
                        public text: string;

                        /**
                         * Creates a new UserUtterance instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UserUtterance instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUserUtterance): google.cloud.dialogflow.cx.v3beta1.UserUtterance;

                        /**
                         * Encodes the specified UserUtterance message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UserUtterance.verify|verify} messages.
                         * @param message UserUtterance message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUserUtterance, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UserUtterance message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UserUtterance.verify|verify} messages.
                         * @param message UserUtterance message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUserUtterance, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a UserUtterance message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UserUtterance
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UserUtterance;

                        /**
                         * Decodes a UserUtterance message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UserUtterance
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UserUtterance;

                        /**
                         * Verifies a UserUtterance message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a UserUtterance message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UserUtterance
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UserUtterance;

                        /**
                         * Creates a plain object from a UserUtterance message. Also converts values to other types if specified.
                         * @param message UserUtterance
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UserUtterance, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UserUtterance to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UserUtterance
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an AgentUtterance. */
                    interface IAgentUtterance {

                        /** AgentUtterance text */
                        text?: (string|null);
                    }

                    /** Represents an AgentUtterance. */
                    class AgentUtterance implements IAgentUtterance {

                        /**
                         * Constructs a new AgentUtterance.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IAgentUtterance);

                        /** AgentUtterance text. */
                        public text: string;

                        /**
                         * Creates a new AgentUtterance instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns AgentUtterance instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IAgentUtterance): google.cloud.dialogflow.cx.v3beta1.AgentUtterance;

                        /**
                         * Encodes the specified AgentUtterance message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AgentUtterance.verify|verify} messages.
                         * @param message AgentUtterance message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IAgentUtterance, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified AgentUtterance message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.AgentUtterance.verify|verify} messages.
                         * @param message AgentUtterance message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IAgentUtterance, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an AgentUtterance message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns AgentUtterance
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.AgentUtterance;

                        /**
                         * Decodes an AgentUtterance message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns AgentUtterance
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.AgentUtterance;

                        /**
                         * Verifies an AgentUtterance message.
                         * @param message Plain 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 AgentUtterance message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns AgentUtterance
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.AgentUtterance;

                        /**
                         * Creates a plain object from an AgentUtterance message. Also converts values to other types if specified.
                         * @param message AgentUtterance
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.AgentUtterance, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this AgentUtterance to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for AgentUtterance
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ToolUse. */
                    interface IToolUse {

                        /** ToolUse tool */
                        tool?: (string|null);

                        /** ToolUse displayName */
                        displayName?: (string|null);

                        /** ToolUse action */
                        action?: (string|null);

                        /** ToolUse inputActionParameters */
                        inputActionParameters?: (google.protobuf.IStruct|null);

                        /** ToolUse outputActionParameters */
                        outputActionParameters?: (google.protobuf.IStruct|null);
                    }

                    /** Represents a ToolUse. */
                    class ToolUse implements IToolUse {

                        /**
                         * Constructs a new ToolUse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IToolUse);

                        /** ToolUse tool. */
                        public tool: string;

                        /** ToolUse displayName. */
                        public displayName: string;

                        /** ToolUse action. */
                        public action: string;

                        /** ToolUse inputActionParameters. */
                        public inputActionParameters?: (google.protobuf.IStruct|null);

                        /** ToolUse outputActionParameters. */
                        public outputActionParameters?: (google.protobuf.IStruct|null);

                        /**
                         * Creates a new ToolUse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ToolUse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IToolUse): google.cloud.dialogflow.cx.v3beta1.ToolUse;

                        /**
                         * Encodes the specified ToolUse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ToolUse.verify|verify} messages.
                         * @param message ToolUse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IToolUse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ToolUse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ToolUse.verify|verify} messages.
                         * @param message ToolUse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IToolUse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ToolUse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ToolUse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ToolUse;

                        /**
                         * Decodes a ToolUse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ToolUse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ToolUse;

                        /**
                         * Verifies a ToolUse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ToolUse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ToolUse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ToolUse;

                        /**
                         * Creates a plain object from a ToolUse message. Also converts values to other types if specified.
                         * @param message ToolUse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ToolUse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ToolUse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ToolUse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a PlaybookInvocation. */
                    interface IPlaybookInvocation {

                        /** PlaybookInvocation playbook */
                        playbook?: (string|null);

                        /** PlaybookInvocation displayName */
                        displayName?: (string|null);

                        /** PlaybookInvocation playbookInput */
                        playbookInput?: (google.cloud.dialogflow.cx.v3beta1.IPlaybookInput|null);

                        /** PlaybookInvocation playbookOutput */
                        playbookOutput?: (google.cloud.dialogflow.cx.v3beta1.IPlaybookOutput|null);

                        /** PlaybookInvocation playbookState */
                        playbookState?: (google.cloud.dialogflow.cx.v3beta1.OutputState|keyof typeof google.cloud.dialogflow.cx.v3beta1.OutputState|null);
                    }

                    /** Represents a PlaybookInvocation. */
                    class PlaybookInvocation implements IPlaybookInvocation {

                        /**
                         * Constructs a new PlaybookInvocation.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IPlaybookInvocation);

                        /** PlaybookInvocation playbook. */
                        public playbook: string;

                        /** PlaybookInvocation displayName. */
                        public displayName: string;

                        /** PlaybookInvocation playbookInput. */
                        public playbookInput?: (google.cloud.dialogflow.cx.v3beta1.IPlaybookInput|null);

                        /** PlaybookInvocation playbookOutput. */
                        public playbookOutput?: (google.cloud.dialogflow.cx.v3beta1.IPlaybookOutput|null);

                        /** PlaybookInvocation playbookState. */
                        public playbookState: (google.cloud.dialogflow.cx.v3beta1.OutputState|keyof typeof google.cloud.dialogflow.cx.v3beta1.OutputState);

                        /**
                         * Creates a new PlaybookInvocation instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns PlaybookInvocation instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IPlaybookInvocation): google.cloud.dialogflow.cx.v3beta1.PlaybookInvocation;

                        /**
                         * Encodes the specified PlaybookInvocation message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.PlaybookInvocation.verify|verify} messages.
                         * @param message PlaybookInvocation message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IPlaybookInvocation, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified PlaybookInvocation message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.PlaybookInvocation.verify|verify} messages.
                         * @param message PlaybookInvocation message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IPlaybookInvocation, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a PlaybookInvocation message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns PlaybookInvocation
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.PlaybookInvocation;

                        /**
                         * Decodes a PlaybookInvocation message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns PlaybookInvocation
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.PlaybookInvocation;

                        /**
                         * Verifies a PlaybookInvocation message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a PlaybookInvocation message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns PlaybookInvocation
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.PlaybookInvocation;

                        /**
                         * Creates a plain object from a PlaybookInvocation message. Also converts values to other types if specified.
                         * @param message PlaybookInvocation
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.PlaybookInvocation, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this PlaybookInvocation to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for PlaybookInvocation
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a FlowInvocation. */
                    interface IFlowInvocation {

                        /** FlowInvocation flow */
                        flow?: (string|null);

                        /** FlowInvocation displayName */
                        displayName?: (string|null);

                        /** FlowInvocation inputActionParameters */
                        inputActionParameters?: (google.protobuf.IStruct|null);

                        /** FlowInvocation outputActionParameters */
                        outputActionParameters?: (google.protobuf.IStruct|null);

                        /** FlowInvocation flowState */
                        flowState?: (google.cloud.dialogflow.cx.v3beta1.OutputState|keyof typeof google.cloud.dialogflow.cx.v3beta1.OutputState|null);
                    }

                    /** Represents a FlowInvocation. */
                    class FlowInvocation implements IFlowInvocation {

                        /**
                         * Constructs a new FlowInvocation.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IFlowInvocation);

                        /** FlowInvocation flow. */
                        public flow: string;

                        /** FlowInvocation displayName. */
                        public displayName: string;

                        /** FlowInvocation inputActionParameters. */
                        public inputActionParameters?: (google.protobuf.IStruct|null);

                        /** FlowInvocation outputActionParameters. */
                        public outputActionParameters?: (google.protobuf.IStruct|null);

                        /** FlowInvocation flowState. */
                        public flowState: (google.cloud.dialogflow.cx.v3beta1.OutputState|keyof typeof google.cloud.dialogflow.cx.v3beta1.OutputState);

                        /**
                         * Creates a new FlowInvocation instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns FlowInvocation instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IFlowInvocation): google.cloud.dialogflow.cx.v3beta1.FlowInvocation;

                        /**
                         * Encodes the specified FlowInvocation message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.FlowInvocation.verify|verify} messages.
                         * @param message FlowInvocation message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IFlowInvocation, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified FlowInvocation message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.FlowInvocation.verify|verify} messages.
                         * @param message FlowInvocation message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IFlowInvocation, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a FlowInvocation message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns FlowInvocation
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.FlowInvocation;

                        /**
                         * Decodes a FlowInvocation message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns FlowInvocation
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.FlowInvocation;

                        /**
                         * Verifies a FlowInvocation message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a FlowInvocation message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns FlowInvocation
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.FlowInvocation;

                        /**
                         * Creates a plain object from a FlowInvocation message. Also converts values to other types if specified.
                         * @param message FlowInvocation
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.FlowInvocation, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this FlowInvocation to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for FlowInvocation
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** OutputState enum. */
                    enum OutputState {
                        OUTPUT_STATE_UNSPECIFIED = 0,
                        OUTPUT_STATE_OK = 1,
                        OUTPUT_STATE_CANCELLED = 2,
                        OUTPUT_STATE_FAILED = 3,
                        OUTPUT_STATE_ESCALATED = 4,
                        OUTPUT_STATE_PENDING = 5
                    }

                    /** Represents a SessionEntityTypes */
                    class SessionEntityTypes extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new SessionEntityTypes 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 SessionEntityTypes 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): SessionEntityTypes;

                        /**
                         * Calls ListSessionEntityTypes.
                         * @param request ListSessionEntityTypesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListSessionEntityTypesResponse
                         */
                        public listSessionEntityTypes(request: google.cloud.dialogflow.cx.v3beta1.IListSessionEntityTypesRequest, callback: google.cloud.dialogflow.cx.v3beta1.SessionEntityTypes.ListSessionEntityTypesCallback): void;

                        /**
                         * Calls ListSessionEntityTypes.
                         * @param request ListSessionEntityTypesRequest message or plain object
                         * @returns Promise
                         */
                        public listSessionEntityTypes(request: google.cloud.dialogflow.cx.v3beta1.IListSessionEntityTypesRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesResponse>;

                        /**
                         * Calls GetSessionEntityType.
                         * @param request GetSessionEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and SessionEntityType
                         */
                        public getSessionEntityType(request: google.cloud.dialogflow.cx.v3beta1.IGetSessionEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3beta1.SessionEntityTypes.GetSessionEntityTypeCallback): void;

                        /**
                         * Calls GetSessionEntityType.
                         * @param request GetSessionEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public getSessionEntityType(request: google.cloud.dialogflow.cx.v3beta1.IGetSessionEntityTypeRequest): Promise<google.cloud.dialogflow.cx.v3beta1.SessionEntityType>;

                        /**
                         * Calls CreateSessionEntityType.
                         * @param request CreateSessionEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and SessionEntityType
                         */
                        public createSessionEntityType(request: google.cloud.dialogflow.cx.v3beta1.ICreateSessionEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3beta1.SessionEntityTypes.CreateSessionEntityTypeCallback): void;

                        /**
                         * Calls CreateSessionEntityType.
                         * @param request CreateSessionEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public createSessionEntityType(request: google.cloud.dialogflow.cx.v3beta1.ICreateSessionEntityTypeRequest): Promise<google.cloud.dialogflow.cx.v3beta1.SessionEntityType>;

                        /**
                         * Calls UpdateSessionEntityType.
                         * @param request UpdateSessionEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and SessionEntityType
                         */
                        public updateSessionEntityType(request: google.cloud.dialogflow.cx.v3beta1.IUpdateSessionEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3beta1.SessionEntityTypes.UpdateSessionEntityTypeCallback): void;

                        /**
                         * Calls UpdateSessionEntityType.
                         * @param request UpdateSessionEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public updateSessionEntityType(request: google.cloud.dialogflow.cx.v3beta1.IUpdateSessionEntityTypeRequest): Promise<google.cloud.dialogflow.cx.v3beta1.SessionEntityType>;

                        /**
                         * Calls DeleteSessionEntityType.
                         * @param request DeleteSessionEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteSessionEntityType(request: google.cloud.dialogflow.cx.v3beta1.IDeleteSessionEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3beta1.SessionEntityTypes.DeleteSessionEntityTypeCallback): void;

                        /**
                         * Calls DeleteSessionEntityType.
                         * @param request DeleteSessionEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public deleteSessionEntityType(request: google.cloud.dialogflow.cx.v3beta1.IDeleteSessionEntityTypeRequest): Promise<google.protobuf.Empty>;
                    }

                    namespace SessionEntityTypes {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.SessionEntityTypes|listSessionEntityTypes}.
                         * @param error Error, if any
                         * @param [response] ListSessionEntityTypesResponse
                         */
                        type ListSessionEntityTypesCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.SessionEntityTypes|getSessionEntityType}.
                         * @param error Error, if any
                         * @param [response] SessionEntityType
                         */
                        type GetSessionEntityTypeCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.SessionEntityType) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.SessionEntityTypes|createSessionEntityType}.
                         * @param error Error, if any
                         * @param [response] SessionEntityType
                         */
                        type CreateSessionEntityTypeCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.SessionEntityType) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.SessionEntityTypes|updateSessionEntityType}.
                         * @param error Error, if any
                         * @param [response] SessionEntityType
                         */
                        type UpdateSessionEntityTypeCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.SessionEntityType) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.SessionEntityTypes|deleteSessionEntityType}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteSessionEntityTypeCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                    }

                    /** Properties of a SessionEntityType. */
                    interface ISessionEntityType {

                        /** SessionEntityType name */
                        name?: (string|null);

                        /** SessionEntityType entityOverrideMode */
                        entityOverrideMode?: (google.cloud.dialogflow.cx.v3beta1.SessionEntityType.EntityOverrideMode|keyof typeof google.cloud.dialogflow.cx.v3beta1.SessionEntityType.EntityOverrideMode|null);

                        /** SessionEntityType entities */
                        entities?: (google.cloud.dialogflow.cx.v3beta1.EntityType.IEntity[]|null);
                    }

                    /** Represents a SessionEntityType. */
                    class SessionEntityType implements ISessionEntityType {

                        /**
                         * Constructs a new SessionEntityType.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ISessionEntityType);

                        /** SessionEntityType name. */
                        public name: string;

                        /** SessionEntityType entityOverrideMode. */
                        public entityOverrideMode: (google.cloud.dialogflow.cx.v3beta1.SessionEntityType.EntityOverrideMode|keyof typeof google.cloud.dialogflow.cx.v3beta1.SessionEntityType.EntityOverrideMode);

                        /** SessionEntityType entities. */
                        public entities: google.cloud.dialogflow.cx.v3beta1.EntityType.IEntity[];

                        /**
                         * Creates a new SessionEntityType instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SessionEntityType instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ISessionEntityType): google.cloud.dialogflow.cx.v3beta1.SessionEntityType;

                        /**
                         * Encodes the specified SessionEntityType message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SessionEntityType.verify|verify} messages.
                         * @param message SessionEntityType message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ISessionEntityType, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SessionEntityType message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SessionEntityType.verify|verify} messages.
                         * @param message SessionEntityType message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ISessionEntityType, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SessionEntityType message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SessionEntityType
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.SessionEntityType;

                        /**
                         * Decodes a SessionEntityType message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SessionEntityType
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.SessionEntityType;

                        /**
                         * Verifies a SessionEntityType message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SessionEntityType message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SessionEntityType
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.SessionEntityType;

                        /**
                         * Creates a plain object from a SessionEntityType message. Also converts values to other types if specified.
                         * @param message SessionEntityType
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.SessionEntityType, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SessionEntityType to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SessionEntityType
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace SessionEntityType {

                        /** EntityOverrideMode enum. */
                        enum EntityOverrideMode {
                            ENTITY_OVERRIDE_MODE_UNSPECIFIED = 0,
                            ENTITY_OVERRIDE_MODE_OVERRIDE = 1,
                            ENTITY_OVERRIDE_MODE_SUPPLEMENT = 2
                        }
                    }

                    /** Properties of a ListSessionEntityTypesRequest. */
                    interface IListSessionEntityTypesRequest {

                        /** ListSessionEntityTypesRequest parent */
                        parent?: (string|null);

                        /** ListSessionEntityTypesRequest pageSize */
                        pageSize?: (number|null);

                        /** ListSessionEntityTypesRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListSessionEntityTypesRequest. */
                    class ListSessionEntityTypesRequest implements IListSessionEntityTypesRequest {

                        /**
                         * Constructs a new ListSessionEntityTypesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListSessionEntityTypesRequest);

                        /** ListSessionEntityTypesRequest parent. */
                        public parent: string;

                        /** ListSessionEntityTypesRequest pageSize. */
                        public pageSize: number;

                        /** ListSessionEntityTypesRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListSessionEntityTypesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListSessionEntityTypesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListSessionEntityTypesRequest): google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesRequest;

                        /**
                         * Encodes the specified ListSessionEntityTypesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesRequest.verify|verify} messages.
                         * @param message ListSessionEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListSessionEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListSessionEntityTypesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesRequest.verify|verify} messages.
                         * @param message ListSessionEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListSessionEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListSessionEntityTypesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListSessionEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesRequest;

                        /**
                         * Decodes a ListSessionEntityTypesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListSessionEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesRequest;

                        /**
                         * Verifies a ListSessionEntityTypesRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListSessionEntityTypesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListSessionEntityTypesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesRequest;

                        /**
                         * Creates a plain object from a ListSessionEntityTypesRequest message. Also converts values to other types if specified.
                         * @param message ListSessionEntityTypesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListSessionEntityTypesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListSessionEntityTypesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListSessionEntityTypesResponse. */
                    interface IListSessionEntityTypesResponse {

                        /** ListSessionEntityTypesResponse sessionEntityTypes */
                        sessionEntityTypes?: (google.cloud.dialogflow.cx.v3beta1.ISessionEntityType[]|null);

                        /** ListSessionEntityTypesResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListSessionEntityTypesResponse. */
                    class ListSessionEntityTypesResponse implements IListSessionEntityTypesResponse {

                        /**
                         * Constructs a new ListSessionEntityTypesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListSessionEntityTypesResponse);

                        /** ListSessionEntityTypesResponse sessionEntityTypes. */
                        public sessionEntityTypes: google.cloud.dialogflow.cx.v3beta1.ISessionEntityType[];

                        /** ListSessionEntityTypesResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListSessionEntityTypesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListSessionEntityTypesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListSessionEntityTypesResponse): google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesResponse;

                        /**
                         * Encodes the specified ListSessionEntityTypesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesResponse.verify|verify} messages.
                         * @param message ListSessionEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListSessionEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListSessionEntityTypesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesResponse.verify|verify} messages.
                         * @param message ListSessionEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListSessionEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListSessionEntityTypesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListSessionEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesResponse;

                        /**
                         * Decodes a ListSessionEntityTypesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListSessionEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesResponse;

                        /**
                         * Verifies a ListSessionEntityTypesResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListSessionEntityTypesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListSessionEntityTypesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesResponse;

                        /**
                         * Creates a plain object from a ListSessionEntityTypesResponse message. Also converts values to other types if specified.
                         * @param message ListSessionEntityTypesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListSessionEntityTypesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListSessionEntityTypesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListSessionEntityTypesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetSessionEntityTypeRequest. */
                    interface IGetSessionEntityTypeRequest {

                        /** GetSessionEntityTypeRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetSessionEntityTypeRequest. */
                    class GetSessionEntityTypeRequest implements IGetSessionEntityTypeRequest {

                        /**
                         * Constructs a new GetSessionEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetSessionEntityTypeRequest);

                        /** GetSessionEntityTypeRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetSessionEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetSessionEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetSessionEntityTypeRequest): google.cloud.dialogflow.cx.v3beta1.GetSessionEntityTypeRequest;

                        /**
                         * Encodes the specified GetSessionEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetSessionEntityTypeRequest.verify|verify} messages.
                         * @param message GetSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetSessionEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetSessionEntityTypeRequest.verify|verify} messages.
                         * @param message GetSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetSessionEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetSessionEntityTypeRequest;

                        /**
                         * Decodes a GetSessionEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetSessionEntityTypeRequest;

                        /**
                         * Verifies a GetSessionEntityTypeRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetSessionEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetSessionEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetSessionEntityTypeRequest;

                        /**
                         * Creates a plain object from a GetSessionEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message GetSessionEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetSessionEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetSessionEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetSessionEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateSessionEntityTypeRequest. */
                    interface ICreateSessionEntityTypeRequest {

                        /** CreateSessionEntityTypeRequest parent */
                        parent?: (string|null);

                        /** CreateSessionEntityTypeRequest sessionEntityType */
                        sessionEntityType?: (google.cloud.dialogflow.cx.v3beta1.ISessionEntityType|null);
                    }

                    /** Represents a CreateSessionEntityTypeRequest. */
                    class CreateSessionEntityTypeRequest implements ICreateSessionEntityTypeRequest {

                        /**
                         * Constructs a new CreateSessionEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateSessionEntityTypeRequest);

                        /** CreateSessionEntityTypeRequest parent. */
                        public parent: string;

                        /** CreateSessionEntityTypeRequest sessionEntityType. */
                        public sessionEntityType?: (google.cloud.dialogflow.cx.v3beta1.ISessionEntityType|null);

                        /**
                         * Creates a new CreateSessionEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateSessionEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateSessionEntityTypeRequest): google.cloud.dialogflow.cx.v3beta1.CreateSessionEntityTypeRequest;

                        /**
                         * Encodes the specified CreateSessionEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateSessionEntityTypeRequest.verify|verify} messages.
                         * @param message CreateSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateSessionEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateSessionEntityTypeRequest.verify|verify} messages.
                         * @param message CreateSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateSessionEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateSessionEntityTypeRequest;

                        /**
                         * Decodes a CreateSessionEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateSessionEntityTypeRequest;

                        /**
                         * Verifies a CreateSessionEntityTypeRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateSessionEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateSessionEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateSessionEntityTypeRequest;

                        /**
                         * Creates a plain object from a CreateSessionEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message CreateSessionEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateSessionEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateSessionEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateSessionEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateSessionEntityTypeRequest. */
                    interface IUpdateSessionEntityTypeRequest {

                        /** UpdateSessionEntityTypeRequest sessionEntityType */
                        sessionEntityType?: (google.cloud.dialogflow.cx.v3beta1.ISessionEntityType|null);

                        /** UpdateSessionEntityTypeRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateSessionEntityTypeRequest. */
                    class UpdateSessionEntityTypeRequest implements IUpdateSessionEntityTypeRequest {

                        /**
                         * Constructs a new UpdateSessionEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateSessionEntityTypeRequest);

                        /** UpdateSessionEntityTypeRequest sessionEntityType. */
                        public sessionEntityType?: (google.cloud.dialogflow.cx.v3beta1.ISessionEntityType|null);

                        /** UpdateSessionEntityTypeRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateSessionEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateSessionEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateSessionEntityTypeRequest): google.cloud.dialogflow.cx.v3beta1.UpdateSessionEntityTypeRequest;

                        /**
                         * Encodes the specified UpdateSessionEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateSessionEntityTypeRequest.verify|verify} messages.
                         * @param message UpdateSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateSessionEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateSessionEntityTypeRequest.verify|verify} messages.
                         * @param message UpdateSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateSessionEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateSessionEntityTypeRequest;

                        /**
                         * Decodes an UpdateSessionEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateSessionEntityTypeRequest;

                        /**
                         * Verifies an UpdateSessionEntityTypeRequest message.
                         * @param message Plain 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 UpdateSessionEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateSessionEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateSessionEntityTypeRequest;

                        /**
                         * Creates a plain object from an UpdateSessionEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message UpdateSessionEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateSessionEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateSessionEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateSessionEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteSessionEntityTypeRequest. */
                    interface IDeleteSessionEntityTypeRequest {

                        /** DeleteSessionEntityTypeRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeleteSessionEntityTypeRequest. */
                    class DeleteSessionEntityTypeRequest implements IDeleteSessionEntityTypeRequest {

                        /**
                         * Constructs a new DeleteSessionEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteSessionEntityTypeRequest);

                        /** DeleteSessionEntityTypeRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeleteSessionEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteSessionEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteSessionEntityTypeRequest): google.cloud.dialogflow.cx.v3beta1.DeleteSessionEntityTypeRequest;

                        /**
                         * Encodes the specified DeleteSessionEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteSessionEntityTypeRequest.verify|verify} messages.
                         * @param message DeleteSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteSessionEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteSessionEntityTypeRequest.verify|verify} messages.
                         * @param message DeleteSessionEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteSessionEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteSessionEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteSessionEntityTypeRequest;

                        /**
                         * Decodes a DeleteSessionEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteSessionEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteSessionEntityTypeRequest;

                        /**
                         * Verifies a DeleteSessionEntityTypeRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteSessionEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteSessionEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteSessionEntityTypeRequest;

                        /**
                         * Creates a plain object from a DeleteSessionEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message DeleteSessionEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteSessionEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteSessionEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteSessionEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents an EntityTypes */
                    class EntityTypes extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new EntityTypes 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 EntityTypes 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): EntityTypes;

                        /**
                         * Calls GetEntityType.
                         * @param request GetEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and EntityType
                         */
                        public getEntityType(request: google.cloud.dialogflow.cx.v3beta1.IGetEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3beta1.EntityTypes.GetEntityTypeCallback): void;

                        /**
                         * Calls GetEntityType.
                         * @param request GetEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public getEntityType(request: google.cloud.dialogflow.cx.v3beta1.IGetEntityTypeRequest): Promise<google.cloud.dialogflow.cx.v3beta1.EntityType>;

                        /**
                         * Calls CreateEntityType.
                         * @param request CreateEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and EntityType
                         */
                        public createEntityType(request: google.cloud.dialogflow.cx.v3beta1.ICreateEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3beta1.EntityTypes.CreateEntityTypeCallback): void;

                        /**
                         * Calls CreateEntityType.
                         * @param request CreateEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public createEntityType(request: google.cloud.dialogflow.cx.v3beta1.ICreateEntityTypeRequest): Promise<google.cloud.dialogflow.cx.v3beta1.EntityType>;

                        /**
                         * Calls UpdateEntityType.
                         * @param request UpdateEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and EntityType
                         */
                        public updateEntityType(request: google.cloud.dialogflow.cx.v3beta1.IUpdateEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3beta1.EntityTypes.UpdateEntityTypeCallback): void;

                        /**
                         * Calls UpdateEntityType.
                         * @param request UpdateEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public updateEntityType(request: google.cloud.dialogflow.cx.v3beta1.IUpdateEntityTypeRequest): Promise<google.cloud.dialogflow.cx.v3beta1.EntityType>;

                        /**
                         * Calls DeleteEntityType.
                         * @param request DeleteEntityTypeRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteEntityType(request: google.cloud.dialogflow.cx.v3beta1.IDeleteEntityTypeRequest, callback: google.cloud.dialogflow.cx.v3beta1.EntityTypes.DeleteEntityTypeCallback): void;

                        /**
                         * Calls DeleteEntityType.
                         * @param request DeleteEntityTypeRequest message or plain object
                         * @returns Promise
                         */
                        public deleteEntityType(request: google.cloud.dialogflow.cx.v3beta1.IDeleteEntityTypeRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls ListEntityTypes.
                         * @param request ListEntityTypesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListEntityTypesResponse
                         */
                        public listEntityTypes(request: google.cloud.dialogflow.cx.v3beta1.IListEntityTypesRequest, callback: google.cloud.dialogflow.cx.v3beta1.EntityTypes.ListEntityTypesCallback): void;

                        /**
                         * Calls ListEntityTypes.
                         * @param request ListEntityTypesRequest message or plain object
                         * @returns Promise
                         */
                        public listEntityTypes(request: google.cloud.dialogflow.cx.v3beta1.IListEntityTypesRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListEntityTypesResponse>;

                        /**
                         * Calls ExportEntityTypes.
                         * @param request ExportEntityTypesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public exportEntityTypes(request: google.cloud.dialogflow.cx.v3beta1.IExportEntityTypesRequest, callback: google.cloud.dialogflow.cx.v3beta1.EntityTypes.ExportEntityTypesCallback): void;

                        /**
                         * Calls ExportEntityTypes.
                         * @param request ExportEntityTypesRequest message or plain object
                         * @returns Promise
                         */
                        public exportEntityTypes(request: google.cloud.dialogflow.cx.v3beta1.IExportEntityTypesRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls ImportEntityTypes.
                         * @param request ImportEntityTypesRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public importEntityTypes(request: google.cloud.dialogflow.cx.v3beta1.IImportEntityTypesRequest, callback: google.cloud.dialogflow.cx.v3beta1.EntityTypes.ImportEntityTypesCallback): void;

                        /**
                         * Calls ImportEntityTypes.
                         * @param request ImportEntityTypesRequest message or plain object
                         * @returns Promise
                         */
                        public importEntityTypes(request: google.cloud.dialogflow.cx.v3beta1.IImportEntityTypesRequest): Promise<google.longrunning.Operation>;
                    }

                    namespace EntityTypes {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.EntityTypes|getEntityType}.
                         * @param error Error, if any
                         * @param [response] EntityType
                         */
                        type GetEntityTypeCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.EntityType) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.EntityTypes|createEntityType}.
                         * @param error Error, if any
                         * @param [response] EntityType
                         */
                        type CreateEntityTypeCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.EntityType) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.EntityTypes|updateEntityType}.
                         * @param error Error, if any
                         * @param [response] EntityType
                         */
                        type UpdateEntityTypeCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.EntityType) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.EntityTypes|deleteEntityType}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteEntityTypeCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.EntityTypes|listEntityTypes}.
                         * @param error Error, if any
                         * @param [response] ListEntityTypesResponse
                         */
                        type ListEntityTypesCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListEntityTypesResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.EntityTypes|exportEntityTypes}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ExportEntityTypesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.EntityTypes|importEntityTypes}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ImportEntityTypesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
                    }

                    /** Properties of an EntityType. */
                    interface IEntityType {

                        /** EntityType name */
                        name?: (string|null);

                        /** EntityType displayName */
                        displayName?: (string|null);

                        /** EntityType kind */
                        kind?: (google.cloud.dialogflow.cx.v3beta1.EntityType.Kind|keyof typeof google.cloud.dialogflow.cx.v3beta1.EntityType.Kind|null);

                        /** EntityType autoExpansionMode */
                        autoExpansionMode?: (google.cloud.dialogflow.cx.v3beta1.EntityType.AutoExpansionMode|keyof typeof google.cloud.dialogflow.cx.v3beta1.EntityType.AutoExpansionMode|null);

                        /** EntityType entities */
                        entities?: (google.cloud.dialogflow.cx.v3beta1.EntityType.IEntity[]|null);

                        /** EntityType excludedPhrases */
                        excludedPhrases?: (google.cloud.dialogflow.cx.v3beta1.EntityType.IExcludedPhrase[]|null);

                        /** EntityType enableFuzzyExtraction */
                        enableFuzzyExtraction?: (boolean|null);

                        /** EntityType redact */
                        redact?: (boolean|null);
                    }

                    /** Represents an EntityType. */
                    class EntityType implements IEntityType {

                        /**
                         * Constructs a new EntityType.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IEntityType);

                        /** EntityType name. */
                        public name: string;

                        /** EntityType displayName. */
                        public displayName: string;

                        /** EntityType kind. */
                        public kind: (google.cloud.dialogflow.cx.v3beta1.EntityType.Kind|keyof typeof google.cloud.dialogflow.cx.v3beta1.EntityType.Kind);

                        /** EntityType autoExpansionMode. */
                        public autoExpansionMode: (google.cloud.dialogflow.cx.v3beta1.EntityType.AutoExpansionMode|keyof typeof google.cloud.dialogflow.cx.v3beta1.EntityType.AutoExpansionMode);

                        /** EntityType entities. */
                        public entities: google.cloud.dialogflow.cx.v3beta1.EntityType.IEntity[];

                        /** EntityType excludedPhrases. */
                        public excludedPhrases: google.cloud.dialogflow.cx.v3beta1.EntityType.IExcludedPhrase[];

                        /** EntityType enableFuzzyExtraction. */
                        public enableFuzzyExtraction: boolean;

                        /** EntityType redact. */
                        public redact: boolean;

                        /**
                         * Creates a new EntityType instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns EntityType instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IEntityType): google.cloud.dialogflow.cx.v3beta1.EntityType;

                        /**
                         * Encodes the specified EntityType message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.EntityType.verify|verify} messages.
                         * @param message EntityType message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IEntityType, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified EntityType message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.EntityType.verify|verify} messages.
                         * @param message EntityType message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IEntityType, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an EntityType message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns EntityType
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.EntityType;

                        /**
                         * Decodes an EntityType message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns EntityType
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.EntityType;

                        /**
                         * Verifies an EntityType message.
                         * @param message Plain 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 EntityType message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns EntityType
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.EntityType;

                        /**
                         * Creates a plain object from an EntityType message. Also converts values to other types if specified.
                         * @param message EntityType
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.EntityType, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this EntityType to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for EntityType
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace EntityType {

                        /** Kind enum. */
                        enum Kind {
                            KIND_UNSPECIFIED = 0,
                            KIND_MAP = 1,
                            KIND_LIST = 2,
                            KIND_REGEXP = 3
                        }

                        /** AutoExpansionMode enum. */
                        enum AutoExpansionMode {
                            AUTO_EXPANSION_MODE_UNSPECIFIED = 0,
                            AUTO_EXPANSION_MODE_DEFAULT = 1
                        }

                        /** Properties of an Entity. */
                        interface IEntity {

                            /** Entity value */
                            value?: (string|null);

                            /** Entity synonyms */
                            synonyms?: (string[]|null);
                        }

                        /** Represents an Entity. */
                        class Entity implements IEntity {

                            /**
                             * Constructs a new Entity.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.EntityType.IEntity);

                            /** Entity value. */
                            public value: string;

                            /** Entity synonyms. */
                            public synonyms: string[];

                            /**
                             * Creates a new Entity instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Entity instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.EntityType.IEntity): google.cloud.dialogflow.cx.v3beta1.EntityType.Entity;

                            /**
                             * Encodes the specified Entity message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.EntityType.Entity.verify|verify} messages.
                             * @param message Entity message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.EntityType.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Entity message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.EntityType.Entity.verify|verify} messages.
                             * @param message Entity message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.EntityType.IEntity, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an Entity message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Entity
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.EntityType.Entity;

                            /**
                             * Decodes an Entity message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Entity
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.EntityType.Entity;

                            /**
                             * Verifies an Entity message.
                             * @param message Plain 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 Entity message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Entity
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.EntityType.Entity;

                            /**
                             * Creates a plain object from an Entity message. Also converts values to other types if specified.
                             * @param message Entity
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.EntityType.Entity, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Entity to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Entity
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of an ExcludedPhrase. */
                        interface IExcludedPhrase {

                            /** ExcludedPhrase value */
                            value?: (string|null);
                        }

                        /** Represents an ExcludedPhrase. */
                        class ExcludedPhrase implements IExcludedPhrase {

                            /**
                             * Constructs a new ExcludedPhrase.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.EntityType.IExcludedPhrase);

                            /** ExcludedPhrase value. */
                            public value: string;

                            /**
                             * Creates a new ExcludedPhrase instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ExcludedPhrase instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.EntityType.IExcludedPhrase): google.cloud.dialogflow.cx.v3beta1.EntityType.ExcludedPhrase;

                            /**
                             * Encodes the specified ExcludedPhrase message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.EntityType.ExcludedPhrase.verify|verify} messages.
                             * @param message ExcludedPhrase message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.EntityType.IExcludedPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ExcludedPhrase message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.EntityType.ExcludedPhrase.verify|verify} messages.
                             * @param message ExcludedPhrase message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.EntityType.IExcludedPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an ExcludedPhrase message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ExcludedPhrase
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.EntityType.ExcludedPhrase;

                            /**
                             * Decodes an ExcludedPhrase message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ExcludedPhrase
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.EntityType.ExcludedPhrase;

                            /**
                             * Verifies an ExcludedPhrase message.
                             * @param message Plain 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 ExcludedPhrase message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ExcludedPhrase
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.EntityType.ExcludedPhrase;

                            /**
                             * Creates a plain object from an ExcludedPhrase message. Also converts values to other types if specified.
                             * @param message ExcludedPhrase
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.EntityType.ExcludedPhrase, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ExcludedPhrase to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ExcludedPhrase
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of an ExportEntityTypesRequest. */
                    interface IExportEntityTypesRequest {

                        /** ExportEntityTypesRequest parent */
                        parent?: (string|null);

                        /** ExportEntityTypesRequest entityTypes */
                        entityTypes?: (string[]|null);

                        /** ExportEntityTypesRequest entityTypesUri */
                        entityTypesUri?: (string|null);

                        /** ExportEntityTypesRequest entityTypesContentInline */
                        entityTypesContentInline?: (boolean|null);

                        /** ExportEntityTypesRequest dataFormat */
                        dataFormat?: (google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesRequest.DataFormat|null);

                        /** ExportEntityTypesRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents an ExportEntityTypesRequest. */
                    class ExportEntityTypesRequest implements IExportEntityTypesRequest {

                        /**
                         * Constructs a new ExportEntityTypesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportEntityTypesRequest);

                        /** ExportEntityTypesRequest parent. */
                        public parent: string;

                        /** ExportEntityTypesRequest entityTypes. */
                        public entityTypes: string[];

                        /** ExportEntityTypesRequest entityTypesUri. */
                        public entityTypesUri?: (string|null);

                        /** ExportEntityTypesRequest entityTypesContentInline. */
                        public entityTypesContentInline?: (boolean|null);

                        /** ExportEntityTypesRequest dataFormat. */
                        public dataFormat: (google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesRequest.DataFormat);

                        /** ExportEntityTypesRequest languageCode. */
                        public languageCode: string;

                        /** ExportEntityTypesRequest destination. */
                        public destination?: ("entityTypesUri"|"entityTypesContentInline");

                        /**
                         * Creates a new ExportEntityTypesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportEntityTypesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportEntityTypesRequest): google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesRequest;

                        /**
                         * Encodes the specified ExportEntityTypesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesRequest.verify|verify} messages.
                         * @param message ExportEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportEntityTypesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesRequest.verify|verify} messages.
                         * @param message ExportEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportEntityTypesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesRequest;

                        /**
                         * Decodes an ExportEntityTypesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesRequest;

                        /**
                         * Verifies an ExportEntityTypesRequest message.
                         * @param message Plain 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 ExportEntityTypesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportEntityTypesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesRequest;

                        /**
                         * Creates a plain object from an ExportEntityTypesRequest message. Also converts values to other types if specified.
                         * @param message ExportEntityTypesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportEntityTypesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportEntityTypesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ExportEntityTypesRequest {

                        /** DataFormat enum. */
                        enum DataFormat {
                            DATA_FORMAT_UNSPECIFIED = 0,
                            BLOB = 1,
                            JSON_PACKAGE = 5
                        }
                    }

                    /** Properties of an ExportEntityTypesResponse. */
                    interface IExportEntityTypesResponse {

                        /** ExportEntityTypesResponse entityTypesUri */
                        entityTypesUri?: (string|null);

                        /** ExportEntityTypesResponse entityTypesContent */
                        entityTypesContent?: (google.cloud.dialogflow.cx.v3beta1.IInlineDestination|null);
                    }

                    /** Represents an ExportEntityTypesResponse. */
                    class ExportEntityTypesResponse implements IExportEntityTypesResponse {

                        /**
                         * Constructs a new ExportEntityTypesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportEntityTypesResponse);

                        /** ExportEntityTypesResponse entityTypesUri. */
                        public entityTypesUri?: (string|null);

                        /** ExportEntityTypesResponse entityTypesContent. */
                        public entityTypesContent?: (google.cloud.dialogflow.cx.v3beta1.IInlineDestination|null);

                        /** ExportEntityTypesResponse exportedEntityTypes. */
                        public exportedEntityTypes?: ("entityTypesUri"|"entityTypesContent");

                        /**
                         * Creates a new ExportEntityTypesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportEntityTypesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportEntityTypesResponse): google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesResponse;

                        /**
                         * Encodes the specified ExportEntityTypesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesResponse.verify|verify} messages.
                         * @param message ExportEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportEntityTypesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesResponse.verify|verify} messages.
                         * @param message ExportEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportEntityTypesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesResponse;

                        /**
                         * Decodes an ExportEntityTypesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesResponse;

                        /**
                         * Verifies an ExportEntityTypesResponse message.
                         * @param message Plain 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 ExportEntityTypesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportEntityTypesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesResponse;

                        /**
                         * Creates a plain object from an ExportEntityTypesResponse message. Also converts values to other types if specified.
                         * @param message ExportEntityTypesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportEntityTypesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportEntityTypesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ExportEntityTypesMetadata. */
                    interface IExportEntityTypesMetadata {
                    }

                    /** Represents an ExportEntityTypesMetadata. */
                    class ExportEntityTypesMetadata implements IExportEntityTypesMetadata {

                        /**
                         * Constructs a new ExportEntityTypesMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportEntityTypesMetadata);

                        /**
                         * Creates a new ExportEntityTypesMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportEntityTypesMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportEntityTypesMetadata): google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesMetadata;

                        /**
                         * Encodes the specified ExportEntityTypesMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesMetadata.verify|verify} messages.
                         * @param message ExportEntityTypesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportEntityTypesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportEntityTypesMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesMetadata.verify|verify} messages.
                         * @param message ExportEntityTypesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportEntityTypesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportEntityTypesMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportEntityTypesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesMetadata;

                        /**
                         * Decodes an ExportEntityTypesMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportEntityTypesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesMetadata;

                        /**
                         * Verifies an ExportEntityTypesMetadata message.
                         * @param message Plain 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 ExportEntityTypesMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportEntityTypesMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesMetadata;

                        /**
                         * Creates a plain object from an ExportEntityTypesMetadata message. Also converts values to other types if specified.
                         * @param message ExportEntityTypesMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportEntityTypesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportEntityTypesMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportEntityTypesMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ImportEntityTypesRequest. */
                    interface IImportEntityTypesRequest {

                        /** ImportEntityTypesRequest parent */
                        parent?: (string|null);

                        /** ImportEntityTypesRequest entityTypesUri */
                        entityTypesUri?: (string|null);

                        /** ImportEntityTypesRequest entityTypesContent */
                        entityTypesContent?: (google.cloud.dialogflow.cx.v3beta1.IInlineSource|null);

                        /** ImportEntityTypesRequest mergeOption */
                        mergeOption?: (google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesRequest.MergeOption|keyof typeof google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesRequest.MergeOption|null);

                        /** ImportEntityTypesRequest targetEntityType */
                        targetEntityType?: (string|null);
                    }

                    /** Represents an ImportEntityTypesRequest. */
                    class ImportEntityTypesRequest implements IImportEntityTypesRequest {

                        /**
                         * Constructs a new ImportEntityTypesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IImportEntityTypesRequest);

                        /** ImportEntityTypesRequest parent. */
                        public parent: string;

                        /** ImportEntityTypesRequest entityTypesUri. */
                        public entityTypesUri?: (string|null);

                        /** ImportEntityTypesRequest entityTypesContent. */
                        public entityTypesContent?: (google.cloud.dialogflow.cx.v3beta1.IInlineSource|null);

                        /** ImportEntityTypesRequest mergeOption. */
                        public mergeOption: (google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesRequest.MergeOption|keyof typeof google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesRequest.MergeOption);

                        /** ImportEntityTypesRequest targetEntityType. */
                        public targetEntityType: string;

                        /** ImportEntityTypesRequest entityTypes. */
                        public entityTypes?: ("entityTypesUri"|"entityTypesContent");

                        /**
                         * Creates a new ImportEntityTypesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportEntityTypesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IImportEntityTypesRequest): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesRequest;

                        /**
                         * Encodes the specified ImportEntityTypesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesRequest.verify|verify} messages.
                         * @param message ImportEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IImportEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportEntityTypesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesRequest.verify|verify} messages.
                         * @param message ImportEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IImportEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportEntityTypesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesRequest;

                        /**
                         * Decodes an ImportEntityTypesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesRequest;

                        /**
                         * Verifies an ImportEntityTypesRequest message.
                         * @param message Plain 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 ImportEntityTypesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportEntityTypesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesRequest;

                        /**
                         * Creates a plain object from an ImportEntityTypesRequest message. Also converts values to other types if specified.
                         * @param message ImportEntityTypesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportEntityTypesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportEntityTypesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ImportEntityTypesRequest {

                        /** MergeOption enum. */
                        enum MergeOption {
                            MERGE_OPTION_UNSPECIFIED = 0,
                            REPLACE = 1,
                            MERGE = 2,
                            RENAME = 3,
                            REPORT_CONFLICT = 4,
                            KEEP = 5
                        }
                    }

                    /** Properties of an ImportEntityTypesResponse. */
                    interface IImportEntityTypesResponse {

                        /** ImportEntityTypesResponse entityTypes */
                        entityTypes?: (string[]|null);

                        /** ImportEntityTypesResponse conflictingResources */
                        conflictingResources?: (google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse.IConflictingResources|null);
                    }

                    /** Represents an ImportEntityTypesResponse. */
                    class ImportEntityTypesResponse implements IImportEntityTypesResponse {

                        /**
                         * Constructs a new ImportEntityTypesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IImportEntityTypesResponse);

                        /** ImportEntityTypesResponse entityTypes. */
                        public entityTypes: string[];

                        /** ImportEntityTypesResponse conflictingResources. */
                        public conflictingResources?: (google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse.IConflictingResources|null);

                        /**
                         * Creates a new ImportEntityTypesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportEntityTypesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IImportEntityTypesResponse): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse;

                        /**
                         * Encodes the specified ImportEntityTypesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse.verify|verify} messages.
                         * @param message ImportEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IImportEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportEntityTypesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse.verify|verify} messages.
                         * @param message ImportEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IImportEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportEntityTypesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse;

                        /**
                         * Decodes an ImportEntityTypesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse;

                        /**
                         * Verifies an ImportEntityTypesResponse message.
                         * @param message Plain 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 ImportEntityTypesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportEntityTypesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse;

                        /**
                         * Creates a plain object from an ImportEntityTypesResponse message. Also converts values to other types if specified.
                         * @param message ImportEntityTypesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportEntityTypesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportEntityTypesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ImportEntityTypesResponse {

                        /** Properties of a ConflictingResources. */
                        interface IConflictingResources {

                            /** ConflictingResources entityTypeDisplayNames */
                            entityTypeDisplayNames?: (string[]|null);

                            /** ConflictingResources entityDisplayNames */
                            entityDisplayNames?: (string[]|null);
                        }

                        /** Represents a ConflictingResources. */
                        class ConflictingResources implements IConflictingResources {

                            /**
                             * Constructs a new ConflictingResources.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse.IConflictingResources);

                            /** ConflictingResources entityTypeDisplayNames. */
                            public entityTypeDisplayNames: string[];

                            /** ConflictingResources entityDisplayNames. */
                            public entityDisplayNames: string[];

                            /**
                             * Creates a new ConflictingResources instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ConflictingResources instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse.IConflictingResources): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse.ConflictingResources;

                            /**
                             * Encodes the specified ConflictingResources message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse.ConflictingResources.verify|verify} messages.
                             * @param message ConflictingResources message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse.IConflictingResources, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ConflictingResources message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse.ConflictingResources.verify|verify} messages.
                             * @param message ConflictingResources message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse.IConflictingResources, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ConflictingResources message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ConflictingResources
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse.ConflictingResources;

                            /**
                             * Decodes a ConflictingResources message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ConflictingResources
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse.ConflictingResources;

                            /**
                             * Verifies a ConflictingResources message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ConflictingResources message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ConflictingResources
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse.ConflictingResources;

                            /**
                             * Creates a plain object from a ConflictingResources message. Also converts values to other types if specified.
                             * @param message ConflictingResources
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesResponse.ConflictingResources, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ConflictingResources to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ConflictingResources
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of an ImportEntityTypesMetadata. */
                    interface IImportEntityTypesMetadata {
                    }

                    /** Represents an ImportEntityTypesMetadata. */
                    class ImportEntityTypesMetadata implements IImportEntityTypesMetadata {

                        /**
                         * Constructs a new ImportEntityTypesMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IImportEntityTypesMetadata);

                        /**
                         * Creates a new ImportEntityTypesMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ImportEntityTypesMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IImportEntityTypesMetadata): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesMetadata;

                        /**
                         * Encodes the specified ImportEntityTypesMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesMetadata.verify|verify} messages.
                         * @param message ImportEntityTypesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IImportEntityTypesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ImportEntityTypesMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesMetadata.verify|verify} messages.
                         * @param message ImportEntityTypesMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IImportEntityTypesMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ImportEntityTypesMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ImportEntityTypesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesMetadata;

                        /**
                         * Decodes an ImportEntityTypesMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ImportEntityTypesMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesMetadata;

                        /**
                         * Verifies an ImportEntityTypesMetadata message.
                         * @param message Plain 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 ImportEntityTypesMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ImportEntityTypesMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesMetadata;

                        /**
                         * Creates a plain object from an ImportEntityTypesMetadata message. Also converts values to other types if specified.
                         * @param message ImportEntityTypesMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ImportEntityTypesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ImportEntityTypesMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ImportEntityTypesMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListEntityTypesRequest. */
                    interface IListEntityTypesRequest {

                        /** ListEntityTypesRequest parent */
                        parent?: (string|null);

                        /** ListEntityTypesRequest languageCode */
                        languageCode?: (string|null);

                        /** ListEntityTypesRequest pageSize */
                        pageSize?: (number|null);

                        /** ListEntityTypesRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListEntityTypesRequest. */
                    class ListEntityTypesRequest implements IListEntityTypesRequest {

                        /**
                         * Constructs a new ListEntityTypesRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListEntityTypesRequest);

                        /** ListEntityTypesRequest parent. */
                        public parent: string;

                        /** ListEntityTypesRequest languageCode. */
                        public languageCode: string;

                        /** ListEntityTypesRequest pageSize. */
                        public pageSize: number;

                        /** ListEntityTypesRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListEntityTypesRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListEntityTypesRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListEntityTypesRequest): google.cloud.dialogflow.cx.v3beta1.ListEntityTypesRequest;

                        /**
                         * Encodes the specified ListEntityTypesRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListEntityTypesRequest.verify|verify} messages.
                         * @param message ListEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListEntityTypesRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListEntityTypesRequest.verify|verify} messages.
                         * @param message ListEntityTypesRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListEntityTypesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListEntityTypesRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListEntityTypesRequest;

                        /**
                         * Decodes a ListEntityTypesRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListEntityTypesRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListEntityTypesRequest;

                        /**
                         * Verifies a ListEntityTypesRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListEntityTypesRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListEntityTypesRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListEntityTypesRequest;

                        /**
                         * Creates a plain object from a ListEntityTypesRequest message. Also converts values to other types if specified.
                         * @param message ListEntityTypesRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListEntityTypesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListEntityTypesRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListEntityTypesRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListEntityTypesResponse. */
                    interface IListEntityTypesResponse {

                        /** ListEntityTypesResponse entityTypes */
                        entityTypes?: (google.cloud.dialogflow.cx.v3beta1.IEntityType[]|null);

                        /** ListEntityTypesResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListEntityTypesResponse. */
                    class ListEntityTypesResponse implements IListEntityTypesResponse {

                        /**
                         * Constructs a new ListEntityTypesResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListEntityTypesResponse);

                        /** ListEntityTypesResponse entityTypes. */
                        public entityTypes: google.cloud.dialogflow.cx.v3beta1.IEntityType[];

                        /** ListEntityTypesResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListEntityTypesResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListEntityTypesResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListEntityTypesResponse): google.cloud.dialogflow.cx.v3beta1.ListEntityTypesResponse;

                        /**
                         * Encodes the specified ListEntityTypesResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListEntityTypesResponse.verify|verify} messages.
                         * @param message ListEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListEntityTypesResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListEntityTypesResponse.verify|verify} messages.
                         * @param message ListEntityTypesResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListEntityTypesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListEntityTypesResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListEntityTypesResponse;

                        /**
                         * Decodes a ListEntityTypesResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListEntityTypesResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListEntityTypesResponse;

                        /**
                         * Verifies a ListEntityTypesResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListEntityTypesResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListEntityTypesResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListEntityTypesResponse;

                        /**
                         * Creates a plain object from a ListEntityTypesResponse message. Also converts values to other types if specified.
                         * @param message ListEntityTypesResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListEntityTypesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListEntityTypesResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListEntityTypesResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetEntityTypeRequest. */
                    interface IGetEntityTypeRequest {

                        /** GetEntityTypeRequest name */
                        name?: (string|null);

                        /** GetEntityTypeRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetEntityTypeRequest. */
                    class GetEntityTypeRequest implements IGetEntityTypeRequest {

                        /**
                         * Constructs a new GetEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetEntityTypeRequest);

                        /** GetEntityTypeRequest name. */
                        public name: string;

                        /** GetEntityTypeRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetEntityTypeRequest): google.cloud.dialogflow.cx.v3beta1.GetEntityTypeRequest;

                        /**
                         * Encodes the specified GetEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetEntityTypeRequest.verify|verify} messages.
                         * @param message GetEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetEntityTypeRequest.verify|verify} messages.
                         * @param message GetEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetEntityTypeRequest;

                        /**
                         * Decodes a GetEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetEntityTypeRequest;

                        /**
                         * Verifies a GetEntityTypeRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetEntityTypeRequest;

                        /**
                         * Creates a plain object from a GetEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message GetEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateEntityTypeRequest. */
                    interface ICreateEntityTypeRequest {

                        /** CreateEntityTypeRequest parent */
                        parent?: (string|null);

                        /** CreateEntityTypeRequest entityType */
                        entityType?: (google.cloud.dialogflow.cx.v3beta1.IEntityType|null);

                        /** CreateEntityTypeRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a CreateEntityTypeRequest. */
                    class CreateEntityTypeRequest implements ICreateEntityTypeRequest {

                        /**
                         * Constructs a new CreateEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateEntityTypeRequest);

                        /** CreateEntityTypeRequest parent. */
                        public parent: string;

                        /** CreateEntityTypeRequest entityType. */
                        public entityType?: (google.cloud.dialogflow.cx.v3beta1.IEntityType|null);

                        /** CreateEntityTypeRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new CreateEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateEntityTypeRequest): google.cloud.dialogflow.cx.v3beta1.CreateEntityTypeRequest;

                        /**
                         * Encodes the specified CreateEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateEntityTypeRequest.verify|verify} messages.
                         * @param message CreateEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateEntityTypeRequest.verify|verify} messages.
                         * @param message CreateEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateEntityTypeRequest;

                        /**
                         * Decodes a CreateEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateEntityTypeRequest;

                        /**
                         * Verifies a CreateEntityTypeRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateEntityTypeRequest;

                        /**
                         * Creates a plain object from a CreateEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message CreateEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateEntityTypeRequest. */
                    interface IUpdateEntityTypeRequest {

                        /** UpdateEntityTypeRequest entityType */
                        entityType?: (google.cloud.dialogflow.cx.v3beta1.IEntityType|null);

                        /** UpdateEntityTypeRequest languageCode */
                        languageCode?: (string|null);

                        /** UpdateEntityTypeRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateEntityTypeRequest. */
                    class UpdateEntityTypeRequest implements IUpdateEntityTypeRequest {

                        /**
                         * Constructs a new UpdateEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateEntityTypeRequest);

                        /** UpdateEntityTypeRequest entityType. */
                        public entityType?: (google.cloud.dialogflow.cx.v3beta1.IEntityType|null);

                        /** UpdateEntityTypeRequest languageCode. */
                        public languageCode: string;

                        /** UpdateEntityTypeRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateEntityTypeRequest): google.cloud.dialogflow.cx.v3beta1.UpdateEntityTypeRequest;

                        /**
                         * Encodes the specified UpdateEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateEntityTypeRequest.verify|verify} messages.
                         * @param message UpdateEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateEntityTypeRequest.verify|verify} messages.
                         * @param message UpdateEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateEntityTypeRequest;

                        /**
                         * Decodes an UpdateEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateEntityTypeRequest;

                        /**
                         * Verifies an UpdateEntityTypeRequest message.
                         * @param message Plain 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 UpdateEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateEntityTypeRequest;

                        /**
                         * Creates a plain object from an UpdateEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message UpdateEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteEntityTypeRequest. */
                    interface IDeleteEntityTypeRequest {

                        /** DeleteEntityTypeRequest name */
                        name?: (string|null);

                        /** DeleteEntityTypeRequest force */
                        force?: (boolean|null);
                    }

                    /** Represents a DeleteEntityTypeRequest. */
                    class DeleteEntityTypeRequest implements IDeleteEntityTypeRequest {

                        /**
                         * Constructs a new DeleteEntityTypeRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteEntityTypeRequest);

                        /** DeleteEntityTypeRequest name. */
                        public name: string;

                        /** DeleteEntityTypeRequest force. */
                        public force: boolean;

                        /**
                         * Creates a new DeleteEntityTypeRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteEntityTypeRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteEntityTypeRequest): google.cloud.dialogflow.cx.v3beta1.DeleteEntityTypeRequest;

                        /**
                         * Encodes the specified DeleteEntityTypeRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteEntityTypeRequest.verify|verify} messages.
                         * @param message DeleteEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteEntityTypeRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteEntityTypeRequest.verify|verify} messages.
                         * @param message DeleteEntityTypeRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteEntityTypeRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteEntityTypeRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteEntityTypeRequest;

                        /**
                         * Decodes a DeleteEntityTypeRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteEntityTypeRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteEntityTypeRequest;

                        /**
                         * Verifies a DeleteEntityTypeRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteEntityTypeRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteEntityTypeRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteEntityTypeRequest;

                        /**
                         * Creates a plain object from a DeleteEntityTypeRequest message. Also converts values to other types if specified.
                         * @param message DeleteEntityTypeRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteEntityTypeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteEntityTypeRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteEntityTypeRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a TransitionRouteGroups */
                    class TransitionRouteGroups extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new TransitionRouteGroups 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 TransitionRouteGroups 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): TransitionRouteGroups;

                        /**
                         * Calls ListTransitionRouteGroups.
                         * @param request ListTransitionRouteGroupsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListTransitionRouteGroupsResponse
                         */
                        public listTransitionRouteGroups(request: google.cloud.dialogflow.cx.v3beta1.IListTransitionRouteGroupsRequest, callback: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroups.ListTransitionRouteGroupsCallback): void;

                        /**
                         * Calls ListTransitionRouteGroups.
                         * @param request ListTransitionRouteGroupsRequest message or plain object
                         * @returns Promise
                         */
                        public listTransitionRouteGroups(request: google.cloud.dialogflow.cx.v3beta1.IListTransitionRouteGroupsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsResponse>;

                        /**
                         * Calls GetTransitionRouteGroup.
                         * @param request GetTransitionRouteGroupRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and TransitionRouteGroup
                         */
                        public getTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3beta1.IGetTransitionRouteGroupRequest, callback: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroups.GetTransitionRouteGroupCallback): void;

                        /**
                         * Calls GetTransitionRouteGroup.
                         * @param request GetTransitionRouteGroupRequest message or plain object
                         * @returns Promise
                         */
                        public getTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3beta1.IGetTransitionRouteGroupRequest): Promise<google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup>;

                        /**
                         * Calls CreateTransitionRouteGroup.
                         * @param request CreateTransitionRouteGroupRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and TransitionRouteGroup
                         */
                        public createTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3beta1.ICreateTransitionRouteGroupRequest, callback: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroups.CreateTransitionRouteGroupCallback): void;

                        /**
                         * Calls CreateTransitionRouteGroup.
                         * @param request CreateTransitionRouteGroupRequest message or plain object
                         * @returns Promise
                         */
                        public createTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3beta1.ICreateTransitionRouteGroupRequest): Promise<google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup>;

                        /**
                         * Calls UpdateTransitionRouteGroup.
                         * @param request UpdateTransitionRouteGroupRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and TransitionRouteGroup
                         */
                        public updateTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3beta1.IUpdateTransitionRouteGroupRequest, callback: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroups.UpdateTransitionRouteGroupCallback): void;

                        /**
                         * Calls UpdateTransitionRouteGroup.
                         * @param request UpdateTransitionRouteGroupRequest message or plain object
                         * @returns Promise
                         */
                        public updateTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3beta1.IUpdateTransitionRouteGroupRequest): Promise<google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup>;

                        /**
                         * Calls DeleteTransitionRouteGroup.
                         * @param request DeleteTransitionRouteGroupRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3beta1.IDeleteTransitionRouteGroupRequest, callback: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroups.DeleteTransitionRouteGroupCallback): void;

                        /**
                         * Calls DeleteTransitionRouteGroup.
                         * @param request DeleteTransitionRouteGroupRequest message or plain object
                         * @returns Promise
                         */
                        public deleteTransitionRouteGroup(request: google.cloud.dialogflow.cx.v3beta1.IDeleteTransitionRouteGroupRequest): Promise<google.protobuf.Empty>;
                    }

                    namespace TransitionRouteGroups {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroups|listTransitionRouteGroups}.
                         * @param error Error, if any
                         * @param [response] ListTransitionRouteGroupsResponse
                         */
                        type ListTransitionRouteGroupsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroups|getTransitionRouteGroup}.
                         * @param error Error, if any
                         * @param [response] TransitionRouteGroup
                         */
                        type GetTransitionRouteGroupCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroups|createTransitionRouteGroup}.
                         * @param error Error, if any
                         * @param [response] TransitionRouteGroup
                         */
                        type CreateTransitionRouteGroupCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroups|updateTransitionRouteGroup}.
                         * @param error Error, if any
                         * @param [response] TransitionRouteGroup
                         */
                        type UpdateTransitionRouteGroupCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroups|deleteTransitionRouteGroup}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteTransitionRouteGroupCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                    }

                    /** Properties of a TransitionRouteGroup. */
                    interface ITransitionRouteGroup {

                        /** TransitionRouteGroup name */
                        name?: (string|null);

                        /** TransitionRouteGroup displayName */
                        displayName?: (string|null);

                        /** TransitionRouteGroup transitionRoutes */
                        transitionRoutes?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRoute[]|null);
                    }

                    /** Represents a TransitionRouteGroup. */
                    class TransitionRouteGroup implements ITransitionRouteGroup {

                        /**
                         * Constructs a new TransitionRouteGroup.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroup);

                        /** TransitionRouteGroup name. */
                        public name: string;

                        /** TransitionRouteGroup displayName. */
                        public displayName: string;

                        /** TransitionRouteGroup transitionRoutes. */
                        public transitionRoutes: google.cloud.dialogflow.cx.v3beta1.ITransitionRoute[];

                        /**
                         * Creates a new TransitionRouteGroup instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns TransitionRouteGroup instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroup): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup;

                        /**
                         * Encodes the specified TransitionRouteGroup message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup.verify|verify} messages.
                         * @param message TransitionRouteGroup message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroup, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified TransitionRouteGroup message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup.verify|verify} messages.
                         * @param message TransitionRouteGroup message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroup, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a TransitionRouteGroup message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns TransitionRouteGroup
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup;

                        /**
                         * Decodes a TransitionRouteGroup message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns TransitionRouteGroup
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup;

                        /**
                         * Verifies a TransitionRouteGroup message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a TransitionRouteGroup message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns TransitionRouteGroup
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup;

                        /**
                         * Creates a plain object from a TransitionRouteGroup message. Also converts values to other types if specified.
                         * @param message TransitionRouteGroup
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.TransitionRouteGroup, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this TransitionRouteGroup to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for TransitionRouteGroup
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListTransitionRouteGroupsRequest. */
                    interface IListTransitionRouteGroupsRequest {

                        /** ListTransitionRouteGroupsRequest parent */
                        parent?: (string|null);

                        /** ListTransitionRouteGroupsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListTransitionRouteGroupsRequest pageToken */
                        pageToken?: (string|null);

                        /** ListTransitionRouteGroupsRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a ListTransitionRouteGroupsRequest. */
                    class ListTransitionRouteGroupsRequest implements IListTransitionRouteGroupsRequest {

                        /**
                         * Constructs a new ListTransitionRouteGroupsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListTransitionRouteGroupsRequest);

                        /** ListTransitionRouteGroupsRequest parent. */
                        public parent: string;

                        /** ListTransitionRouteGroupsRequest pageSize. */
                        public pageSize: number;

                        /** ListTransitionRouteGroupsRequest pageToken. */
                        public pageToken: string;

                        /** ListTransitionRouteGroupsRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new ListTransitionRouteGroupsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListTransitionRouteGroupsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListTransitionRouteGroupsRequest): google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsRequest;

                        /**
                         * Encodes the specified ListTransitionRouteGroupsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsRequest.verify|verify} messages.
                         * @param message ListTransitionRouteGroupsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListTransitionRouteGroupsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListTransitionRouteGroupsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsRequest.verify|verify} messages.
                         * @param message ListTransitionRouteGroupsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListTransitionRouteGroupsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListTransitionRouteGroupsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListTransitionRouteGroupsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsRequest;

                        /**
                         * Decodes a ListTransitionRouteGroupsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListTransitionRouteGroupsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsRequest;

                        /**
                         * Verifies a ListTransitionRouteGroupsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListTransitionRouteGroupsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListTransitionRouteGroupsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsRequest;

                        /**
                         * Creates a plain object from a ListTransitionRouteGroupsRequest message. Also converts values to other types if specified.
                         * @param message ListTransitionRouteGroupsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListTransitionRouteGroupsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListTransitionRouteGroupsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListTransitionRouteGroupsResponse. */
                    interface IListTransitionRouteGroupsResponse {

                        /** ListTransitionRouteGroupsResponse transitionRouteGroups */
                        transitionRouteGroups?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroup[]|null);

                        /** ListTransitionRouteGroupsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListTransitionRouteGroupsResponse. */
                    class ListTransitionRouteGroupsResponse implements IListTransitionRouteGroupsResponse {

                        /**
                         * Constructs a new ListTransitionRouteGroupsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListTransitionRouteGroupsResponse);

                        /** ListTransitionRouteGroupsResponse transitionRouteGroups. */
                        public transitionRouteGroups: google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroup[];

                        /** ListTransitionRouteGroupsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListTransitionRouteGroupsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListTransitionRouteGroupsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListTransitionRouteGroupsResponse): google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsResponse;

                        /**
                         * Encodes the specified ListTransitionRouteGroupsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsResponse.verify|verify} messages.
                         * @param message ListTransitionRouteGroupsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListTransitionRouteGroupsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListTransitionRouteGroupsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsResponse.verify|verify} messages.
                         * @param message ListTransitionRouteGroupsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListTransitionRouteGroupsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListTransitionRouteGroupsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListTransitionRouteGroupsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsResponse;

                        /**
                         * Decodes a ListTransitionRouteGroupsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListTransitionRouteGroupsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsResponse;

                        /**
                         * Verifies a ListTransitionRouteGroupsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListTransitionRouteGroupsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListTransitionRouteGroupsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsResponse;

                        /**
                         * Creates a plain object from a ListTransitionRouteGroupsResponse message. Also converts values to other types if specified.
                         * @param message ListTransitionRouteGroupsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListTransitionRouteGroupsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListTransitionRouteGroupsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListTransitionRouteGroupsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetTransitionRouteGroupRequest. */
                    interface IGetTransitionRouteGroupRequest {

                        /** GetTransitionRouteGroupRequest name */
                        name?: (string|null);

                        /** GetTransitionRouteGroupRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetTransitionRouteGroupRequest. */
                    class GetTransitionRouteGroupRequest implements IGetTransitionRouteGroupRequest {

                        /**
                         * Constructs a new GetTransitionRouteGroupRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetTransitionRouteGroupRequest);

                        /** GetTransitionRouteGroupRequest name. */
                        public name: string;

                        /** GetTransitionRouteGroupRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetTransitionRouteGroupRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetTransitionRouteGroupRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetTransitionRouteGroupRequest): google.cloud.dialogflow.cx.v3beta1.GetTransitionRouteGroupRequest;

                        /**
                         * Encodes the specified GetTransitionRouteGroupRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message GetTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetTransitionRouteGroupRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message GetTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetTransitionRouteGroupRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetTransitionRouteGroupRequest;

                        /**
                         * Decodes a GetTransitionRouteGroupRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetTransitionRouteGroupRequest;

                        /**
                         * Verifies a GetTransitionRouteGroupRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetTransitionRouteGroupRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetTransitionRouteGroupRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetTransitionRouteGroupRequest;

                        /**
                         * Creates a plain object from a GetTransitionRouteGroupRequest message. Also converts values to other types if specified.
                         * @param message GetTransitionRouteGroupRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetTransitionRouteGroupRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetTransitionRouteGroupRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetTransitionRouteGroupRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateTransitionRouteGroupRequest. */
                    interface ICreateTransitionRouteGroupRequest {

                        /** CreateTransitionRouteGroupRequest parent */
                        parent?: (string|null);

                        /** CreateTransitionRouteGroupRequest transitionRouteGroup */
                        transitionRouteGroup?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroup|null);

                        /** CreateTransitionRouteGroupRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a CreateTransitionRouteGroupRequest. */
                    class CreateTransitionRouteGroupRequest implements ICreateTransitionRouteGroupRequest {

                        /**
                         * Constructs a new CreateTransitionRouteGroupRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateTransitionRouteGroupRequest);

                        /** CreateTransitionRouteGroupRequest parent. */
                        public parent: string;

                        /** CreateTransitionRouteGroupRequest transitionRouteGroup. */
                        public transitionRouteGroup?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroup|null);

                        /** CreateTransitionRouteGroupRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new CreateTransitionRouteGroupRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateTransitionRouteGroupRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateTransitionRouteGroupRequest): google.cloud.dialogflow.cx.v3beta1.CreateTransitionRouteGroupRequest;

                        /**
                         * Encodes the specified CreateTransitionRouteGroupRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message CreateTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateTransitionRouteGroupRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message CreateTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateTransitionRouteGroupRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateTransitionRouteGroupRequest;

                        /**
                         * Decodes a CreateTransitionRouteGroupRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateTransitionRouteGroupRequest;

                        /**
                         * Verifies a CreateTransitionRouteGroupRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateTransitionRouteGroupRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateTransitionRouteGroupRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateTransitionRouteGroupRequest;

                        /**
                         * Creates a plain object from a CreateTransitionRouteGroupRequest message. Also converts values to other types if specified.
                         * @param message CreateTransitionRouteGroupRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateTransitionRouteGroupRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateTransitionRouteGroupRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateTransitionRouteGroupRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateTransitionRouteGroupRequest. */
                    interface IUpdateTransitionRouteGroupRequest {

                        /** UpdateTransitionRouteGroupRequest transitionRouteGroup */
                        transitionRouteGroup?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroup|null);

                        /** UpdateTransitionRouteGroupRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);

                        /** UpdateTransitionRouteGroupRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents an UpdateTransitionRouteGroupRequest. */
                    class UpdateTransitionRouteGroupRequest implements IUpdateTransitionRouteGroupRequest {

                        /**
                         * Constructs a new UpdateTransitionRouteGroupRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateTransitionRouteGroupRequest);

                        /** UpdateTransitionRouteGroupRequest transitionRouteGroup. */
                        public transitionRouteGroup?: (google.cloud.dialogflow.cx.v3beta1.ITransitionRouteGroup|null);

                        /** UpdateTransitionRouteGroupRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /** UpdateTransitionRouteGroupRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new UpdateTransitionRouteGroupRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateTransitionRouteGroupRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateTransitionRouteGroupRequest): google.cloud.dialogflow.cx.v3beta1.UpdateTransitionRouteGroupRequest;

                        /**
                         * Encodes the specified UpdateTransitionRouteGroupRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message UpdateTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateTransitionRouteGroupRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message UpdateTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateTransitionRouteGroupRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateTransitionRouteGroupRequest;

                        /**
                         * Decodes an UpdateTransitionRouteGroupRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateTransitionRouteGroupRequest;

                        /**
                         * Verifies an UpdateTransitionRouteGroupRequest message.
                         * @param message Plain 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 UpdateTransitionRouteGroupRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateTransitionRouteGroupRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateTransitionRouteGroupRequest;

                        /**
                         * Creates a plain object from an UpdateTransitionRouteGroupRequest message. Also converts values to other types if specified.
                         * @param message UpdateTransitionRouteGroupRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateTransitionRouteGroupRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateTransitionRouteGroupRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateTransitionRouteGroupRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteTransitionRouteGroupRequest. */
                    interface IDeleteTransitionRouteGroupRequest {

                        /** DeleteTransitionRouteGroupRequest name */
                        name?: (string|null);

                        /** DeleteTransitionRouteGroupRequest force */
                        force?: (boolean|null);
                    }

                    /** Represents a DeleteTransitionRouteGroupRequest. */
                    class DeleteTransitionRouteGroupRequest implements IDeleteTransitionRouteGroupRequest {

                        /**
                         * Constructs a new DeleteTransitionRouteGroupRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteTransitionRouteGroupRequest);

                        /** DeleteTransitionRouteGroupRequest name. */
                        public name: string;

                        /** DeleteTransitionRouteGroupRequest force. */
                        public force: boolean;

                        /**
                         * Creates a new DeleteTransitionRouteGroupRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteTransitionRouteGroupRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteTransitionRouteGroupRequest): google.cloud.dialogflow.cx.v3beta1.DeleteTransitionRouteGroupRequest;

                        /**
                         * Encodes the specified DeleteTransitionRouteGroupRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message DeleteTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteTransitionRouteGroupRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteTransitionRouteGroupRequest.verify|verify} messages.
                         * @param message DeleteTransitionRouteGroupRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteTransitionRouteGroupRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteTransitionRouteGroupRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteTransitionRouteGroupRequest;

                        /**
                         * Decodes a DeleteTransitionRouteGroupRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteTransitionRouteGroupRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteTransitionRouteGroupRequest;

                        /**
                         * Verifies a DeleteTransitionRouteGroupRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteTransitionRouteGroupRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteTransitionRouteGroupRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteTransitionRouteGroupRequest;

                        /**
                         * Creates a plain object from a DeleteTransitionRouteGroupRequest message. Also converts values to other types if specified.
                         * @param message DeleteTransitionRouteGroupRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteTransitionRouteGroupRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteTransitionRouteGroupRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteTransitionRouteGroupRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a Webhooks */
                    class Webhooks extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Webhooks 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 Webhooks 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): Webhooks;

                        /**
                         * Calls ListWebhooks.
                         * @param request ListWebhooksRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListWebhooksResponse
                         */
                        public listWebhooks(request: google.cloud.dialogflow.cx.v3beta1.IListWebhooksRequest, callback: google.cloud.dialogflow.cx.v3beta1.Webhooks.ListWebhooksCallback): void;

                        /**
                         * Calls ListWebhooks.
                         * @param request ListWebhooksRequest message or plain object
                         * @returns Promise
                         */
                        public listWebhooks(request: google.cloud.dialogflow.cx.v3beta1.IListWebhooksRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListWebhooksResponse>;

                        /**
                         * Calls GetWebhook.
                         * @param request GetWebhookRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Webhook
                         */
                        public getWebhook(request: google.cloud.dialogflow.cx.v3beta1.IGetWebhookRequest, callback: google.cloud.dialogflow.cx.v3beta1.Webhooks.GetWebhookCallback): void;

                        /**
                         * Calls GetWebhook.
                         * @param request GetWebhookRequest message or plain object
                         * @returns Promise
                         */
                        public getWebhook(request: google.cloud.dialogflow.cx.v3beta1.IGetWebhookRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Webhook>;

                        /**
                         * Calls CreateWebhook.
                         * @param request CreateWebhookRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Webhook
                         */
                        public createWebhook(request: google.cloud.dialogflow.cx.v3beta1.ICreateWebhookRequest, callback: google.cloud.dialogflow.cx.v3beta1.Webhooks.CreateWebhookCallback): void;

                        /**
                         * Calls CreateWebhook.
                         * @param request CreateWebhookRequest message or plain object
                         * @returns Promise
                         */
                        public createWebhook(request: google.cloud.dialogflow.cx.v3beta1.ICreateWebhookRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Webhook>;

                        /**
                         * Calls UpdateWebhook.
                         * @param request UpdateWebhookRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Webhook
                         */
                        public updateWebhook(request: google.cloud.dialogflow.cx.v3beta1.IUpdateWebhookRequest, callback: google.cloud.dialogflow.cx.v3beta1.Webhooks.UpdateWebhookCallback): void;

                        /**
                         * Calls UpdateWebhook.
                         * @param request UpdateWebhookRequest message or plain object
                         * @returns Promise
                         */
                        public updateWebhook(request: google.cloud.dialogflow.cx.v3beta1.IUpdateWebhookRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Webhook>;

                        /**
                         * Calls DeleteWebhook.
                         * @param request DeleteWebhookRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteWebhook(request: google.cloud.dialogflow.cx.v3beta1.IDeleteWebhookRequest, callback: google.cloud.dialogflow.cx.v3beta1.Webhooks.DeleteWebhookCallback): void;

                        /**
                         * Calls DeleteWebhook.
                         * @param request DeleteWebhookRequest message or plain object
                         * @returns Promise
                         */
                        public deleteWebhook(request: google.cloud.dialogflow.cx.v3beta1.IDeleteWebhookRequest): Promise<google.protobuf.Empty>;
                    }

                    namespace Webhooks {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Webhooks|listWebhooks}.
                         * @param error Error, if any
                         * @param [response] ListWebhooksResponse
                         */
                        type ListWebhooksCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListWebhooksResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Webhooks|getWebhook}.
                         * @param error Error, if any
                         * @param [response] Webhook
                         */
                        type GetWebhookCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Webhook) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Webhooks|createWebhook}.
                         * @param error Error, if any
                         * @param [response] Webhook
                         */
                        type CreateWebhookCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Webhook) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Webhooks|updateWebhook}.
                         * @param error Error, if any
                         * @param [response] Webhook
                         */
                        type UpdateWebhookCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Webhook) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Webhooks|deleteWebhook}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteWebhookCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                    }

                    /** Properties of a Webhook. */
                    interface IWebhook {

                        /** Webhook name */
                        name?: (string|null);

                        /** Webhook displayName */
                        displayName?: (string|null);

                        /** Webhook genericWebService */
                        genericWebService?: (google.cloud.dialogflow.cx.v3beta1.Webhook.IGenericWebService|null);

                        /** Webhook serviceDirectory */
                        serviceDirectory?: (google.cloud.dialogflow.cx.v3beta1.Webhook.IServiceDirectoryConfig|null);

                        /** Webhook timeout */
                        timeout?: (google.protobuf.IDuration|null);

                        /** Webhook disabled */
                        disabled?: (boolean|null);
                    }

                    /** Represents a Webhook. */
                    class Webhook implements IWebhook {

                        /**
                         * Constructs a new Webhook.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IWebhook);

                        /** Webhook name. */
                        public name: string;

                        /** Webhook displayName. */
                        public displayName: string;

                        /** Webhook genericWebService. */
                        public genericWebService?: (google.cloud.dialogflow.cx.v3beta1.Webhook.IGenericWebService|null);

                        /** Webhook serviceDirectory. */
                        public serviceDirectory?: (google.cloud.dialogflow.cx.v3beta1.Webhook.IServiceDirectoryConfig|null);

                        /** Webhook timeout. */
                        public timeout?: (google.protobuf.IDuration|null);

                        /** Webhook disabled. */
                        public disabled: boolean;

                        /** Webhook webhook. */
                        public webhook?: ("genericWebService"|"serviceDirectory");

                        /**
                         * Creates a new Webhook instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Webhook instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IWebhook): google.cloud.dialogflow.cx.v3beta1.Webhook;

                        /**
                         * Encodes the specified Webhook message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Webhook.verify|verify} messages.
                         * @param message Webhook message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IWebhook, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Webhook message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Webhook.verify|verify} messages.
                         * @param message Webhook message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IWebhook, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Webhook message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Webhook
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Webhook;

                        /**
                         * Decodes a Webhook message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Webhook
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Webhook;

                        /**
                         * Verifies a Webhook message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Webhook message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Webhook
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Webhook;

                        /**
                         * Creates a plain object from a Webhook message. Also converts values to other types if specified.
                         * @param message Webhook
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Webhook, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Webhook to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Webhook
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Webhook {

                        /** Properties of a GenericWebService. */
                        interface IGenericWebService {

                            /** GenericWebService uri */
                            uri?: (string|null);

                            /** GenericWebService username */
                            username?: (string|null);

                            /** GenericWebService password */
                            password?: (string|null);

                            /** GenericWebService requestHeaders */
                            requestHeaders?: ({ [k: string]: string }|null);

                            /** GenericWebService allowedCaCerts */
                            allowedCaCerts?: (Uint8Array[]|null);

                            /** GenericWebService oauthConfig */
                            oauthConfig?: (google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.IOAuthConfig|null);

                            /** GenericWebService serviceAgentAuth */
                            serviceAgentAuth?: (google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.ServiceAgentAuth|keyof typeof google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.ServiceAgentAuth|null);

                            /** GenericWebService webhookType */
                            webhookType?: (google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.WebhookType|keyof typeof google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.WebhookType|null);

                            /** GenericWebService httpMethod */
                            httpMethod?: (google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.HttpMethod|keyof typeof google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.HttpMethod|null);

                            /** GenericWebService requestBody */
                            requestBody?: (string|null);

                            /** GenericWebService parameterMapping */
                            parameterMapping?: ({ [k: string]: string }|null);
                        }

                        /** Represents a GenericWebService. */
                        class GenericWebService implements IGenericWebService {

                            /**
                             * Constructs a new GenericWebService.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Webhook.IGenericWebService);

                            /** GenericWebService uri. */
                            public uri: string;

                            /** GenericWebService username. */
                            public username: string;

                            /** GenericWebService password. */
                            public password: string;

                            /** GenericWebService requestHeaders. */
                            public requestHeaders: { [k: string]: string };

                            /** GenericWebService allowedCaCerts. */
                            public allowedCaCerts: Uint8Array[];

                            /** GenericWebService oauthConfig. */
                            public oauthConfig?: (google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.IOAuthConfig|null);

                            /** GenericWebService serviceAgentAuth. */
                            public serviceAgentAuth: (google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.ServiceAgentAuth|keyof typeof google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.ServiceAgentAuth);

                            /** GenericWebService webhookType. */
                            public webhookType: (google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.WebhookType|keyof typeof google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.WebhookType);

                            /** GenericWebService httpMethod. */
                            public httpMethod: (google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.HttpMethod|keyof typeof google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.HttpMethod);

                            /** GenericWebService requestBody. */
                            public requestBody: string;

                            /** GenericWebService parameterMapping. */
                            public parameterMapping: { [k: string]: string };

                            /**
                             * Creates a new GenericWebService instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns GenericWebService instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Webhook.IGenericWebService): google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService;

                            /**
                             * Encodes the specified GenericWebService message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.verify|verify} messages.
                             * @param message GenericWebService message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Webhook.IGenericWebService, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified GenericWebService message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.verify|verify} messages.
                             * @param message GenericWebService message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Webhook.IGenericWebService, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a GenericWebService message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns GenericWebService
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService;

                            /**
                             * Decodes a GenericWebService message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns GenericWebService
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService;

                            /**
                             * Verifies a GenericWebService message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a GenericWebService message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns GenericWebService
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService;

                            /**
                             * Creates a plain object from a GenericWebService message. Also converts values to other types if specified.
                             * @param message GenericWebService
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this GenericWebService to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for GenericWebService
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace GenericWebService {

                            /** Properties of a OAuthConfig. */
                            interface IOAuthConfig {

                                /** OAuthConfig clientId */
                                clientId?: (string|null);

                                /** OAuthConfig clientSecret */
                                clientSecret?: (string|null);

                                /** OAuthConfig tokenEndpoint */
                                tokenEndpoint?: (string|null);

                                /** OAuthConfig scopes */
                                scopes?: (string[]|null);
                            }

                            /** Represents a OAuthConfig. */
                            class OAuthConfig implements IOAuthConfig {

                                /**
                                 * Constructs a new OAuthConfig.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.IOAuthConfig);

                                /** OAuthConfig clientId. */
                                public clientId: string;

                                /** OAuthConfig clientSecret. */
                                public clientSecret: string;

                                /** OAuthConfig tokenEndpoint. */
                                public tokenEndpoint: string;

                                /** OAuthConfig scopes. */
                                public scopes: string[];

                                /**
                                 * Creates a new OAuthConfig instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns OAuthConfig instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.IOAuthConfig): google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.OAuthConfig;

                                /**
                                 * Encodes the specified OAuthConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.OAuthConfig.verify|verify} messages.
                                 * @param message OAuthConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.IOAuthConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified OAuthConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.OAuthConfig.verify|verify} messages.
                                 * @param message OAuthConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.IOAuthConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a OAuthConfig message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns OAuthConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.OAuthConfig;

                                /**
                                 * Decodes a OAuthConfig message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns OAuthConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.OAuthConfig;

                                /**
                                 * Verifies a OAuthConfig message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a OAuthConfig message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns OAuthConfig
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.OAuthConfig;

                                /**
                                 * Creates a plain object from a OAuthConfig message. Also converts values to other types if specified.
                                 * @param message OAuthConfig
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Webhook.GenericWebService.OAuthConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this OAuthConfig to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for OAuthConfig
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            /** ServiceAgentAuth enum. */
                            enum ServiceAgentAuth {
                                SERVICE_AGENT_AUTH_UNSPECIFIED = 0,
                                NONE = 1,
                                ID_TOKEN = 2,
                                ACCESS_TOKEN = 3
                            }

                            /** WebhookType enum. */
                            enum WebhookType {
                                WEBHOOK_TYPE_UNSPECIFIED = 0,
                                STANDARD = 1,
                                FLEXIBLE = 2
                            }

                            /** HttpMethod enum. */
                            enum HttpMethod {
                                HTTP_METHOD_UNSPECIFIED = 0,
                                POST = 1,
                                GET = 2,
                                HEAD = 3,
                                PUT = 4,
                                DELETE = 5,
                                PATCH = 6,
                                OPTIONS = 7
                            }
                        }

                        /** Properties of a ServiceDirectoryConfig. */
                        interface IServiceDirectoryConfig {

                            /** ServiceDirectoryConfig service */
                            service?: (string|null);

                            /** ServiceDirectoryConfig genericWebService */
                            genericWebService?: (google.cloud.dialogflow.cx.v3beta1.Webhook.IGenericWebService|null);
                        }

                        /** Represents a ServiceDirectoryConfig. */
                        class ServiceDirectoryConfig implements IServiceDirectoryConfig {

                            /**
                             * Constructs a new ServiceDirectoryConfig.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Webhook.IServiceDirectoryConfig);

                            /** ServiceDirectoryConfig service. */
                            public service: string;

                            /** ServiceDirectoryConfig genericWebService. */
                            public genericWebService?: (google.cloud.dialogflow.cx.v3beta1.Webhook.IGenericWebService|null);

                            /**
                             * Creates a new ServiceDirectoryConfig instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ServiceDirectoryConfig instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Webhook.IServiceDirectoryConfig): google.cloud.dialogflow.cx.v3beta1.Webhook.ServiceDirectoryConfig;

                            /**
                             * Encodes the specified ServiceDirectoryConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Webhook.ServiceDirectoryConfig.verify|verify} messages.
                             * @param message ServiceDirectoryConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Webhook.IServiceDirectoryConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ServiceDirectoryConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Webhook.ServiceDirectoryConfig.verify|verify} messages.
                             * @param message ServiceDirectoryConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Webhook.IServiceDirectoryConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ServiceDirectoryConfig message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ServiceDirectoryConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Webhook.ServiceDirectoryConfig;

                            /**
                             * Decodes a ServiceDirectoryConfig message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ServiceDirectoryConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Webhook.ServiceDirectoryConfig;

                            /**
                             * Verifies a ServiceDirectoryConfig message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ServiceDirectoryConfig message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ServiceDirectoryConfig
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Webhook.ServiceDirectoryConfig;

                            /**
                             * Creates a plain object from a ServiceDirectoryConfig message. Also converts values to other types if specified.
                             * @param message ServiceDirectoryConfig
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Webhook.ServiceDirectoryConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ServiceDirectoryConfig to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ServiceDirectoryConfig
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a ListWebhooksRequest. */
                    interface IListWebhooksRequest {

                        /** ListWebhooksRequest parent */
                        parent?: (string|null);

                        /** ListWebhooksRequest pageSize */
                        pageSize?: (number|null);

                        /** ListWebhooksRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListWebhooksRequest. */
                    class ListWebhooksRequest implements IListWebhooksRequest {

                        /**
                         * Constructs a new ListWebhooksRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListWebhooksRequest);

                        /** ListWebhooksRequest parent. */
                        public parent: string;

                        /** ListWebhooksRequest pageSize. */
                        public pageSize: number;

                        /** ListWebhooksRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListWebhooksRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListWebhooksRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListWebhooksRequest): google.cloud.dialogflow.cx.v3beta1.ListWebhooksRequest;

                        /**
                         * Encodes the specified ListWebhooksRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListWebhooksRequest.verify|verify} messages.
                         * @param message ListWebhooksRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListWebhooksRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListWebhooksRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListWebhooksRequest.verify|verify} messages.
                         * @param message ListWebhooksRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListWebhooksRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListWebhooksRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListWebhooksRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListWebhooksRequest;

                        /**
                         * Decodes a ListWebhooksRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListWebhooksRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListWebhooksRequest;

                        /**
                         * Verifies a ListWebhooksRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListWebhooksRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListWebhooksRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListWebhooksRequest;

                        /**
                         * Creates a plain object from a ListWebhooksRequest message. Also converts values to other types if specified.
                         * @param message ListWebhooksRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListWebhooksRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListWebhooksRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListWebhooksRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListWebhooksResponse. */
                    interface IListWebhooksResponse {

                        /** ListWebhooksResponse webhooks */
                        webhooks?: (google.cloud.dialogflow.cx.v3beta1.IWebhook[]|null);

                        /** ListWebhooksResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListWebhooksResponse. */
                    class ListWebhooksResponse implements IListWebhooksResponse {

                        /**
                         * Constructs a new ListWebhooksResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListWebhooksResponse);

                        /** ListWebhooksResponse webhooks. */
                        public webhooks: google.cloud.dialogflow.cx.v3beta1.IWebhook[];

                        /** ListWebhooksResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListWebhooksResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListWebhooksResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListWebhooksResponse): google.cloud.dialogflow.cx.v3beta1.ListWebhooksResponse;

                        /**
                         * Encodes the specified ListWebhooksResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListWebhooksResponse.verify|verify} messages.
                         * @param message ListWebhooksResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListWebhooksResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListWebhooksResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListWebhooksResponse.verify|verify} messages.
                         * @param message ListWebhooksResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListWebhooksResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListWebhooksResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListWebhooksResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListWebhooksResponse;

                        /**
                         * Decodes a ListWebhooksResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListWebhooksResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListWebhooksResponse;

                        /**
                         * Verifies a ListWebhooksResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListWebhooksResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListWebhooksResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListWebhooksResponse;

                        /**
                         * Creates a plain object from a ListWebhooksResponse message. Also converts values to other types if specified.
                         * @param message ListWebhooksResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListWebhooksResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListWebhooksResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListWebhooksResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetWebhookRequest. */
                    interface IGetWebhookRequest {

                        /** GetWebhookRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetWebhookRequest. */
                    class GetWebhookRequest implements IGetWebhookRequest {

                        /**
                         * Constructs a new GetWebhookRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetWebhookRequest);

                        /** GetWebhookRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetWebhookRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetWebhookRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetWebhookRequest): google.cloud.dialogflow.cx.v3beta1.GetWebhookRequest;

                        /**
                         * Encodes the specified GetWebhookRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetWebhookRequest.verify|verify} messages.
                         * @param message GetWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetWebhookRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetWebhookRequest.verify|verify} messages.
                         * @param message GetWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetWebhookRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetWebhookRequest;

                        /**
                         * Decodes a GetWebhookRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetWebhookRequest;

                        /**
                         * Verifies a GetWebhookRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetWebhookRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetWebhookRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetWebhookRequest;

                        /**
                         * Creates a plain object from a GetWebhookRequest message. Also converts values to other types if specified.
                         * @param message GetWebhookRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetWebhookRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetWebhookRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetWebhookRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateWebhookRequest. */
                    interface ICreateWebhookRequest {

                        /** CreateWebhookRequest parent */
                        parent?: (string|null);

                        /** CreateWebhookRequest webhook */
                        webhook?: (google.cloud.dialogflow.cx.v3beta1.IWebhook|null);
                    }

                    /** Represents a CreateWebhookRequest. */
                    class CreateWebhookRequest implements ICreateWebhookRequest {

                        /**
                         * Constructs a new CreateWebhookRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateWebhookRequest);

                        /** CreateWebhookRequest parent. */
                        public parent: string;

                        /** CreateWebhookRequest webhook. */
                        public webhook?: (google.cloud.dialogflow.cx.v3beta1.IWebhook|null);

                        /**
                         * Creates a new CreateWebhookRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateWebhookRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateWebhookRequest): google.cloud.dialogflow.cx.v3beta1.CreateWebhookRequest;

                        /**
                         * Encodes the specified CreateWebhookRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateWebhookRequest.verify|verify} messages.
                         * @param message CreateWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateWebhookRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateWebhookRequest.verify|verify} messages.
                         * @param message CreateWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateWebhookRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateWebhookRequest;

                        /**
                         * Decodes a CreateWebhookRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateWebhookRequest;

                        /**
                         * Verifies a CreateWebhookRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateWebhookRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateWebhookRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateWebhookRequest;

                        /**
                         * Creates a plain object from a CreateWebhookRequest message. Also converts values to other types if specified.
                         * @param message CreateWebhookRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateWebhookRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateWebhookRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateWebhookRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateWebhookRequest. */
                    interface IUpdateWebhookRequest {

                        /** UpdateWebhookRequest webhook */
                        webhook?: (google.cloud.dialogflow.cx.v3beta1.IWebhook|null);

                        /** UpdateWebhookRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateWebhookRequest. */
                    class UpdateWebhookRequest implements IUpdateWebhookRequest {

                        /**
                         * Constructs a new UpdateWebhookRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateWebhookRequest);

                        /** UpdateWebhookRequest webhook. */
                        public webhook?: (google.cloud.dialogflow.cx.v3beta1.IWebhook|null);

                        /** UpdateWebhookRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateWebhookRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateWebhookRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateWebhookRequest): google.cloud.dialogflow.cx.v3beta1.UpdateWebhookRequest;

                        /**
                         * Encodes the specified UpdateWebhookRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateWebhookRequest.verify|verify} messages.
                         * @param message UpdateWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateWebhookRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateWebhookRequest.verify|verify} messages.
                         * @param message UpdateWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateWebhookRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateWebhookRequest;

                        /**
                         * Decodes an UpdateWebhookRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateWebhookRequest;

                        /**
                         * Verifies an UpdateWebhookRequest message.
                         * @param message Plain 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 UpdateWebhookRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateWebhookRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateWebhookRequest;

                        /**
                         * Creates a plain object from an UpdateWebhookRequest message. Also converts values to other types if specified.
                         * @param message UpdateWebhookRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateWebhookRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateWebhookRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateWebhookRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteWebhookRequest. */
                    interface IDeleteWebhookRequest {

                        /** DeleteWebhookRequest name */
                        name?: (string|null);

                        /** DeleteWebhookRequest force */
                        force?: (boolean|null);
                    }

                    /** Represents a DeleteWebhookRequest. */
                    class DeleteWebhookRequest implements IDeleteWebhookRequest {

                        /**
                         * Constructs a new DeleteWebhookRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteWebhookRequest);

                        /** DeleteWebhookRequest name. */
                        public name: string;

                        /** DeleteWebhookRequest force. */
                        public force: boolean;

                        /**
                         * Creates a new DeleteWebhookRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteWebhookRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteWebhookRequest): google.cloud.dialogflow.cx.v3beta1.DeleteWebhookRequest;

                        /**
                         * Encodes the specified DeleteWebhookRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteWebhookRequest.verify|verify} messages.
                         * @param message DeleteWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteWebhookRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteWebhookRequest.verify|verify} messages.
                         * @param message DeleteWebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteWebhookRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteWebhookRequest;

                        /**
                         * Decodes a DeleteWebhookRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteWebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteWebhookRequest;

                        /**
                         * Verifies a DeleteWebhookRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteWebhookRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteWebhookRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteWebhookRequest;

                        /**
                         * Creates a plain object from a DeleteWebhookRequest message. Also converts values to other types if specified.
                         * @param message DeleteWebhookRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteWebhookRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteWebhookRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteWebhookRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a WebhookRequest. */
                    interface IWebhookRequest {

                        /** WebhookRequest detectIntentResponseId */
                        detectIntentResponseId?: (string|null);

                        /** WebhookRequest text */
                        text?: (string|null);

                        /** WebhookRequest triggerIntent */
                        triggerIntent?: (string|null);

                        /** WebhookRequest transcript */
                        transcript?: (string|null);

                        /** WebhookRequest triggerEvent */
                        triggerEvent?: (string|null);

                        /** WebhookRequest dtmfDigits */
                        dtmfDigits?: (string|null);

                        /** WebhookRequest languageCode */
                        languageCode?: (string|null);

                        /** WebhookRequest fulfillmentInfo */
                        fulfillmentInfo?: (google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IFulfillmentInfo|null);

                        /** WebhookRequest intentInfo */
                        intentInfo?: (google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IIntentInfo|null);

                        /** WebhookRequest pageInfo */
                        pageInfo?: (google.cloud.dialogflow.cx.v3beta1.IPageInfo|null);

                        /** WebhookRequest sessionInfo */
                        sessionInfo?: (google.cloud.dialogflow.cx.v3beta1.ISessionInfo|null);

                        /** WebhookRequest messages */
                        messages?: (google.cloud.dialogflow.cx.v3beta1.IResponseMessage[]|null);

                        /** WebhookRequest payload */
                        payload?: (google.protobuf.IStruct|null);

                        /** WebhookRequest sentimentAnalysisResult */
                        sentimentAnalysisResult?: (google.cloud.dialogflow.cx.v3beta1.WebhookRequest.ISentimentAnalysisResult|null);

                        /** WebhookRequest languageInfo */
                        languageInfo?: (google.cloud.dialogflow.cx.v3beta1.ILanguageInfo|null);
                    }

                    /** Represents a WebhookRequest. */
                    class WebhookRequest implements IWebhookRequest {

                        /**
                         * Constructs a new WebhookRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IWebhookRequest);

                        /** WebhookRequest detectIntentResponseId. */
                        public detectIntentResponseId: string;

                        /** WebhookRequest text. */
                        public text?: (string|null);

                        /** WebhookRequest triggerIntent. */
                        public triggerIntent?: (string|null);

                        /** WebhookRequest transcript. */
                        public transcript?: (string|null);

                        /** WebhookRequest triggerEvent. */
                        public triggerEvent?: (string|null);

                        /** WebhookRequest dtmfDigits. */
                        public dtmfDigits?: (string|null);

                        /** WebhookRequest languageCode. */
                        public languageCode: string;

                        /** WebhookRequest fulfillmentInfo. */
                        public fulfillmentInfo?: (google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IFulfillmentInfo|null);

                        /** WebhookRequest intentInfo. */
                        public intentInfo?: (google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IIntentInfo|null);

                        /** WebhookRequest pageInfo. */
                        public pageInfo?: (google.cloud.dialogflow.cx.v3beta1.IPageInfo|null);

                        /** WebhookRequest sessionInfo. */
                        public sessionInfo?: (google.cloud.dialogflow.cx.v3beta1.ISessionInfo|null);

                        /** WebhookRequest messages. */
                        public messages: google.cloud.dialogflow.cx.v3beta1.IResponseMessage[];

                        /** WebhookRequest payload. */
                        public payload?: (google.protobuf.IStruct|null);

                        /** WebhookRequest sentimentAnalysisResult. */
                        public sentimentAnalysisResult?: (google.cloud.dialogflow.cx.v3beta1.WebhookRequest.ISentimentAnalysisResult|null);

                        /** WebhookRequest languageInfo. */
                        public languageInfo?: (google.cloud.dialogflow.cx.v3beta1.ILanguageInfo|null);

                        /** WebhookRequest query. */
                        public query?: ("text"|"triggerIntent"|"transcript"|"triggerEvent"|"dtmfDigits");

                        /**
                         * Creates a new WebhookRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns WebhookRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IWebhookRequest): google.cloud.dialogflow.cx.v3beta1.WebhookRequest;

                        /**
                         * Encodes the specified WebhookRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.WebhookRequest.verify|verify} messages.
                         * @param message WebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified WebhookRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.WebhookRequest.verify|verify} messages.
                         * @param message WebhookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IWebhookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a WebhookRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns WebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.WebhookRequest;

                        /**
                         * Decodes a WebhookRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns WebhookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.WebhookRequest;

                        /**
                         * Verifies a WebhookRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a WebhookRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns WebhookRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.WebhookRequest;

                        /**
                         * Creates a plain object from a WebhookRequest message. Also converts values to other types if specified.
                         * @param message WebhookRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.WebhookRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this WebhookRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for WebhookRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace WebhookRequest {

                        /** Properties of a FulfillmentInfo. */
                        interface IFulfillmentInfo {

                            /** FulfillmentInfo tag */
                            tag?: (string|null);
                        }

                        /** Represents a FulfillmentInfo. */
                        class FulfillmentInfo implements IFulfillmentInfo {

                            /**
                             * Constructs a new FulfillmentInfo.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IFulfillmentInfo);

                            /** FulfillmentInfo tag. */
                            public tag: string;

                            /**
                             * Creates a new FulfillmentInfo instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns FulfillmentInfo instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IFulfillmentInfo): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.FulfillmentInfo;

                            /**
                             * Encodes the specified FulfillmentInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.WebhookRequest.FulfillmentInfo.verify|verify} messages.
                             * @param message FulfillmentInfo message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IFulfillmentInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified FulfillmentInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.WebhookRequest.FulfillmentInfo.verify|verify} messages.
                             * @param message FulfillmentInfo message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IFulfillmentInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a FulfillmentInfo message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns FulfillmentInfo
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.FulfillmentInfo;

                            /**
                             * Decodes a FulfillmentInfo message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns FulfillmentInfo
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.FulfillmentInfo;

                            /**
                             * Verifies a FulfillmentInfo message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a FulfillmentInfo message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns FulfillmentInfo
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.FulfillmentInfo;

                            /**
                             * Creates a plain object from a FulfillmentInfo message. Also converts values to other types if specified.
                             * @param message FulfillmentInfo
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.FulfillmentInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this FulfillmentInfo to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for FulfillmentInfo
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of an IntentInfo. */
                        interface IIntentInfo {

                            /** IntentInfo lastMatchedIntent */
                            lastMatchedIntent?: (string|null);

                            /** IntentInfo displayName */
                            displayName?: (string|null);

                            /** IntentInfo parameters */
                            parameters?: ({ [k: string]: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo.IIntentParameterValue }|null);

                            /** IntentInfo confidence */
                            confidence?: (number|null);
                        }

                        /** Represents an IntentInfo. */
                        class IntentInfo implements IIntentInfo {

                            /**
                             * Constructs a new IntentInfo.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IIntentInfo);

                            /** IntentInfo lastMatchedIntent. */
                            public lastMatchedIntent: string;

                            /** IntentInfo displayName. */
                            public displayName: string;

                            /** IntentInfo parameters. */
                            public parameters: { [k: string]: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo.IIntentParameterValue };

                            /** IntentInfo confidence. */
                            public confidence: number;

                            /**
                             * Creates a new IntentInfo instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns IntentInfo instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IIntentInfo): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo;

                            /**
                             * Encodes the specified IntentInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo.verify|verify} messages.
                             * @param message IntentInfo message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IIntentInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified IntentInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo.verify|verify} messages.
                             * @param message IntentInfo message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IIntentInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an IntentInfo message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns IntentInfo
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo;

                            /**
                             * Decodes an IntentInfo message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns IntentInfo
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo;

                            /**
                             * Verifies an IntentInfo message.
                             * @param message Plain 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 IntentInfo message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns IntentInfo
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo;

                            /**
                             * Creates a plain object from an IntentInfo message. Also converts values to other types if specified.
                             * @param message IntentInfo
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this IntentInfo to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for IntentInfo
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace IntentInfo {

                            /** Properties of an IntentParameterValue. */
                            interface IIntentParameterValue {

                                /** IntentParameterValue originalValue */
                                originalValue?: (string|null);

                                /** IntentParameterValue resolvedValue */
                                resolvedValue?: (google.protobuf.IValue|null);
                            }

                            /** Represents an IntentParameterValue. */
                            class IntentParameterValue implements IIntentParameterValue {

                                /**
                                 * Constructs a new IntentParameterValue.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo.IIntentParameterValue);

                                /** IntentParameterValue originalValue. */
                                public originalValue: string;

                                /** IntentParameterValue resolvedValue. */
                                public resolvedValue?: (google.protobuf.IValue|null);

                                /**
                                 * Creates a new IntentParameterValue instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns IntentParameterValue instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo.IIntentParameterValue): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo.IntentParameterValue;

                                /**
                                 * Encodes the specified IntentParameterValue message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo.IntentParameterValue.verify|verify} messages.
                                 * @param message IntentParameterValue message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo.IIntentParameterValue, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified IntentParameterValue message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo.IntentParameterValue.verify|verify} messages.
                                 * @param message IntentParameterValue message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo.IIntentParameterValue, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes an IntentParameterValue message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns IntentParameterValue
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo.IntentParameterValue;

                                /**
                                 * Decodes an IntentParameterValue message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns IntentParameterValue
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo.IntentParameterValue;

                                /**
                                 * Verifies an IntentParameterValue message.
                                 * @param message Plain 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 IntentParameterValue message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns IntentParameterValue
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo.IntentParameterValue;

                                /**
                                 * Creates a plain object from an IntentParameterValue message. Also converts values to other types if specified.
                                 * @param message IntentParameterValue
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.IntentInfo.IntentParameterValue, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this IntentParameterValue to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for IntentParameterValue
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }

                        /** Properties of a SentimentAnalysisResult. */
                        interface ISentimentAnalysisResult {

                            /** SentimentAnalysisResult score */
                            score?: (number|null);

                            /** SentimentAnalysisResult magnitude */
                            magnitude?: (number|null);
                        }

                        /** Represents a SentimentAnalysisResult. */
                        class SentimentAnalysisResult implements ISentimentAnalysisResult {

                            /**
                             * Constructs a new SentimentAnalysisResult.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.ISentimentAnalysisResult);

                            /** SentimentAnalysisResult score. */
                            public score: number;

                            /** SentimentAnalysisResult magnitude. */
                            public magnitude: number;

                            /**
                             * Creates a new SentimentAnalysisResult instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns SentimentAnalysisResult instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.ISentimentAnalysisResult): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.SentimentAnalysisResult;

                            /**
                             * Encodes the specified SentimentAnalysisResult message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.WebhookRequest.SentimentAnalysisResult.verify|verify} messages.
                             * @param message SentimentAnalysisResult message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.ISentimentAnalysisResult, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified SentimentAnalysisResult message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.WebhookRequest.SentimentAnalysisResult.verify|verify} messages.
                             * @param message SentimentAnalysisResult message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.ISentimentAnalysisResult, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a SentimentAnalysisResult message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns SentimentAnalysisResult
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.SentimentAnalysisResult;

                            /**
                             * Decodes a SentimentAnalysisResult message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns SentimentAnalysisResult
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.SentimentAnalysisResult;

                            /**
                             * Verifies a SentimentAnalysisResult message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a SentimentAnalysisResult message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns SentimentAnalysisResult
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.WebhookRequest.SentimentAnalysisResult;

                            /**
                             * Creates a plain object from a SentimentAnalysisResult message. Also converts values to other types if specified.
                             * @param message SentimentAnalysisResult
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.WebhookRequest.SentimentAnalysisResult, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this SentimentAnalysisResult to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for SentimentAnalysisResult
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a WebhookResponse. */
                    interface IWebhookResponse {

                        /** WebhookResponse fulfillmentResponse */
                        fulfillmentResponse?: (google.cloud.dialogflow.cx.v3beta1.WebhookResponse.IFulfillmentResponse|null);

                        /** WebhookResponse pageInfo */
                        pageInfo?: (google.cloud.dialogflow.cx.v3beta1.IPageInfo|null);

                        /** WebhookResponse sessionInfo */
                        sessionInfo?: (google.cloud.dialogflow.cx.v3beta1.ISessionInfo|null);

                        /** WebhookResponse payload */
                        payload?: (google.protobuf.IStruct|null);

                        /** WebhookResponse targetPage */
                        targetPage?: (string|null);

                        /** WebhookResponse targetFlow */
                        targetFlow?: (string|null);
                    }

                    /** Represents a WebhookResponse. */
                    class WebhookResponse implements IWebhookResponse {

                        /**
                         * Constructs a new WebhookResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IWebhookResponse);

                        /** WebhookResponse fulfillmentResponse. */
                        public fulfillmentResponse?: (google.cloud.dialogflow.cx.v3beta1.WebhookResponse.IFulfillmentResponse|null);

                        /** WebhookResponse pageInfo. */
                        public pageInfo?: (google.cloud.dialogflow.cx.v3beta1.IPageInfo|null);

                        /** WebhookResponse sessionInfo. */
                        public sessionInfo?: (google.cloud.dialogflow.cx.v3beta1.ISessionInfo|null);

                        /** WebhookResponse payload. */
                        public payload?: (google.protobuf.IStruct|null);

                        /** WebhookResponse targetPage. */
                        public targetPage?: (string|null);

                        /** WebhookResponse targetFlow. */
                        public targetFlow?: (string|null);

                        /** WebhookResponse transition. */
                        public transition?: ("targetPage"|"targetFlow");

                        /**
                         * Creates a new WebhookResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns WebhookResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IWebhookResponse): google.cloud.dialogflow.cx.v3beta1.WebhookResponse;

                        /**
                         * Encodes the specified WebhookResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.WebhookResponse.verify|verify} messages.
                         * @param message WebhookResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IWebhookResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified WebhookResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.WebhookResponse.verify|verify} messages.
                         * @param message WebhookResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IWebhookResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a WebhookResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns WebhookResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.WebhookResponse;

                        /**
                         * Decodes a WebhookResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns WebhookResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.WebhookResponse;

                        /**
                         * Verifies a WebhookResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a WebhookResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns WebhookResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.WebhookResponse;

                        /**
                         * Creates a plain object from a WebhookResponse message. Also converts values to other types if specified.
                         * @param message WebhookResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.WebhookResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this WebhookResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for WebhookResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace WebhookResponse {

                        /** Properties of a FulfillmentResponse. */
                        interface IFulfillmentResponse {

                            /** FulfillmentResponse messages */
                            messages?: (google.cloud.dialogflow.cx.v3beta1.IResponseMessage[]|null);

                            /** FulfillmentResponse mergeBehavior */
                            mergeBehavior?: (google.cloud.dialogflow.cx.v3beta1.WebhookResponse.FulfillmentResponse.MergeBehavior|keyof typeof google.cloud.dialogflow.cx.v3beta1.WebhookResponse.FulfillmentResponse.MergeBehavior|null);
                        }

                        /** Represents a FulfillmentResponse. */
                        class FulfillmentResponse implements IFulfillmentResponse {

                            /**
                             * Constructs a new FulfillmentResponse.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.WebhookResponse.IFulfillmentResponse);

                            /** FulfillmentResponse messages. */
                            public messages: google.cloud.dialogflow.cx.v3beta1.IResponseMessage[];

                            /** FulfillmentResponse mergeBehavior. */
                            public mergeBehavior: (google.cloud.dialogflow.cx.v3beta1.WebhookResponse.FulfillmentResponse.MergeBehavior|keyof typeof google.cloud.dialogflow.cx.v3beta1.WebhookResponse.FulfillmentResponse.MergeBehavior);

                            /**
                             * Creates a new FulfillmentResponse instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns FulfillmentResponse instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.WebhookResponse.IFulfillmentResponse): google.cloud.dialogflow.cx.v3beta1.WebhookResponse.FulfillmentResponse;

                            /**
                             * Encodes the specified FulfillmentResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.WebhookResponse.FulfillmentResponse.verify|verify} messages.
                             * @param message FulfillmentResponse message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.WebhookResponse.IFulfillmentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified FulfillmentResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.WebhookResponse.FulfillmentResponse.verify|verify} messages.
                             * @param message FulfillmentResponse message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.WebhookResponse.IFulfillmentResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a FulfillmentResponse message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns FulfillmentResponse
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.WebhookResponse.FulfillmentResponse;

                            /**
                             * Decodes a FulfillmentResponse message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns FulfillmentResponse
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.WebhookResponse.FulfillmentResponse;

                            /**
                             * Verifies a FulfillmentResponse message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a FulfillmentResponse message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns FulfillmentResponse
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.WebhookResponse.FulfillmentResponse;

                            /**
                             * Creates a plain object from a FulfillmentResponse message. Also converts values to other types if specified.
                             * @param message FulfillmentResponse
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.WebhookResponse.FulfillmentResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this FulfillmentResponse to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for FulfillmentResponse
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace FulfillmentResponse {

                            /** MergeBehavior enum. */
                            enum MergeBehavior {
                                MERGE_BEHAVIOR_UNSPECIFIED = 0,
                                APPEND = 1,
                                REPLACE = 2
                            }
                        }
                    }

                    /** Properties of a PageInfo. */
                    interface IPageInfo {

                        /** PageInfo currentPage */
                        currentPage?: (string|null);

                        /** PageInfo displayName */
                        displayName?: (string|null);

                        /** PageInfo formInfo */
                        formInfo?: (google.cloud.dialogflow.cx.v3beta1.PageInfo.IFormInfo|null);
                    }

                    /** Represents a PageInfo. */
                    class PageInfo implements IPageInfo {

                        /**
                         * Constructs a new PageInfo.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IPageInfo);

                        /** PageInfo currentPage. */
                        public currentPage: string;

                        /** PageInfo displayName. */
                        public displayName: string;

                        /** PageInfo formInfo. */
                        public formInfo?: (google.cloud.dialogflow.cx.v3beta1.PageInfo.IFormInfo|null);

                        /**
                         * Creates a new PageInfo instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns PageInfo instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IPageInfo): google.cloud.dialogflow.cx.v3beta1.PageInfo;

                        /**
                         * Encodes the specified PageInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.PageInfo.verify|verify} messages.
                         * @param message PageInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IPageInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified PageInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.PageInfo.verify|verify} messages.
                         * @param message PageInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IPageInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a PageInfo message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns PageInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.PageInfo;

                        /**
                         * Decodes a PageInfo message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns PageInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.PageInfo;

                        /**
                         * Verifies a PageInfo message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a PageInfo message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns PageInfo
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.PageInfo;

                        /**
                         * Creates a plain object from a PageInfo message. Also converts values to other types if specified.
                         * @param message PageInfo
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.PageInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this PageInfo to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for PageInfo
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace PageInfo {

                        /** Properties of a FormInfo. */
                        interface IFormInfo {

                            /** FormInfo parameterInfo */
                            parameterInfo?: (google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.IParameterInfo[]|null);
                        }

                        /** Represents a FormInfo. */
                        class FormInfo implements IFormInfo {

                            /**
                             * Constructs a new FormInfo.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.PageInfo.IFormInfo);

                            /** FormInfo parameterInfo. */
                            public parameterInfo: google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.IParameterInfo[];

                            /**
                             * Creates a new FormInfo instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns FormInfo instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.PageInfo.IFormInfo): google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo;

                            /**
                             * Encodes the specified FormInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.verify|verify} messages.
                             * @param message FormInfo message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.PageInfo.IFormInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified FormInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.verify|verify} messages.
                             * @param message FormInfo message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.PageInfo.IFormInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a FormInfo message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns FormInfo
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo;

                            /**
                             * Decodes a FormInfo message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns FormInfo
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo;

                            /**
                             * Verifies a FormInfo message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a FormInfo message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns FormInfo
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo;

                            /**
                             * Creates a plain object from a FormInfo message. Also converts values to other types if specified.
                             * @param message FormInfo
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this FormInfo to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for FormInfo
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace FormInfo {

                            /** Properties of a ParameterInfo. */
                            interface IParameterInfo {

                                /** ParameterInfo displayName */
                                displayName?: (string|null);

                                /** ParameterInfo required */
                                required?: (boolean|null);

                                /** ParameterInfo state */
                                state?: (google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.ParameterInfo.ParameterState|keyof typeof google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.ParameterInfo.ParameterState|null);

                                /** ParameterInfo value */
                                value?: (google.protobuf.IValue|null);

                                /** ParameterInfo justCollected */
                                justCollected?: (boolean|null);
                            }

                            /** Represents a ParameterInfo. */
                            class ParameterInfo implements IParameterInfo {

                                /**
                                 * Constructs a new ParameterInfo.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.IParameterInfo);

                                /** ParameterInfo displayName. */
                                public displayName: string;

                                /** ParameterInfo required. */
                                public required: boolean;

                                /** ParameterInfo state. */
                                public state: (google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.ParameterInfo.ParameterState|keyof typeof google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.ParameterInfo.ParameterState);

                                /** ParameterInfo value. */
                                public value?: (google.protobuf.IValue|null);

                                /** ParameterInfo justCollected. */
                                public justCollected: boolean;

                                /**
                                 * Creates a new ParameterInfo instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns ParameterInfo instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.IParameterInfo): google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.ParameterInfo;

                                /**
                                 * Encodes the specified ParameterInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.ParameterInfo.verify|verify} messages.
                                 * @param message ParameterInfo message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.IParameterInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified ParameterInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.ParameterInfo.verify|verify} messages.
                                 * @param message ParameterInfo message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.IParameterInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a ParameterInfo message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns ParameterInfo
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.ParameterInfo;

                                /**
                                 * Decodes a ParameterInfo message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns ParameterInfo
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.ParameterInfo;

                                /**
                                 * Verifies a ParameterInfo message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a ParameterInfo message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns ParameterInfo
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.ParameterInfo;

                                /**
                                 * Creates a plain object from a ParameterInfo message. Also converts values to other types if specified.
                                 * @param message ParameterInfo
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.PageInfo.FormInfo.ParameterInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this ParameterInfo to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for ParameterInfo
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            namespace ParameterInfo {

                                /** ParameterState enum. */
                                enum ParameterState {
                                    PARAMETER_STATE_UNSPECIFIED = 0,
                                    EMPTY = 1,
                                    INVALID = 2,
                                    FILLED = 3
                                }
                            }
                        }
                    }

                    /** Properties of a SessionInfo. */
                    interface ISessionInfo {

                        /** SessionInfo session */
                        session?: (string|null);

                        /** SessionInfo parameters */
                        parameters?: ({ [k: string]: google.protobuf.IValue }|null);
                    }

                    /** Represents a SessionInfo. */
                    class SessionInfo implements ISessionInfo {

                        /**
                         * Constructs a new SessionInfo.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ISessionInfo);

                        /** SessionInfo session. */
                        public session: string;

                        /** SessionInfo parameters. */
                        public parameters: { [k: string]: google.protobuf.IValue };

                        /**
                         * Creates a new SessionInfo instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SessionInfo instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ISessionInfo): google.cloud.dialogflow.cx.v3beta1.SessionInfo;

                        /**
                         * Encodes the specified SessionInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SessionInfo.verify|verify} messages.
                         * @param message SessionInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ISessionInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SessionInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SessionInfo.verify|verify} messages.
                         * @param message SessionInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ISessionInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SessionInfo message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SessionInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.SessionInfo;

                        /**
                         * Decodes a SessionInfo message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SessionInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.SessionInfo;

                        /**
                         * Verifies a SessionInfo message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SessionInfo message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SessionInfo
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.SessionInfo;

                        /**
                         * Creates a plain object from a SessionInfo message. Also converts values to other types if specified.
                         * @param message SessionInfo
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.SessionInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SessionInfo to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SessionInfo
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a LanguageInfo. */
                    interface ILanguageInfo {

                        /** LanguageInfo inputLanguageCode */
                        inputLanguageCode?: (string|null);

                        /** LanguageInfo resolvedLanguageCode */
                        resolvedLanguageCode?: (string|null);

                        /** LanguageInfo confidenceScore */
                        confidenceScore?: (number|null);
                    }

                    /** Represents a LanguageInfo. */
                    class LanguageInfo implements ILanguageInfo {

                        /**
                         * Constructs a new LanguageInfo.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ILanguageInfo);

                        /** LanguageInfo inputLanguageCode. */
                        public inputLanguageCode: string;

                        /** LanguageInfo resolvedLanguageCode. */
                        public resolvedLanguageCode: string;

                        /** LanguageInfo confidenceScore. */
                        public confidenceScore: number;

                        /**
                         * Creates a new LanguageInfo instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns LanguageInfo instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ILanguageInfo): google.cloud.dialogflow.cx.v3beta1.LanguageInfo;

                        /**
                         * Encodes the specified LanguageInfo message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.LanguageInfo.verify|verify} messages.
                         * @param message LanguageInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ILanguageInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified LanguageInfo message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.LanguageInfo.verify|verify} messages.
                         * @param message LanguageInfo message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ILanguageInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a LanguageInfo message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns LanguageInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.LanguageInfo;

                        /**
                         * Decodes a LanguageInfo message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns LanguageInfo
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.LanguageInfo;

                        /**
                         * Verifies a LanguageInfo message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a LanguageInfo message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns LanguageInfo
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.LanguageInfo;

                        /**
                         * Creates a plain object from a LanguageInfo message. Also converts values to other types if specified.
                         * @param message LanguageInfo
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.LanguageInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this LanguageInfo to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for LanguageInfo
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a Deployments */
                    class Deployments extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Deployments 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 Deployments 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): Deployments;

                        /**
                         * Calls ListDeployments.
                         * @param request ListDeploymentsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListDeploymentsResponse
                         */
                        public listDeployments(request: google.cloud.dialogflow.cx.v3beta1.IListDeploymentsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Deployments.ListDeploymentsCallback): void;

                        /**
                         * Calls ListDeployments.
                         * @param request ListDeploymentsRequest message or plain object
                         * @returns Promise
                         */
                        public listDeployments(request: google.cloud.dialogflow.cx.v3beta1.IListDeploymentsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListDeploymentsResponse>;

                        /**
                         * Calls GetDeployment.
                         * @param request GetDeploymentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Deployment
                         */
                        public getDeployment(request: google.cloud.dialogflow.cx.v3beta1.IGetDeploymentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Deployments.GetDeploymentCallback): void;

                        /**
                         * Calls GetDeployment.
                         * @param request GetDeploymentRequest message or plain object
                         * @returns Promise
                         */
                        public getDeployment(request: google.cloud.dialogflow.cx.v3beta1.IGetDeploymentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Deployment>;
                    }

                    namespace Deployments {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Deployments|listDeployments}.
                         * @param error Error, if any
                         * @param [response] ListDeploymentsResponse
                         */
                        type ListDeploymentsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListDeploymentsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Deployments|getDeployment}.
                         * @param error Error, if any
                         * @param [response] Deployment
                         */
                        type GetDeploymentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Deployment) => void;
                    }

                    /** Properties of a Deployment. */
                    interface IDeployment {

                        /** Deployment name */
                        name?: (string|null);

                        /** Deployment flowVersion */
                        flowVersion?: (string|null);

                        /** Deployment state */
                        state?: (google.cloud.dialogflow.cx.v3beta1.Deployment.State|keyof typeof google.cloud.dialogflow.cx.v3beta1.Deployment.State|null);

                        /** Deployment result */
                        result?: (google.cloud.dialogflow.cx.v3beta1.Deployment.IResult|null);

                        /** Deployment startTime */
                        startTime?: (google.protobuf.ITimestamp|null);

                        /** Deployment endTime */
                        endTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a Deployment. */
                    class Deployment implements IDeployment {

                        /**
                         * Constructs a new Deployment.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeployment);

                        /** Deployment name. */
                        public name: string;

                        /** Deployment flowVersion. */
                        public flowVersion: string;

                        /** Deployment state. */
                        public state: (google.cloud.dialogflow.cx.v3beta1.Deployment.State|keyof typeof google.cloud.dialogflow.cx.v3beta1.Deployment.State);

                        /** Deployment result. */
                        public result?: (google.cloud.dialogflow.cx.v3beta1.Deployment.IResult|null);

                        /** Deployment startTime. */
                        public startTime?: (google.protobuf.ITimestamp|null);

                        /** Deployment endTime. */
                        public endTime?: (google.protobuf.ITimestamp|null);

                        /**
                         * Creates a new Deployment instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Deployment instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeployment): google.cloud.dialogflow.cx.v3beta1.Deployment;

                        /**
                         * Encodes the specified Deployment message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Deployment.verify|verify} messages.
                         * @param message Deployment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeployment, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Deployment message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Deployment.verify|verify} messages.
                         * @param message Deployment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeployment, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Deployment message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Deployment
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Deployment;

                        /**
                         * Decodes a Deployment message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Deployment
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Deployment;

                        /**
                         * Verifies a Deployment message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Deployment message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Deployment
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Deployment;

                        /**
                         * Creates a plain object from a Deployment message. Also converts values to other types if specified.
                         * @param message Deployment
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Deployment, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Deployment to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Deployment
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Deployment {

                        /** State enum. */
                        enum State {
                            STATE_UNSPECIFIED = 0,
                            RUNNING = 1,
                            SUCCEEDED = 2,
                            FAILED = 3
                        }

                        /** Properties of a Result. */
                        interface IResult {

                            /** Result deploymentTestResults */
                            deploymentTestResults?: (string[]|null);

                            /** Result experiment */
                            experiment?: (string|null);
                        }

                        /** Represents a Result. */
                        class Result implements IResult {

                            /**
                             * Constructs a new Result.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Deployment.IResult);

                            /** Result deploymentTestResults. */
                            public deploymentTestResults: string[];

                            /** Result experiment. */
                            public experiment: string;

                            /**
                             * Creates a new Result instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Result instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Deployment.IResult): google.cloud.dialogflow.cx.v3beta1.Deployment.Result;

                            /**
                             * Encodes the specified Result message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Deployment.Result.verify|verify} messages.
                             * @param message Result message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Deployment.IResult, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Deployment.Result.verify|verify} messages.
                             * @param message Result message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Deployment.IResult, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Result message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Result
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Deployment.Result;

                            /**
                             * Decodes a Result message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Result
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Deployment.Result;

                            /**
                             * Verifies a Result message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Result message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Result
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Deployment.Result;

                            /**
                             * Creates a plain object from a Result message. Also converts values to other types if specified.
                             * @param message Result
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Deployment.Result, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Result to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Result
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a ListDeploymentsRequest. */
                    interface IListDeploymentsRequest {

                        /** ListDeploymentsRequest parent */
                        parent?: (string|null);

                        /** ListDeploymentsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListDeploymentsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListDeploymentsRequest. */
                    class ListDeploymentsRequest implements IListDeploymentsRequest {

                        /**
                         * Constructs a new ListDeploymentsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListDeploymentsRequest);

                        /** ListDeploymentsRequest parent. */
                        public parent: string;

                        /** ListDeploymentsRequest pageSize. */
                        public pageSize: number;

                        /** ListDeploymentsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListDeploymentsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListDeploymentsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListDeploymentsRequest): google.cloud.dialogflow.cx.v3beta1.ListDeploymentsRequest;

                        /**
                         * Encodes the specified ListDeploymentsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListDeploymentsRequest.verify|verify} messages.
                         * @param message ListDeploymentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListDeploymentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListDeploymentsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListDeploymentsRequest.verify|verify} messages.
                         * @param message ListDeploymentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListDeploymentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListDeploymentsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListDeploymentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListDeploymentsRequest;

                        /**
                         * Decodes a ListDeploymentsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListDeploymentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListDeploymentsRequest;

                        /**
                         * Verifies a ListDeploymentsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListDeploymentsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListDeploymentsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListDeploymentsRequest;

                        /**
                         * Creates a plain object from a ListDeploymentsRequest message. Also converts values to other types if specified.
                         * @param message ListDeploymentsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListDeploymentsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListDeploymentsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListDeploymentsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListDeploymentsResponse. */
                    interface IListDeploymentsResponse {

                        /** ListDeploymentsResponse deployments */
                        deployments?: (google.cloud.dialogflow.cx.v3beta1.IDeployment[]|null);

                        /** ListDeploymentsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListDeploymentsResponse. */
                    class ListDeploymentsResponse implements IListDeploymentsResponse {

                        /**
                         * Constructs a new ListDeploymentsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListDeploymentsResponse);

                        /** ListDeploymentsResponse deployments. */
                        public deployments: google.cloud.dialogflow.cx.v3beta1.IDeployment[];

                        /** ListDeploymentsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListDeploymentsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListDeploymentsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListDeploymentsResponse): google.cloud.dialogflow.cx.v3beta1.ListDeploymentsResponse;

                        /**
                         * Encodes the specified ListDeploymentsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListDeploymentsResponse.verify|verify} messages.
                         * @param message ListDeploymentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListDeploymentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListDeploymentsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListDeploymentsResponse.verify|verify} messages.
                         * @param message ListDeploymentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListDeploymentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListDeploymentsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListDeploymentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListDeploymentsResponse;

                        /**
                         * Decodes a ListDeploymentsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListDeploymentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListDeploymentsResponse;

                        /**
                         * Verifies a ListDeploymentsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListDeploymentsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListDeploymentsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListDeploymentsResponse;

                        /**
                         * Creates a plain object from a ListDeploymentsResponse message. Also converts values to other types if specified.
                         * @param message ListDeploymentsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListDeploymentsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListDeploymentsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListDeploymentsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetDeploymentRequest. */
                    interface IGetDeploymentRequest {

                        /** GetDeploymentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetDeploymentRequest. */
                    class GetDeploymentRequest implements IGetDeploymentRequest {

                        /**
                         * Constructs a new GetDeploymentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetDeploymentRequest);

                        /** GetDeploymentRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetDeploymentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetDeploymentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetDeploymentRequest): google.cloud.dialogflow.cx.v3beta1.GetDeploymentRequest;

                        /**
                         * Encodes the specified GetDeploymentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetDeploymentRequest.verify|verify} messages.
                         * @param message GetDeploymentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetDeploymentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetDeploymentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetDeploymentRequest.verify|verify} messages.
                         * @param message GetDeploymentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetDeploymentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetDeploymentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetDeploymentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetDeploymentRequest;

                        /**
                         * Decodes a GetDeploymentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetDeploymentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetDeploymentRequest;

                        /**
                         * Verifies a GetDeploymentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetDeploymentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetDeploymentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetDeploymentRequest;

                        /**
                         * Creates a plain object from a GetDeploymentRequest message. Also converts values to other types if specified.
                         * @param message GetDeploymentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetDeploymentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetDeploymentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetDeploymentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents an Experiments */
                    class Experiments extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Experiments 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 Experiments 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): Experiments;

                        /**
                         * Calls ListExperiments.
                         * @param request ListExperimentsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListExperimentsResponse
                         */
                        public listExperiments(request: google.cloud.dialogflow.cx.v3beta1.IListExperimentsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Experiments.ListExperimentsCallback): void;

                        /**
                         * Calls ListExperiments.
                         * @param request ListExperimentsRequest message or plain object
                         * @returns Promise
                         */
                        public listExperiments(request: google.cloud.dialogflow.cx.v3beta1.IListExperimentsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListExperimentsResponse>;

                        /**
                         * Calls GetExperiment.
                         * @param request GetExperimentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Experiment
                         */
                        public getExperiment(request: google.cloud.dialogflow.cx.v3beta1.IGetExperimentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Experiments.GetExperimentCallback): void;

                        /**
                         * Calls GetExperiment.
                         * @param request GetExperimentRequest message or plain object
                         * @returns Promise
                         */
                        public getExperiment(request: google.cloud.dialogflow.cx.v3beta1.IGetExperimentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Experiment>;

                        /**
                         * Calls CreateExperiment.
                         * @param request CreateExperimentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Experiment
                         */
                        public createExperiment(request: google.cloud.dialogflow.cx.v3beta1.ICreateExperimentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Experiments.CreateExperimentCallback): void;

                        /**
                         * Calls CreateExperiment.
                         * @param request CreateExperimentRequest message or plain object
                         * @returns Promise
                         */
                        public createExperiment(request: google.cloud.dialogflow.cx.v3beta1.ICreateExperimentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Experiment>;

                        /**
                         * Calls UpdateExperiment.
                         * @param request UpdateExperimentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Experiment
                         */
                        public updateExperiment(request: google.cloud.dialogflow.cx.v3beta1.IUpdateExperimentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Experiments.UpdateExperimentCallback): void;

                        /**
                         * Calls UpdateExperiment.
                         * @param request UpdateExperimentRequest message or plain object
                         * @returns Promise
                         */
                        public updateExperiment(request: google.cloud.dialogflow.cx.v3beta1.IUpdateExperimentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Experiment>;

                        /**
                         * Calls DeleteExperiment.
                         * @param request DeleteExperimentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteExperiment(request: google.cloud.dialogflow.cx.v3beta1.IDeleteExperimentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Experiments.DeleteExperimentCallback): void;

                        /**
                         * Calls DeleteExperiment.
                         * @param request DeleteExperimentRequest message or plain object
                         * @returns Promise
                         */
                        public deleteExperiment(request: google.cloud.dialogflow.cx.v3beta1.IDeleteExperimentRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls StartExperiment.
                         * @param request StartExperimentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Experiment
                         */
                        public startExperiment(request: google.cloud.dialogflow.cx.v3beta1.IStartExperimentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Experiments.StartExperimentCallback): void;

                        /**
                         * Calls StartExperiment.
                         * @param request StartExperimentRequest message or plain object
                         * @returns Promise
                         */
                        public startExperiment(request: google.cloud.dialogflow.cx.v3beta1.IStartExperimentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Experiment>;

                        /**
                         * Calls StopExperiment.
                         * @param request StopExperimentRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Experiment
                         */
                        public stopExperiment(request: google.cloud.dialogflow.cx.v3beta1.IStopExperimentRequest, callback: google.cloud.dialogflow.cx.v3beta1.Experiments.StopExperimentCallback): void;

                        /**
                         * Calls StopExperiment.
                         * @param request StopExperimentRequest message or plain object
                         * @returns Promise
                         */
                        public stopExperiment(request: google.cloud.dialogflow.cx.v3beta1.IStopExperimentRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Experiment>;
                    }

                    namespace Experiments {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Experiments|listExperiments}.
                         * @param error Error, if any
                         * @param [response] ListExperimentsResponse
                         */
                        type ListExperimentsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListExperimentsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Experiments|getExperiment}.
                         * @param error Error, if any
                         * @param [response] Experiment
                         */
                        type GetExperimentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Experiment) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Experiments|createExperiment}.
                         * @param error Error, if any
                         * @param [response] Experiment
                         */
                        type CreateExperimentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Experiment) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Experiments|updateExperiment}.
                         * @param error Error, if any
                         * @param [response] Experiment
                         */
                        type UpdateExperimentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Experiment) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Experiments|deleteExperiment}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteExperimentCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Experiments|startExperiment}.
                         * @param error Error, if any
                         * @param [response] Experiment
                         */
                        type StartExperimentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Experiment) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Experiments|stopExperiment}.
                         * @param error Error, if any
                         * @param [response] Experiment
                         */
                        type StopExperimentCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Experiment) => void;
                    }

                    /** Properties of an Experiment. */
                    interface IExperiment {

                        /** Experiment name */
                        name?: (string|null);

                        /** Experiment displayName */
                        displayName?: (string|null);

                        /** Experiment description */
                        description?: (string|null);

                        /** Experiment state */
                        state?: (google.cloud.dialogflow.cx.v3beta1.Experiment.State|keyof typeof google.cloud.dialogflow.cx.v3beta1.Experiment.State|null);

                        /** Experiment definition */
                        definition?: (google.cloud.dialogflow.cx.v3beta1.Experiment.IDefinition|null);

                        /** Experiment rolloutConfig */
                        rolloutConfig?: (google.cloud.dialogflow.cx.v3beta1.IRolloutConfig|null);

                        /** Experiment rolloutState */
                        rolloutState?: (google.cloud.dialogflow.cx.v3beta1.IRolloutState|null);

                        /** Experiment rolloutFailureReason */
                        rolloutFailureReason?: (string|null);

                        /** Experiment result */
                        result?: (google.cloud.dialogflow.cx.v3beta1.Experiment.IResult|null);

                        /** Experiment createTime */
                        createTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment startTime */
                        startTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment endTime */
                        endTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment lastUpdateTime */
                        lastUpdateTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment experimentLength */
                        experimentLength?: (google.protobuf.IDuration|null);

                        /** Experiment variantsHistory */
                        variantsHistory?: (google.cloud.dialogflow.cx.v3beta1.IVariantsHistory[]|null);
                    }

                    /** Represents an Experiment. */
                    class Experiment implements IExperiment {

                        /**
                         * Constructs a new Experiment.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExperiment);

                        /** Experiment name. */
                        public name: string;

                        /** Experiment displayName. */
                        public displayName: string;

                        /** Experiment description. */
                        public description: string;

                        /** Experiment state. */
                        public state: (google.cloud.dialogflow.cx.v3beta1.Experiment.State|keyof typeof google.cloud.dialogflow.cx.v3beta1.Experiment.State);

                        /** Experiment definition. */
                        public definition?: (google.cloud.dialogflow.cx.v3beta1.Experiment.IDefinition|null);

                        /** Experiment rolloutConfig. */
                        public rolloutConfig?: (google.cloud.dialogflow.cx.v3beta1.IRolloutConfig|null);

                        /** Experiment rolloutState. */
                        public rolloutState?: (google.cloud.dialogflow.cx.v3beta1.IRolloutState|null);

                        /** Experiment rolloutFailureReason. */
                        public rolloutFailureReason: string;

                        /** Experiment result. */
                        public result?: (google.cloud.dialogflow.cx.v3beta1.Experiment.IResult|null);

                        /** Experiment createTime. */
                        public createTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment startTime. */
                        public startTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment endTime. */
                        public endTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment lastUpdateTime. */
                        public lastUpdateTime?: (google.protobuf.ITimestamp|null);

                        /** Experiment experimentLength. */
                        public experimentLength?: (google.protobuf.IDuration|null);

                        /** Experiment variantsHistory. */
                        public variantsHistory: google.cloud.dialogflow.cx.v3beta1.IVariantsHistory[];

                        /**
                         * Creates a new Experiment instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Experiment instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExperiment): google.cloud.dialogflow.cx.v3beta1.Experiment;

                        /**
                         * Encodes the specified Experiment message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Experiment.verify|verify} messages.
                         * @param message Experiment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExperiment, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Experiment message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Experiment.verify|verify} messages.
                         * @param message Experiment message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExperiment, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an Experiment message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Experiment
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Experiment;

                        /**
                         * Decodes an Experiment message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Experiment
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Experiment;

                        /**
                         * Verifies an Experiment message.
                         * @param message Plain 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 Experiment message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Experiment
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Experiment;

                        /**
                         * Creates a plain object from an Experiment message. Also converts values to other types if specified.
                         * @param message Experiment
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Experiment, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Experiment to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Experiment
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Experiment {

                        /** State enum. */
                        enum State {
                            STATE_UNSPECIFIED = 0,
                            DRAFT = 1,
                            RUNNING = 2,
                            DONE = 3,
                            ROLLOUT_FAILED = 4
                        }

                        /** Properties of a Definition. */
                        interface IDefinition {

                            /** Definition condition */
                            condition?: (string|null);

                            /** Definition versionVariants */
                            versionVariants?: (google.cloud.dialogflow.cx.v3beta1.IVersionVariants|null);
                        }

                        /** Represents a Definition. */
                        class Definition implements IDefinition {

                            /**
                             * Constructs a new Definition.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Experiment.IDefinition);

                            /** Definition condition. */
                            public condition: string;

                            /** Definition versionVariants. */
                            public versionVariants?: (google.cloud.dialogflow.cx.v3beta1.IVersionVariants|null);

                            /** Definition variants. */
                            public variants?: "versionVariants";

                            /**
                             * Creates a new Definition instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Definition instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Experiment.IDefinition): google.cloud.dialogflow.cx.v3beta1.Experiment.Definition;

                            /**
                             * Encodes the specified Definition message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Experiment.Definition.verify|verify} messages.
                             * @param message Definition message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Experiment.IDefinition, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Definition message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Experiment.Definition.verify|verify} messages.
                             * @param message Definition message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Experiment.IDefinition, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Definition message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Definition
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Experiment.Definition;

                            /**
                             * Decodes a Definition message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Definition
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Experiment.Definition;

                            /**
                             * Verifies a Definition message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Definition message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Definition
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Experiment.Definition;

                            /**
                             * Creates a plain object from a Definition message. Also converts values to other types if specified.
                             * @param message Definition
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Experiment.Definition, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Definition to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Definition
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a Result. */
                        interface IResult {

                            /** Result versionMetrics */
                            versionMetrics?: (google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IVersionMetrics[]|null);

                            /** Result lastUpdateTime */
                            lastUpdateTime?: (google.protobuf.ITimestamp|null);
                        }

                        /** Represents a Result. */
                        class Result implements IResult {

                            /**
                             * Constructs a new Result.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Experiment.IResult);

                            /** Result versionMetrics. */
                            public versionMetrics: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IVersionMetrics[];

                            /** Result lastUpdateTime. */
                            public lastUpdateTime?: (google.protobuf.ITimestamp|null);

                            /**
                             * Creates a new Result instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Result instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Experiment.IResult): google.cloud.dialogflow.cx.v3beta1.Experiment.Result;

                            /**
                             * Encodes the specified Result message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Experiment.Result.verify|verify} messages.
                             * @param message Result message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Experiment.IResult, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Result message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Experiment.Result.verify|verify} messages.
                             * @param message Result message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Experiment.IResult, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Result message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Result
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Experiment.Result;

                            /**
                             * Decodes a Result message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Result
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Experiment.Result;

                            /**
                             * Verifies a Result message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Result message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Result
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Experiment.Result;

                            /**
                             * Creates a plain object from a Result message. Also converts values to other types if specified.
                             * @param message Result
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Experiment.Result, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Result to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Result
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace Result {

                            /** MetricType enum. */
                            enum MetricType {
                                METRIC_UNSPECIFIED = 0,
                                CONTAINED_SESSION_NO_CALLBACK_RATE = 1,
                                LIVE_AGENT_HANDOFF_RATE = 2,
                                CALLBACK_SESSION_RATE = 3,
                                ABANDONED_SESSION_RATE = 4,
                                SESSION_END_RATE = 5
                            }

                            /** CountType enum. */
                            enum CountType {
                                COUNT_TYPE_UNSPECIFIED = 0,
                                TOTAL_NO_MATCH_COUNT = 1,
                                TOTAL_TURN_COUNT = 2,
                                AVERAGE_TURN_COUNT = 3
                            }

                            /** Properties of a ConfidenceInterval. */
                            interface IConfidenceInterval {

                                /** ConfidenceInterval confidenceLevel */
                                confidenceLevel?: (number|null);

                                /** ConfidenceInterval ratio */
                                ratio?: (number|null);

                                /** ConfidenceInterval lowerBound */
                                lowerBound?: (number|null);

                                /** ConfidenceInterval upperBound */
                                upperBound?: (number|null);
                            }

                            /** Represents a ConfidenceInterval. */
                            class ConfidenceInterval implements IConfidenceInterval {

                                /**
                                 * Constructs a new ConfidenceInterval.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IConfidenceInterval);

                                /** ConfidenceInterval confidenceLevel. */
                                public confidenceLevel: number;

                                /** ConfidenceInterval ratio. */
                                public ratio: number;

                                /** ConfidenceInterval lowerBound. */
                                public lowerBound: number;

                                /** ConfidenceInterval upperBound. */
                                public upperBound: number;

                                /**
                                 * Creates a new ConfidenceInterval instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns ConfidenceInterval instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IConfidenceInterval): google.cloud.dialogflow.cx.v3beta1.Experiment.Result.ConfidenceInterval;

                                /**
                                 * Encodes the specified ConfidenceInterval message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Experiment.Result.ConfidenceInterval.verify|verify} messages.
                                 * @param message ConfidenceInterval message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IConfidenceInterval, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified ConfidenceInterval message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Experiment.Result.ConfidenceInterval.verify|verify} messages.
                                 * @param message ConfidenceInterval message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IConfidenceInterval, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a ConfidenceInterval message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns ConfidenceInterval
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Experiment.Result.ConfidenceInterval;

                                /**
                                 * Decodes a ConfidenceInterval message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns ConfidenceInterval
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Experiment.Result.ConfidenceInterval;

                                /**
                                 * Verifies a ConfidenceInterval message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a ConfidenceInterval message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns ConfidenceInterval
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Experiment.Result.ConfidenceInterval;

                                /**
                                 * Creates a plain object from a ConfidenceInterval message. Also converts values to other types if specified.
                                 * @param message ConfidenceInterval
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.ConfidenceInterval, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this ConfidenceInterval to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for ConfidenceInterval
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            /** Properties of a Metric. */
                            interface IMetric {

                                /** Metric type */
                                type?: (google.cloud.dialogflow.cx.v3beta1.Experiment.Result.MetricType|keyof typeof google.cloud.dialogflow.cx.v3beta1.Experiment.Result.MetricType|null);

                                /** Metric countType */
                                countType?: (google.cloud.dialogflow.cx.v3beta1.Experiment.Result.CountType|keyof typeof google.cloud.dialogflow.cx.v3beta1.Experiment.Result.CountType|null);

                                /** Metric ratio */
                                ratio?: (number|null);

                                /** Metric count */
                                count?: (number|null);

                                /** Metric confidenceInterval */
                                confidenceInterval?: (google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IConfidenceInterval|null);
                            }

                            /** Represents a Metric. */
                            class Metric implements IMetric {

                                /**
                                 * Constructs a new Metric.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IMetric);

                                /** Metric type. */
                                public type: (google.cloud.dialogflow.cx.v3beta1.Experiment.Result.MetricType|keyof typeof google.cloud.dialogflow.cx.v3beta1.Experiment.Result.MetricType);

                                /** Metric countType. */
                                public countType: (google.cloud.dialogflow.cx.v3beta1.Experiment.Result.CountType|keyof typeof google.cloud.dialogflow.cx.v3beta1.Experiment.Result.CountType);

                                /** Metric ratio. */
                                public ratio?: (number|null);

                                /** Metric count. */
                                public count?: (number|null);

                                /** Metric confidenceInterval. */
                                public confidenceInterval?: (google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IConfidenceInterval|null);

                                /** Metric value. */
                                public value?: ("ratio"|"count");

                                /**
                                 * Creates a new Metric instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns Metric instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IMetric): google.cloud.dialogflow.cx.v3beta1.Experiment.Result.Metric;

                                /**
                                 * Encodes the specified Metric message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Experiment.Result.Metric.verify|verify} messages.
                                 * @param message Metric message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IMetric, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified Metric message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Experiment.Result.Metric.verify|verify} messages.
                                 * @param message Metric message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IMetric, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a Metric message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns Metric
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Experiment.Result.Metric;

                                /**
                                 * Decodes a Metric message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns Metric
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Experiment.Result.Metric;

                                /**
                                 * Verifies a Metric message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a Metric message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns Metric
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Experiment.Result.Metric;

                                /**
                                 * Creates a plain object from a Metric message. Also converts values to other types if specified.
                                 * @param message Metric
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.Metric, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this Metric to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for Metric
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            /** Properties of a VersionMetrics. */
                            interface IVersionMetrics {

                                /** VersionMetrics version */
                                version?: (string|null);

                                /** VersionMetrics metrics */
                                metrics?: (google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IMetric[]|null);

                                /** VersionMetrics sessionCount */
                                sessionCount?: (number|null);
                            }

                            /** Represents a VersionMetrics. */
                            class VersionMetrics implements IVersionMetrics {

                                /**
                                 * Constructs a new VersionMetrics.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IVersionMetrics);

                                /** VersionMetrics version. */
                                public version: string;

                                /** VersionMetrics metrics. */
                                public metrics: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IMetric[];

                                /** VersionMetrics sessionCount. */
                                public sessionCount: number;

                                /**
                                 * Creates a new VersionMetrics instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns VersionMetrics instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IVersionMetrics): google.cloud.dialogflow.cx.v3beta1.Experiment.Result.VersionMetrics;

                                /**
                                 * Encodes the specified VersionMetrics message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Experiment.Result.VersionMetrics.verify|verify} messages.
                                 * @param message VersionMetrics message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IVersionMetrics, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified VersionMetrics message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Experiment.Result.VersionMetrics.verify|verify} messages.
                                 * @param message VersionMetrics message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.IVersionMetrics, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a VersionMetrics message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns VersionMetrics
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Experiment.Result.VersionMetrics;

                                /**
                                 * Decodes a VersionMetrics message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns VersionMetrics
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Experiment.Result.VersionMetrics;

                                /**
                                 * Verifies a VersionMetrics message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a VersionMetrics message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns VersionMetrics
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Experiment.Result.VersionMetrics;

                                /**
                                 * Creates a plain object from a VersionMetrics message. Also converts values to other types if specified.
                                 * @param message VersionMetrics
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Experiment.Result.VersionMetrics, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this VersionMetrics to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for VersionMetrics
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }
                    }

                    /** Properties of a VersionVariants. */
                    interface IVersionVariants {

                        /** VersionVariants variants */
                        variants?: (google.cloud.dialogflow.cx.v3beta1.VersionVariants.IVariant[]|null);
                    }

                    /** Represents a VersionVariants. */
                    class VersionVariants implements IVersionVariants {

                        /**
                         * Constructs a new VersionVariants.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IVersionVariants);

                        /** VersionVariants variants. */
                        public variants: google.cloud.dialogflow.cx.v3beta1.VersionVariants.IVariant[];

                        /**
                         * Creates a new VersionVariants instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns VersionVariants instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IVersionVariants): google.cloud.dialogflow.cx.v3beta1.VersionVariants;

                        /**
                         * Encodes the specified VersionVariants message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.VersionVariants.verify|verify} messages.
                         * @param message VersionVariants message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IVersionVariants, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified VersionVariants message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.VersionVariants.verify|verify} messages.
                         * @param message VersionVariants message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IVersionVariants, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a VersionVariants message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns VersionVariants
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.VersionVariants;

                        /**
                         * Decodes a VersionVariants message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns VersionVariants
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.VersionVariants;

                        /**
                         * Verifies a VersionVariants message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a VersionVariants message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns VersionVariants
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.VersionVariants;

                        /**
                         * Creates a plain object from a VersionVariants message. Also converts values to other types if specified.
                         * @param message VersionVariants
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.VersionVariants, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this VersionVariants to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for VersionVariants
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace VersionVariants {

                        /** Properties of a Variant. */
                        interface IVariant {

                            /** Variant version */
                            version?: (string|null);

                            /** Variant trafficAllocation */
                            trafficAllocation?: (number|null);

                            /** Variant isControlGroup */
                            isControlGroup?: (boolean|null);
                        }

                        /** Represents a Variant. */
                        class Variant implements IVariant {

                            /**
                             * Constructs a new Variant.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.VersionVariants.IVariant);

                            /** Variant version. */
                            public version: string;

                            /** Variant trafficAllocation. */
                            public trafficAllocation: number;

                            /** Variant isControlGroup. */
                            public isControlGroup: boolean;

                            /**
                             * Creates a new Variant instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Variant instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.VersionVariants.IVariant): google.cloud.dialogflow.cx.v3beta1.VersionVariants.Variant;

                            /**
                             * Encodes the specified Variant message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.VersionVariants.Variant.verify|verify} messages.
                             * @param message Variant message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.VersionVariants.IVariant, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Variant message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.VersionVariants.Variant.verify|verify} messages.
                             * @param message Variant message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.VersionVariants.IVariant, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Variant message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Variant
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.VersionVariants.Variant;

                            /**
                             * Decodes a Variant message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Variant
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.VersionVariants.Variant;

                            /**
                             * Verifies a Variant message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Variant message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Variant
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.VersionVariants.Variant;

                            /**
                             * Creates a plain object from a Variant message. Also converts values to other types if specified.
                             * @param message Variant
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.VersionVariants.Variant, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Variant to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Variant
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a RolloutConfig. */
                    interface IRolloutConfig {

                        /** RolloutConfig rolloutSteps */
                        rolloutSteps?: (google.cloud.dialogflow.cx.v3beta1.RolloutConfig.IRolloutStep[]|null);

                        /** RolloutConfig rolloutCondition */
                        rolloutCondition?: (string|null);

                        /** RolloutConfig failureCondition */
                        failureCondition?: (string|null);
                    }

                    /** Represents a RolloutConfig. */
                    class RolloutConfig implements IRolloutConfig {

                        /**
                         * Constructs a new RolloutConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IRolloutConfig);

                        /** RolloutConfig rolloutSteps. */
                        public rolloutSteps: google.cloud.dialogflow.cx.v3beta1.RolloutConfig.IRolloutStep[];

                        /** RolloutConfig rolloutCondition. */
                        public rolloutCondition: string;

                        /** RolloutConfig failureCondition. */
                        public failureCondition: string;

                        /**
                         * Creates a new RolloutConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RolloutConfig instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IRolloutConfig): google.cloud.dialogflow.cx.v3beta1.RolloutConfig;

                        /**
                         * Encodes the specified RolloutConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RolloutConfig.verify|verify} messages.
                         * @param message RolloutConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IRolloutConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RolloutConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RolloutConfig.verify|verify} messages.
                         * @param message RolloutConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IRolloutConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RolloutConfig message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RolloutConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.RolloutConfig;

                        /**
                         * Decodes a RolloutConfig message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RolloutConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.RolloutConfig;

                        /**
                         * Verifies a RolloutConfig message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RolloutConfig message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RolloutConfig
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.RolloutConfig;

                        /**
                         * Creates a plain object from a RolloutConfig message. Also converts values to other types if specified.
                         * @param message RolloutConfig
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.RolloutConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RolloutConfig to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RolloutConfig
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace RolloutConfig {

                        /** Properties of a RolloutStep. */
                        interface IRolloutStep {

                            /** RolloutStep displayName */
                            displayName?: (string|null);

                            /** RolloutStep trafficPercent */
                            trafficPercent?: (number|null);

                            /** RolloutStep minDuration */
                            minDuration?: (google.protobuf.IDuration|null);
                        }

                        /** Represents a RolloutStep. */
                        class RolloutStep implements IRolloutStep {

                            /**
                             * Constructs a new RolloutStep.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.RolloutConfig.IRolloutStep);

                            /** RolloutStep displayName. */
                            public displayName: string;

                            /** RolloutStep trafficPercent. */
                            public trafficPercent: number;

                            /** RolloutStep minDuration. */
                            public minDuration?: (google.protobuf.IDuration|null);

                            /**
                             * Creates a new RolloutStep instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns RolloutStep instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.RolloutConfig.IRolloutStep): google.cloud.dialogflow.cx.v3beta1.RolloutConfig.RolloutStep;

                            /**
                             * Encodes the specified RolloutStep message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RolloutConfig.RolloutStep.verify|verify} messages.
                             * @param message RolloutStep message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.RolloutConfig.IRolloutStep, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified RolloutStep message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RolloutConfig.RolloutStep.verify|verify} messages.
                             * @param message RolloutStep message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.RolloutConfig.IRolloutStep, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a RolloutStep message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns RolloutStep
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.RolloutConfig.RolloutStep;

                            /**
                             * Decodes a RolloutStep message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns RolloutStep
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.RolloutConfig.RolloutStep;

                            /**
                             * Verifies a RolloutStep message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a RolloutStep message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns RolloutStep
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.RolloutConfig.RolloutStep;

                            /**
                             * Creates a plain object from a RolloutStep message. Also converts values to other types if specified.
                             * @param message RolloutStep
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.RolloutConfig.RolloutStep, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this RolloutStep to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for RolloutStep
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a RolloutState. */
                    interface IRolloutState {

                        /** RolloutState step */
                        step?: (string|null);

                        /** RolloutState stepIndex */
                        stepIndex?: (number|null);

                        /** RolloutState startTime */
                        startTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a RolloutState. */
                    class RolloutState implements IRolloutState {

                        /**
                         * Constructs a new RolloutState.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IRolloutState);

                        /** RolloutState step. */
                        public step: string;

                        /** RolloutState stepIndex. */
                        public stepIndex: number;

                        /** RolloutState startTime. */
                        public startTime?: (google.protobuf.ITimestamp|null);

                        /**
                         * Creates a new RolloutState instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RolloutState instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IRolloutState): google.cloud.dialogflow.cx.v3beta1.RolloutState;

                        /**
                         * Encodes the specified RolloutState message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RolloutState.verify|verify} messages.
                         * @param message RolloutState message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IRolloutState, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RolloutState message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RolloutState.verify|verify} messages.
                         * @param message RolloutState message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IRolloutState, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RolloutState message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RolloutState
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.RolloutState;

                        /**
                         * Decodes a RolloutState message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RolloutState
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.RolloutState;

                        /**
                         * Verifies a RolloutState message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RolloutState message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RolloutState
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.RolloutState;

                        /**
                         * Creates a plain object from a RolloutState message. Also converts values to other types if specified.
                         * @param message RolloutState
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.RolloutState, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RolloutState to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RolloutState
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a VariantsHistory. */
                    interface IVariantsHistory {

                        /** VariantsHistory versionVariants */
                        versionVariants?: (google.cloud.dialogflow.cx.v3beta1.IVersionVariants|null);

                        /** VariantsHistory updateTime */
                        updateTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a VariantsHistory. */
                    class VariantsHistory implements IVariantsHistory {

                        /**
                         * Constructs a new VariantsHistory.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IVariantsHistory);

                        /** VariantsHistory versionVariants. */
                        public versionVariants?: (google.cloud.dialogflow.cx.v3beta1.IVersionVariants|null);

                        /** VariantsHistory updateTime. */
                        public updateTime?: (google.protobuf.ITimestamp|null);

                        /** VariantsHistory variants. */
                        public variants?: "versionVariants";

                        /**
                         * Creates a new VariantsHistory instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns VariantsHistory instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IVariantsHistory): google.cloud.dialogflow.cx.v3beta1.VariantsHistory;

                        /**
                         * Encodes the specified VariantsHistory message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.VariantsHistory.verify|verify} messages.
                         * @param message VariantsHistory message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IVariantsHistory, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified VariantsHistory message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.VariantsHistory.verify|verify} messages.
                         * @param message VariantsHistory message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IVariantsHistory, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a VariantsHistory message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns VariantsHistory
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.VariantsHistory;

                        /**
                         * Decodes a VariantsHistory message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns VariantsHistory
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.VariantsHistory;

                        /**
                         * Verifies a VariantsHistory message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a VariantsHistory message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns VariantsHistory
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.VariantsHistory;

                        /**
                         * Creates a plain object from a VariantsHistory message. Also converts values to other types if specified.
                         * @param message VariantsHistory
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.VariantsHistory, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this VariantsHistory to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for VariantsHistory
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListExperimentsRequest. */
                    interface IListExperimentsRequest {

                        /** ListExperimentsRequest parent */
                        parent?: (string|null);

                        /** ListExperimentsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListExperimentsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListExperimentsRequest. */
                    class ListExperimentsRequest implements IListExperimentsRequest {

                        /**
                         * Constructs a new ListExperimentsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListExperimentsRequest);

                        /** ListExperimentsRequest parent. */
                        public parent: string;

                        /** ListExperimentsRequest pageSize. */
                        public pageSize: number;

                        /** ListExperimentsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListExperimentsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListExperimentsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListExperimentsRequest): google.cloud.dialogflow.cx.v3beta1.ListExperimentsRequest;

                        /**
                         * Encodes the specified ListExperimentsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListExperimentsRequest.verify|verify} messages.
                         * @param message ListExperimentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListExperimentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListExperimentsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListExperimentsRequest.verify|verify} messages.
                         * @param message ListExperimentsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListExperimentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListExperimentsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListExperimentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListExperimentsRequest;

                        /**
                         * Decodes a ListExperimentsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListExperimentsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListExperimentsRequest;

                        /**
                         * Verifies a ListExperimentsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListExperimentsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListExperimentsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListExperimentsRequest;

                        /**
                         * Creates a plain object from a ListExperimentsRequest message. Also converts values to other types if specified.
                         * @param message ListExperimentsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListExperimentsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListExperimentsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListExperimentsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListExperimentsResponse. */
                    interface IListExperimentsResponse {

                        /** ListExperimentsResponse experiments */
                        experiments?: (google.cloud.dialogflow.cx.v3beta1.IExperiment[]|null);

                        /** ListExperimentsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListExperimentsResponse. */
                    class ListExperimentsResponse implements IListExperimentsResponse {

                        /**
                         * Constructs a new ListExperimentsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListExperimentsResponse);

                        /** ListExperimentsResponse experiments. */
                        public experiments: google.cloud.dialogflow.cx.v3beta1.IExperiment[];

                        /** ListExperimentsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListExperimentsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListExperimentsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListExperimentsResponse): google.cloud.dialogflow.cx.v3beta1.ListExperimentsResponse;

                        /**
                         * Encodes the specified ListExperimentsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListExperimentsResponse.verify|verify} messages.
                         * @param message ListExperimentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListExperimentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListExperimentsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListExperimentsResponse.verify|verify} messages.
                         * @param message ListExperimentsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListExperimentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListExperimentsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListExperimentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListExperimentsResponse;

                        /**
                         * Decodes a ListExperimentsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListExperimentsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListExperimentsResponse;

                        /**
                         * Verifies a ListExperimentsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListExperimentsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListExperimentsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListExperimentsResponse;

                        /**
                         * Creates a plain object from a ListExperimentsResponse message. Also converts values to other types if specified.
                         * @param message ListExperimentsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListExperimentsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListExperimentsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListExperimentsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetExperimentRequest. */
                    interface IGetExperimentRequest {

                        /** GetExperimentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetExperimentRequest. */
                    class GetExperimentRequest implements IGetExperimentRequest {

                        /**
                         * Constructs a new GetExperimentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetExperimentRequest);

                        /** GetExperimentRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetExperimentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetExperimentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetExperimentRequest): google.cloud.dialogflow.cx.v3beta1.GetExperimentRequest;

                        /**
                         * Encodes the specified GetExperimentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetExperimentRequest.verify|verify} messages.
                         * @param message GetExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetExperimentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetExperimentRequest.verify|verify} messages.
                         * @param message GetExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetExperimentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetExperimentRequest;

                        /**
                         * Decodes a GetExperimentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetExperimentRequest;

                        /**
                         * Verifies a GetExperimentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetExperimentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetExperimentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetExperimentRequest;

                        /**
                         * Creates a plain object from a GetExperimentRequest message. Also converts values to other types if specified.
                         * @param message GetExperimentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetExperimentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetExperimentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetExperimentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateExperimentRequest. */
                    interface ICreateExperimentRequest {

                        /** CreateExperimentRequest parent */
                        parent?: (string|null);

                        /** CreateExperimentRequest experiment */
                        experiment?: (google.cloud.dialogflow.cx.v3beta1.IExperiment|null);
                    }

                    /** Represents a CreateExperimentRequest. */
                    class CreateExperimentRequest implements ICreateExperimentRequest {

                        /**
                         * Constructs a new CreateExperimentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateExperimentRequest);

                        /** CreateExperimentRequest parent. */
                        public parent: string;

                        /** CreateExperimentRequest experiment. */
                        public experiment?: (google.cloud.dialogflow.cx.v3beta1.IExperiment|null);

                        /**
                         * Creates a new CreateExperimentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateExperimentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateExperimentRequest): google.cloud.dialogflow.cx.v3beta1.CreateExperimentRequest;

                        /**
                         * Encodes the specified CreateExperimentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateExperimentRequest.verify|verify} messages.
                         * @param message CreateExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateExperimentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateExperimentRequest.verify|verify} messages.
                         * @param message CreateExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateExperimentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateExperimentRequest;

                        /**
                         * Decodes a CreateExperimentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateExperimentRequest;

                        /**
                         * Verifies a CreateExperimentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateExperimentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateExperimentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateExperimentRequest;

                        /**
                         * Creates a plain object from a CreateExperimentRequest message. Also converts values to other types if specified.
                         * @param message CreateExperimentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateExperimentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateExperimentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateExperimentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateExperimentRequest. */
                    interface IUpdateExperimentRequest {

                        /** UpdateExperimentRequest experiment */
                        experiment?: (google.cloud.dialogflow.cx.v3beta1.IExperiment|null);

                        /** UpdateExperimentRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateExperimentRequest. */
                    class UpdateExperimentRequest implements IUpdateExperimentRequest {

                        /**
                         * Constructs a new UpdateExperimentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateExperimentRequest);

                        /** UpdateExperimentRequest experiment. */
                        public experiment?: (google.cloud.dialogflow.cx.v3beta1.IExperiment|null);

                        /** UpdateExperimentRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateExperimentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateExperimentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateExperimentRequest): google.cloud.dialogflow.cx.v3beta1.UpdateExperimentRequest;

                        /**
                         * Encodes the specified UpdateExperimentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateExperimentRequest.verify|verify} messages.
                         * @param message UpdateExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateExperimentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateExperimentRequest.verify|verify} messages.
                         * @param message UpdateExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateExperimentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateExperimentRequest;

                        /**
                         * Decodes an UpdateExperimentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateExperimentRequest;

                        /**
                         * Verifies an UpdateExperimentRequest message.
                         * @param message Plain 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 UpdateExperimentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateExperimentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateExperimentRequest;

                        /**
                         * Creates a plain object from an UpdateExperimentRequest message. Also converts values to other types if specified.
                         * @param message UpdateExperimentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateExperimentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateExperimentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateExperimentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteExperimentRequest. */
                    interface IDeleteExperimentRequest {

                        /** DeleteExperimentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeleteExperimentRequest. */
                    class DeleteExperimentRequest implements IDeleteExperimentRequest {

                        /**
                         * Constructs a new DeleteExperimentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteExperimentRequest);

                        /** DeleteExperimentRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeleteExperimentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteExperimentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteExperimentRequest): google.cloud.dialogflow.cx.v3beta1.DeleteExperimentRequest;

                        /**
                         * Encodes the specified DeleteExperimentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteExperimentRequest.verify|verify} messages.
                         * @param message DeleteExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteExperimentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteExperimentRequest.verify|verify} messages.
                         * @param message DeleteExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteExperimentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteExperimentRequest;

                        /**
                         * Decodes a DeleteExperimentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteExperimentRequest;

                        /**
                         * Verifies a DeleteExperimentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteExperimentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteExperimentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteExperimentRequest;

                        /**
                         * Creates a plain object from a DeleteExperimentRequest message. Also converts values to other types if specified.
                         * @param message DeleteExperimentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteExperimentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteExperimentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteExperimentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a StartExperimentRequest. */
                    interface IStartExperimentRequest {

                        /** StartExperimentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a StartExperimentRequest. */
                    class StartExperimentRequest implements IStartExperimentRequest {

                        /**
                         * Constructs a new StartExperimentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IStartExperimentRequest);

                        /** StartExperimentRequest name. */
                        public name: string;

                        /**
                         * Creates a new StartExperimentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns StartExperimentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IStartExperimentRequest): google.cloud.dialogflow.cx.v3beta1.StartExperimentRequest;

                        /**
                         * Encodes the specified StartExperimentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.StartExperimentRequest.verify|verify} messages.
                         * @param message StartExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IStartExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified StartExperimentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.StartExperimentRequest.verify|verify} messages.
                         * @param message StartExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IStartExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a StartExperimentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns StartExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.StartExperimentRequest;

                        /**
                         * Decodes a StartExperimentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns StartExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.StartExperimentRequest;

                        /**
                         * Verifies a StartExperimentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a StartExperimentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns StartExperimentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.StartExperimentRequest;

                        /**
                         * Creates a plain object from a StartExperimentRequest message. Also converts values to other types if specified.
                         * @param message StartExperimentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.StartExperimentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this StartExperimentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for StartExperimentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a StopExperimentRequest. */
                    interface IStopExperimentRequest {

                        /** StopExperimentRequest name */
                        name?: (string|null);
                    }

                    /** Represents a StopExperimentRequest. */
                    class StopExperimentRequest implements IStopExperimentRequest {

                        /**
                         * Constructs a new StopExperimentRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IStopExperimentRequest);

                        /** StopExperimentRequest name. */
                        public name: string;

                        /**
                         * Creates a new StopExperimentRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns StopExperimentRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IStopExperimentRequest): google.cloud.dialogflow.cx.v3beta1.StopExperimentRequest;

                        /**
                         * Encodes the specified StopExperimentRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.StopExperimentRequest.verify|verify} messages.
                         * @param message StopExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IStopExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified StopExperimentRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.StopExperimentRequest.verify|verify} messages.
                         * @param message StopExperimentRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IStopExperimentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a StopExperimentRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns StopExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.StopExperimentRequest;

                        /**
                         * Decodes a StopExperimentRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns StopExperimentRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.StopExperimentRequest;

                        /**
                         * Verifies a StopExperimentRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a StopExperimentRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns StopExperimentRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.StopExperimentRequest;

                        /**
                         * Creates a plain object from a StopExperimentRequest message. Also converts values to other types if specified.
                         * @param message StopExperimentRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.StopExperimentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this StopExperimentRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for StopExperimentRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a Generators */
                    class Generators extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Generators 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 Generators 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): Generators;

                        /**
                         * Calls ListGenerators.
                         * @param request ListGeneratorsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListGeneratorsResponse
                         */
                        public listGenerators(request: google.cloud.dialogflow.cx.v3beta1.IListGeneratorsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Generators.ListGeneratorsCallback): void;

                        /**
                         * Calls ListGenerators.
                         * @param request ListGeneratorsRequest message or plain object
                         * @returns Promise
                         */
                        public listGenerators(request: google.cloud.dialogflow.cx.v3beta1.IListGeneratorsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListGeneratorsResponse>;

                        /**
                         * Calls GetGenerator.
                         * @param request GetGeneratorRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Generator
                         */
                        public getGenerator(request: google.cloud.dialogflow.cx.v3beta1.IGetGeneratorRequest, callback: google.cloud.dialogflow.cx.v3beta1.Generators.GetGeneratorCallback): void;

                        /**
                         * Calls GetGenerator.
                         * @param request GetGeneratorRequest message or plain object
                         * @returns Promise
                         */
                        public getGenerator(request: google.cloud.dialogflow.cx.v3beta1.IGetGeneratorRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Generator>;

                        /**
                         * Calls CreateGenerator.
                         * @param request CreateGeneratorRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Generator
                         */
                        public createGenerator(request: google.cloud.dialogflow.cx.v3beta1.ICreateGeneratorRequest, callback: google.cloud.dialogflow.cx.v3beta1.Generators.CreateGeneratorCallback): void;

                        /**
                         * Calls CreateGenerator.
                         * @param request CreateGeneratorRequest message or plain object
                         * @returns Promise
                         */
                        public createGenerator(request: google.cloud.dialogflow.cx.v3beta1.ICreateGeneratorRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Generator>;

                        /**
                         * Calls UpdateGenerator.
                         * @param request UpdateGeneratorRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Generator
                         */
                        public updateGenerator(request: google.cloud.dialogflow.cx.v3beta1.IUpdateGeneratorRequest, callback: google.cloud.dialogflow.cx.v3beta1.Generators.UpdateGeneratorCallback): void;

                        /**
                         * Calls UpdateGenerator.
                         * @param request UpdateGeneratorRequest message or plain object
                         * @returns Promise
                         */
                        public updateGenerator(request: google.cloud.dialogflow.cx.v3beta1.IUpdateGeneratorRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Generator>;

                        /**
                         * Calls DeleteGenerator.
                         * @param request DeleteGeneratorRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteGenerator(request: google.cloud.dialogflow.cx.v3beta1.IDeleteGeneratorRequest, callback: google.cloud.dialogflow.cx.v3beta1.Generators.DeleteGeneratorCallback): void;

                        /**
                         * Calls DeleteGenerator.
                         * @param request DeleteGeneratorRequest message or plain object
                         * @returns Promise
                         */
                        public deleteGenerator(request: google.cloud.dialogflow.cx.v3beta1.IDeleteGeneratorRequest): Promise<google.protobuf.Empty>;
                    }

                    namespace Generators {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Generators|listGenerators}.
                         * @param error Error, if any
                         * @param [response] ListGeneratorsResponse
                         */
                        type ListGeneratorsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListGeneratorsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Generators|getGenerator}.
                         * @param error Error, if any
                         * @param [response] Generator
                         */
                        type GetGeneratorCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Generator) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Generators|createGenerator}.
                         * @param error Error, if any
                         * @param [response] Generator
                         */
                        type CreateGeneratorCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Generator) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Generators|updateGenerator}.
                         * @param error Error, if any
                         * @param [response] Generator
                         */
                        type UpdateGeneratorCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Generator) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Generators|deleteGenerator}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteGeneratorCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                    }

                    /** Properties of a Generator. */
                    interface IGenerator {

                        /** Generator name */
                        name?: (string|null);

                        /** Generator displayName */
                        displayName?: (string|null);

                        /** Generator promptText */
                        promptText?: (google.cloud.dialogflow.cx.v3beta1.IPhrase|null);

                        /** Generator placeholders */
                        placeholders?: (google.cloud.dialogflow.cx.v3beta1.Generator.IPlaceholder[]|null);

                        /** Generator llmModelSettings */
                        llmModelSettings?: (google.cloud.dialogflow.cx.v3beta1.ILlmModelSettings|null);

                        /** Generator modelParameter */
                        modelParameter?: (google.cloud.dialogflow.cx.v3beta1.Generator.IModelParameter|null);
                    }

                    /** Represents a Generator. */
                    class Generator implements IGenerator {

                        /**
                         * Constructs a new Generator.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGenerator);

                        /** Generator name. */
                        public name: string;

                        /** Generator displayName. */
                        public displayName: string;

                        /** Generator promptText. */
                        public promptText?: (google.cloud.dialogflow.cx.v3beta1.IPhrase|null);

                        /** Generator placeholders. */
                        public placeholders: google.cloud.dialogflow.cx.v3beta1.Generator.IPlaceholder[];

                        /** Generator llmModelSettings. */
                        public llmModelSettings?: (google.cloud.dialogflow.cx.v3beta1.ILlmModelSettings|null);

                        /** Generator modelParameter. */
                        public modelParameter?: (google.cloud.dialogflow.cx.v3beta1.Generator.IModelParameter|null);

                        /**
                         * Creates a new Generator instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Generator instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGenerator): google.cloud.dialogflow.cx.v3beta1.Generator;

                        /**
                         * Encodes the specified Generator message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Generator.verify|verify} messages.
                         * @param message Generator message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGenerator, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Generator message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Generator.verify|verify} messages.
                         * @param message Generator message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGenerator, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Generator message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Generator
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Generator;

                        /**
                         * Decodes a Generator message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Generator
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Generator;

                        /**
                         * Verifies a Generator message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Generator message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Generator
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Generator;

                        /**
                         * Creates a plain object from a Generator message. Also converts values to other types if specified.
                         * @param message Generator
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Generator, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Generator to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Generator
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Generator {

                        /** Properties of a Placeholder. */
                        interface IPlaceholder {

                            /** Placeholder id */
                            id?: (string|null);

                            /** Placeholder name */
                            name?: (string|null);
                        }

                        /** Represents a Placeholder. */
                        class Placeholder implements IPlaceholder {

                            /**
                             * Constructs a new Placeholder.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Generator.IPlaceholder);

                            /** Placeholder id. */
                            public id: string;

                            /** Placeholder name. */
                            public name: string;

                            /**
                             * Creates a new Placeholder instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Placeholder instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Generator.IPlaceholder): google.cloud.dialogflow.cx.v3beta1.Generator.Placeholder;

                            /**
                             * Encodes the specified Placeholder message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Generator.Placeholder.verify|verify} messages.
                             * @param message Placeholder message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Generator.IPlaceholder, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Placeholder message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Generator.Placeholder.verify|verify} messages.
                             * @param message Placeholder message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Generator.IPlaceholder, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Placeholder message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Placeholder
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Generator.Placeholder;

                            /**
                             * Decodes a Placeholder message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Placeholder
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Generator.Placeholder;

                            /**
                             * Verifies a Placeholder message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Placeholder message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Placeholder
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Generator.Placeholder;

                            /**
                             * Creates a plain object from a Placeholder message. Also converts values to other types if specified.
                             * @param message Placeholder
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Generator.Placeholder, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Placeholder to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Placeholder
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a ModelParameter. */
                        interface IModelParameter {

                            /** ModelParameter temperature */
                            temperature?: (number|null);

                            /** ModelParameter maxDecodeSteps */
                            maxDecodeSteps?: (number|null);

                            /** ModelParameter topP */
                            topP?: (number|null);

                            /** ModelParameter topK */
                            topK?: (number|null);
                        }

                        /** Represents a ModelParameter. */
                        class ModelParameter implements IModelParameter {

                            /**
                             * Constructs a new ModelParameter.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Generator.IModelParameter);

                            /** ModelParameter temperature. */
                            public temperature?: (number|null);

                            /** ModelParameter maxDecodeSteps. */
                            public maxDecodeSteps?: (number|null);

                            /** ModelParameter topP. */
                            public topP?: (number|null);

                            /** ModelParameter topK. */
                            public topK?: (number|null);

                            /**
                             * Creates a new ModelParameter instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ModelParameter instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Generator.IModelParameter): google.cloud.dialogflow.cx.v3beta1.Generator.ModelParameter;

                            /**
                             * Encodes the specified ModelParameter message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Generator.ModelParameter.verify|verify} messages.
                             * @param message ModelParameter message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Generator.IModelParameter, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ModelParameter message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Generator.ModelParameter.verify|verify} messages.
                             * @param message ModelParameter message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Generator.IModelParameter, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ModelParameter message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ModelParameter
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Generator.ModelParameter;

                            /**
                             * Decodes a ModelParameter message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ModelParameter
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Generator.ModelParameter;

                            /**
                             * Verifies a ModelParameter message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ModelParameter message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ModelParameter
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Generator.ModelParameter;

                            /**
                             * Creates a plain object from a ModelParameter message. Also converts values to other types if specified.
                             * @param message ModelParameter
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Generator.ModelParameter, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ModelParameter to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ModelParameter
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a Phrase. */
                    interface IPhrase {

                        /** Phrase text */
                        text?: (string|null);
                    }

                    /** Represents a Phrase. */
                    class Phrase implements IPhrase {

                        /**
                         * Constructs a new Phrase.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IPhrase);

                        /** Phrase text. */
                        public text: string;

                        /**
                         * Creates a new Phrase instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Phrase instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IPhrase): google.cloud.dialogflow.cx.v3beta1.Phrase;

                        /**
                         * Encodes the specified Phrase message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Phrase.verify|verify} messages.
                         * @param message Phrase message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Phrase message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Phrase.verify|verify} messages.
                         * @param message Phrase message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IPhrase, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Phrase message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Phrase
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Phrase;

                        /**
                         * Decodes a Phrase message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Phrase
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Phrase;

                        /**
                         * Verifies a Phrase message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Phrase message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Phrase
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Phrase;

                        /**
                         * Creates a plain object from a Phrase message. Also converts values to other types if specified.
                         * @param message Phrase
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Phrase, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Phrase to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Phrase
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListGeneratorsRequest. */
                    interface IListGeneratorsRequest {

                        /** ListGeneratorsRequest parent */
                        parent?: (string|null);

                        /** ListGeneratorsRequest languageCode */
                        languageCode?: (string|null);

                        /** ListGeneratorsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListGeneratorsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListGeneratorsRequest. */
                    class ListGeneratorsRequest implements IListGeneratorsRequest {

                        /**
                         * Constructs a new ListGeneratorsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListGeneratorsRequest);

                        /** ListGeneratorsRequest parent. */
                        public parent: string;

                        /** ListGeneratorsRequest languageCode. */
                        public languageCode: string;

                        /** ListGeneratorsRequest pageSize. */
                        public pageSize: number;

                        /** ListGeneratorsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListGeneratorsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListGeneratorsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListGeneratorsRequest): google.cloud.dialogflow.cx.v3beta1.ListGeneratorsRequest;

                        /**
                         * Encodes the specified ListGeneratorsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListGeneratorsRequest.verify|verify} messages.
                         * @param message ListGeneratorsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListGeneratorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListGeneratorsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListGeneratorsRequest.verify|verify} messages.
                         * @param message ListGeneratorsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListGeneratorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListGeneratorsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListGeneratorsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListGeneratorsRequest;

                        /**
                         * Decodes a ListGeneratorsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListGeneratorsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListGeneratorsRequest;

                        /**
                         * Verifies a ListGeneratorsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListGeneratorsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListGeneratorsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListGeneratorsRequest;

                        /**
                         * Creates a plain object from a ListGeneratorsRequest message. Also converts values to other types if specified.
                         * @param message ListGeneratorsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListGeneratorsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListGeneratorsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListGeneratorsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListGeneratorsResponse. */
                    interface IListGeneratorsResponse {

                        /** ListGeneratorsResponse generators */
                        generators?: (google.cloud.dialogflow.cx.v3beta1.IGenerator[]|null);

                        /** ListGeneratorsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListGeneratorsResponse. */
                    class ListGeneratorsResponse implements IListGeneratorsResponse {

                        /**
                         * Constructs a new ListGeneratorsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListGeneratorsResponse);

                        /** ListGeneratorsResponse generators. */
                        public generators: google.cloud.dialogflow.cx.v3beta1.IGenerator[];

                        /** ListGeneratorsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListGeneratorsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListGeneratorsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListGeneratorsResponse): google.cloud.dialogflow.cx.v3beta1.ListGeneratorsResponse;

                        /**
                         * Encodes the specified ListGeneratorsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListGeneratorsResponse.verify|verify} messages.
                         * @param message ListGeneratorsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListGeneratorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListGeneratorsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListGeneratorsResponse.verify|verify} messages.
                         * @param message ListGeneratorsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListGeneratorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListGeneratorsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListGeneratorsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListGeneratorsResponse;

                        /**
                         * Decodes a ListGeneratorsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListGeneratorsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListGeneratorsResponse;

                        /**
                         * Verifies a ListGeneratorsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListGeneratorsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListGeneratorsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListGeneratorsResponse;

                        /**
                         * Creates a plain object from a ListGeneratorsResponse message. Also converts values to other types if specified.
                         * @param message ListGeneratorsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListGeneratorsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListGeneratorsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListGeneratorsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetGeneratorRequest. */
                    interface IGetGeneratorRequest {

                        /** GetGeneratorRequest name */
                        name?: (string|null);

                        /** GetGeneratorRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a GetGeneratorRequest. */
                    class GetGeneratorRequest implements IGetGeneratorRequest {

                        /**
                         * Constructs a new GetGeneratorRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetGeneratorRequest);

                        /** GetGeneratorRequest name. */
                        public name: string;

                        /** GetGeneratorRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new GetGeneratorRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetGeneratorRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetGeneratorRequest): google.cloud.dialogflow.cx.v3beta1.GetGeneratorRequest;

                        /**
                         * Encodes the specified GetGeneratorRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetGeneratorRequest.verify|verify} messages.
                         * @param message GetGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetGeneratorRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetGeneratorRequest.verify|verify} messages.
                         * @param message GetGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetGeneratorRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetGeneratorRequest;

                        /**
                         * Decodes a GetGeneratorRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetGeneratorRequest;

                        /**
                         * Verifies a GetGeneratorRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetGeneratorRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetGeneratorRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetGeneratorRequest;

                        /**
                         * Creates a plain object from a GetGeneratorRequest message. Also converts values to other types if specified.
                         * @param message GetGeneratorRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetGeneratorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetGeneratorRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetGeneratorRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateGeneratorRequest. */
                    interface ICreateGeneratorRequest {

                        /** CreateGeneratorRequest parent */
                        parent?: (string|null);

                        /** CreateGeneratorRequest generator */
                        generator?: (google.cloud.dialogflow.cx.v3beta1.IGenerator|null);

                        /** CreateGeneratorRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a CreateGeneratorRequest. */
                    class CreateGeneratorRequest implements ICreateGeneratorRequest {

                        /**
                         * Constructs a new CreateGeneratorRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateGeneratorRequest);

                        /** CreateGeneratorRequest parent. */
                        public parent: string;

                        /** CreateGeneratorRequest generator. */
                        public generator?: (google.cloud.dialogflow.cx.v3beta1.IGenerator|null);

                        /** CreateGeneratorRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new CreateGeneratorRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateGeneratorRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateGeneratorRequest): google.cloud.dialogflow.cx.v3beta1.CreateGeneratorRequest;

                        /**
                         * Encodes the specified CreateGeneratorRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateGeneratorRequest.verify|verify} messages.
                         * @param message CreateGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateGeneratorRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateGeneratorRequest.verify|verify} messages.
                         * @param message CreateGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateGeneratorRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateGeneratorRequest;

                        /**
                         * Decodes a CreateGeneratorRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateGeneratorRequest;

                        /**
                         * Verifies a CreateGeneratorRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateGeneratorRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateGeneratorRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateGeneratorRequest;

                        /**
                         * Creates a plain object from a CreateGeneratorRequest message. Also converts values to other types if specified.
                         * @param message CreateGeneratorRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateGeneratorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateGeneratorRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateGeneratorRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateGeneratorRequest. */
                    interface IUpdateGeneratorRequest {

                        /** UpdateGeneratorRequest generator */
                        generator?: (google.cloud.dialogflow.cx.v3beta1.IGenerator|null);

                        /** UpdateGeneratorRequest languageCode */
                        languageCode?: (string|null);

                        /** UpdateGeneratorRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateGeneratorRequest. */
                    class UpdateGeneratorRequest implements IUpdateGeneratorRequest {

                        /**
                         * Constructs a new UpdateGeneratorRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateGeneratorRequest);

                        /** UpdateGeneratorRequest generator. */
                        public generator?: (google.cloud.dialogflow.cx.v3beta1.IGenerator|null);

                        /** UpdateGeneratorRequest languageCode. */
                        public languageCode: string;

                        /** UpdateGeneratorRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateGeneratorRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateGeneratorRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateGeneratorRequest): google.cloud.dialogflow.cx.v3beta1.UpdateGeneratorRequest;

                        /**
                         * Encodes the specified UpdateGeneratorRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateGeneratorRequest.verify|verify} messages.
                         * @param message UpdateGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateGeneratorRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateGeneratorRequest.verify|verify} messages.
                         * @param message UpdateGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateGeneratorRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateGeneratorRequest;

                        /**
                         * Decodes an UpdateGeneratorRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateGeneratorRequest;

                        /**
                         * Verifies an UpdateGeneratorRequest message.
                         * @param message Plain 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 UpdateGeneratorRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateGeneratorRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateGeneratorRequest;

                        /**
                         * Creates a plain object from an UpdateGeneratorRequest message. Also converts values to other types if specified.
                         * @param message UpdateGeneratorRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateGeneratorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateGeneratorRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateGeneratorRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteGeneratorRequest. */
                    interface IDeleteGeneratorRequest {

                        /** DeleteGeneratorRequest name */
                        name?: (string|null);

                        /** DeleteGeneratorRequest force */
                        force?: (boolean|null);
                    }

                    /** Represents a DeleteGeneratorRequest. */
                    class DeleteGeneratorRequest implements IDeleteGeneratorRequest {

                        /**
                         * Constructs a new DeleteGeneratorRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteGeneratorRequest);

                        /** DeleteGeneratorRequest name. */
                        public name: string;

                        /** DeleteGeneratorRequest force. */
                        public force: boolean;

                        /**
                         * Creates a new DeleteGeneratorRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteGeneratorRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteGeneratorRequest): google.cloud.dialogflow.cx.v3beta1.DeleteGeneratorRequest;

                        /**
                         * Encodes the specified DeleteGeneratorRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteGeneratorRequest.verify|verify} messages.
                         * @param message DeleteGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteGeneratorRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteGeneratorRequest.verify|verify} messages.
                         * @param message DeleteGeneratorRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteGeneratorRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteGeneratorRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteGeneratorRequest;

                        /**
                         * Decodes a DeleteGeneratorRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteGeneratorRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteGeneratorRequest;

                        /**
                         * Verifies a DeleteGeneratorRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteGeneratorRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteGeneratorRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteGeneratorRequest;

                        /**
                         * Creates a plain object from a DeleteGeneratorRequest message. Also converts values to other types if specified.
                         * @param message DeleteGeneratorRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteGeneratorRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteGeneratorRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteGeneratorRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ParameterDefinition. */
                    interface IParameterDefinition {

                        /** ParameterDefinition name */
                        name?: (string|null);

                        /** ParameterDefinition type */
                        type?: (google.cloud.dialogflow.cx.v3beta1.ParameterDefinition.ParameterType|keyof typeof google.cloud.dialogflow.cx.v3beta1.ParameterDefinition.ParameterType|null);

                        /** ParameterDefinition description */
                        description?: (string|null);
                    }

                    /** Represents a ParameterDefinition. */
                    class ParameterDefinition implements IParameterDefinition {

                        /**
                         * Constructs a new ParameterDefinition.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IParameterDefinition);

                        /** ParameterDefinition name. */
                        public name: string;

                        /** ParameterDefinition type. */
                        public type: (google.cloud.dialogflow.cx.v3beta1.ParameterDefinition.ParameterType|keyof typeof google.cloud.dialogflow.cx.v3beta1.ParameterDefinition.ParameterType);

                        /** ParameterDefinition description. */
                        public description: string;

                        /**
                         * Creates a new ParameterDefinition instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ParameterDefinition instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IParameterDefinition): google.cloud.dialogflow.cx.v3beta1.ParameterDefinition;

                        /**
                         * Encodes the specified ParameterDefinition message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ParameterDefinition.verify|verify} messages.
                         * @param message ParameterDefinition message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IParameterDefinition, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ParameterDefinition message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ParameterDefinition.verify|verify} messages.
                         * @param message ParameterDefinition message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IParameterDefinition, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ParameterDefinition message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ParameterDefinition
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ParameterDefinition;

                        /**
                         * Decodes a ParameterDefinition message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ParameterDefinition
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ParameterDefinition;

                        /**
                         * Verifies a ParameterDefinition message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ParameterDefinition message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ParameterDefinition
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ParameterDefinition;

                        /**
                         * Creates a plain object from a ParameterDefinition message. Also converts values to other types if specified.
                         * @param message ParameterDefinition
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ParameterDefinition, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ParameterDefinition to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ParameterDefinition
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ParameterDefinition {

                        /** ParameterType enum. */
                        enum ParameterType {
                            PARAMETER_TYPE_UNSPECIFIED = 0,
                            STRING = 1,
                            NUMBER = 2,
                            BOOLEAN = 3,
                            NULL = 4,
                            OBJECT = 5,
                            LIST = 6
                        }
                    }

                    /** Represents a Playbooks */
                    class Playbooks extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Playbooks 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 Playbooks 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): Playbooks;

                        /**
                         * Calls CreatePlaybook.
                         * @param request CreatePlaybookRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Playbook
                         */
                        public createPlaybook(request: google.cloud.dialogflow.cx.v3beta1.ICreatePlaybookRequest, callback: google.cloud.dialogflow.cx.v3beta1.Playbooks.CreatePlaybookCallback): void;

                        /**
                         * Calls CreatePlaybook.
                         * @param request CreatePlaybookRequest message or plain object
                         * @returns Promise
                         */
                        public createPlaybook(request: google.cloud.dialogflow.cx.v3beta1.ICreatePlaybookRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Playbook>;

                        /**
                         * Calls DeletePlaybook.
                         * @param request DeletePlaybookRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deletePlaybook(request: google.cloud.dialogflow.cx.v3beta1.IDeletePlaybookRequest, callback: google.cloud.dialogflow.cx.v3beta1.Playbooks.DeletePlaybookCallback): void;

                        /**
                         * Calls DeletePlaybook.
                         * @param request DeletePlaybookRequest message or plain object
                         * @returns Promise
                         */
                        public deletePlaybook(request: google.cloud.dialogflow.cx.v3beta1.IDeletePlaybookRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls ListPlaybooks.
                         * @param request ListPlaybooksRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListPlaybooksResponse
                         */
                        public listPlaybooks(request: google.cloud.dialogflow.cx.v3beta1.IListPlaybooksRequest, callback: google.cloud.dialogflow.cx.v3beta1.Playbooks.ListPlaybooksCallback): void;

                        /**
                         * Calls ListPlaybooks.
                         * @param request ListPlaybooksRequest message or plain object
                         * @returns Promise
                         */
                        public listPlaybooks(request: google.cloud.dialogflow.cx.v3beta1.IListPlaybooksRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListPlaybooksResponse>;

                        /**
                         * Calls GetPlaybook.
                         * @param request GetPlaybookRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Playbook
                         */
                        public getPlaybook(request: google.cloud.dialogflow.cx.v3beta1.IGetPlaybookRequest, callback: google.cloud.dialogflow.cx.v3beta1.Playbooks.GetPlaybookCallback): void;

                        /**
                         * Calls GetPlaybook.
                         * @param request GetPlaybookRequest message or plain object
                         * @returns Promise
                         */
                        public getPlaybook(request: google.cloud.dialogflow.cx.v3beta1.IGetPlaybookRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Playbook>;

                        /**
                         * Calls UpdatePlaybook.
                         * @param request UpdatePlaybookRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Playbook
                         */
                        public updatePlaybook(request: google.cloud.dialogflow.cx.v3beta1.IUpdatePlaybookRequest, callback: google.cloud.dialogflow.cx.v3beta1.Playbooks.UpdatePlaybookCallback): void;

                        /**
                         * Calls UpdatePlaybook.
                         * @param request UpdatePlaybookRequest message or plain object
                         * @returns Promise
                         */
                        public updatePlaybook(request: google.cloud.dialogflow.cx.v3beta1.IUpdatePlaybookRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Playbook>;

                        /**
                         * Calls CreatePlaybookVersion.
                         * @param request CreatePlaybookVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and PlaybookVersion
                         */
                        public createPlaybookVersion(request: google.cloud.dialogflow.cx.v3beta1.ICreatePlaybookVersionRequest, callback: google.cloud.dialogflow.cx.v3beta1.Playbooks.CreatePlaybookVersionCallback): void;

                        /**
                         * Calls CreatePlaybookVersion.
                         * @param request CreatePlaybookVersionRequest message or plain object
                         * @returns Promise
                         */
                        public createPlaybookVersion(request: google.cloud.dialogflow.cx.v3beta1.ICreatePlaybookVersionRequest): Promise<google.cloud.dialogflow.cx.v3beta1.PlaybookVersion>;

                        /**
                         * Calls GetPlaybookVersion.
                         * @param request GetPlaybookVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and PlaybookVersion
                         */
                        public getPlaybookVersion(request: google.cloud.dialogflow.cx.v3beta1.IGetPlaybookVersionRequest, callback: google.cloud.dialogflow.cx.v3beta1.Playbooks.GetPlaybookVersionCallback): void;

                        /**
                         * Calls GetPlaybookVersion.
                         * @param request GetPlaybookVersionRequest message or plain object
                         * @returns Promise
                         */
                        public getPlaybookVersion(request: google.cloud.dialogflow.cx.v3beta1.IGetPlaybookVersionRequest): Promise<google.cloud.dialogflow.cx.v3beta1.PlaybookVersion>;

                        /**
                         * Calls ListPlaybookVersions.
                         * @param request ListPlaybookVersionsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListPlaybookVersionsResponse
                         */
                        public listPlaybookVersions(request: google.cloud.dialogflow.cx.v3beta1.IListPlaybookVersionsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Playbooks.ListPlaybookVersionsCallback): void;

                        /**
                         * Calls ListPlaybookVersions.
                         * @param request ListPlaybookVersionsRequest message or plain object
                         * @returns Promise
                         */
                        public listPlaybookVersions(request: google.cloud.dialogflow.cx.v3beta1.IListPlaybookVersionsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsResponse>;

                        /**
                         * Calls DeletePlaybookVersion.
                         * @param request DeletePlaybookVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deletePlaybookVersion(request: google.cloud.dialogflow.cx.v3beta1.IDeletePlaybookVersionRequest, callback: google.cloud.dialogflow.cx.v3beta1.Playbooks.DeletePlaybookVersionCallback): void;

                        /**
                         * Calls DeletePlaybookVersion.
                         * @param request DeletePlaybookVersionRequest message or plain object
                         * @returns Promise
                         */
                        public deletePlaybookVersion(request: google.cloud.dialogflow.cx.v3beta1.IDeletePlaybookVersionRequest): Promise<google.protobuf.Empty>;
                    }

                    namespace Playbooks {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Playbooks|createPlaybook}.
                         * @param error Error, if any
                         * @param [response] Playbook
                         */
                        type CreatePlaybookCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Playbook) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Playbooks|deletePlaybook}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeletePlaybookCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Playbooks|listPlaybooks}.
                         * @param error Error, if any
                         * @param [response] ListPlaybooksResponse
                         */
                        type ListPlaybooksCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListPlaybooksResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Playbooks|getPlaybook}.
                         * @param error Error, if any
                         * @param [response] Playbook
                         */
                        type GetPlaybookCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Playbook) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Playbooks|updatePlaybook}.
                         * @param error Error, if any
                         * @param [response] Playbook
                         */
                        type UpdatePlaybookCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Playbook) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Playbooks|createPlaybookVersion}.
                         * @param error Error, if any
                         * @param [response] PlaybookVersion
                         */
                        type CreatePlaybookVersionCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.PlaybookVersion) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Playbooks|getPlaybookVersion}.
                         * @param error Error, if any
                         * @param [response] PlaybookVersion
                         */
                        type GetPlaybookVersionCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.PlaybookVersion) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Playbooks|listPlaybookVersions}.
                         * @param error Error, if any
                         * @param [response] ListPlaybookVersionsResponse
                         */
                        type ListPlaybookVersionsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Playbooks|deletePlaybookVersion}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeletePlaybookVersionCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                    }

                    /** Properties of a CreatePlaybookRequest. */
                    interface ICreatePlaybookRequest {

                        /** CreatePlaybookRequest parent */
                        parent?: (string|null);

                        /** CreatePlaybookRequest playbook */
                        playbook?: (google.cloud.dialogflow.cx.v3beta1.IPlaybook|null);
                    }

                    /** Represents a CreatePlaybookRequest. */
                    class CreatePlaybookRequest implements ICreatePlaybookRequest {

                        /**
                         * Constructs a new CreatePlaybookRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreatePlaybookRequest);

                        /** CreatePlaybookRequest parent. */
                        public parent: string;

                        /** CreatePlaybookRequest playbook. */
                        public playbook?: (google.cloud.dialogflow.cx.v3beta1.IPlaybook|null);

                        /**
                         * Creates a new CreatePlaybookRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreatePlaybookRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreatePlaybookRequest): google.cloud.dialogflow.cx.v3beta1.CreatePlaybookRequest;

                        /**
                         * Encodes the specified CreatePlaybookRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreatePlaybookRequest.verify|verify} messages.
                         * @param message CreatePlaybookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreatePlaybookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreatePlaybookRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreatePlaybookRequest.verify|verify} messages.
                         * @param message CreatePlaybookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreatePlaybookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreatePlaybookRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreatePlaybookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreatePlaybookRequest;

                        /**
                         * Decodes a CreatePlaybookRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreatePlaybookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreatePlaybookRequest;

                        /**
                         * Verifies a CreatePlaybookRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreatePlaybookRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreatePlaybookRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreatePlaybookRequest;

                        /**
                         * Creates a plain object from a CreatePlaybookRequest message. Also converts values to other types if specified.
                         * @param message CreatePlaybookRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreatePlaybookRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreatePlaybookRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreatePlaybookRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeletePlaybookRequest. */
                    interface IDeletePlaybookRequest {

                        /** DeletePlaybookRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeletePlaybookRequest. */
                    class DeletePlaybookRequest implements IDeletePlaybookRequest {

                        /**
                         * Constructs a new DeletePlaybookRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeletePlaybookRequest);

                        /** DeletePlaybookRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeletePlaybookRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeletePlaybookRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeletePlaybookRequest): google.cloud.dialogflow.cx.v3beta1.DeletePlaybookRequest;

                        /**
                         * Encodes the specified DeletePlaybookRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeletePlaybookRequest.verify|verify} messages.
                         * @param message DeletePlaybookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeletePlaybookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeletePlaybookRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeletePlaybookRequest.verify|verify} messages.
                         * @param message DeletePlaybookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeletePlaybookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeletePlaybookRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeletePlaybookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeletePlaybookRequest;

                        /**
                         * Decodes a DeletePlaybookRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeletePlaybookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeletePlaybookRequest;

                        /**
                         * Verifies a DeletePlaybookRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeletePlaybookRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeletePlaybookRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeletePlaybookRequest;

                        /**
                         * Creates a plain object from a DeletePlaybookRequest message. Also converts values to other types if specified.
                         * @param message DeletePlaybookRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeletePlaybookRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeletePlaybookRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeletePlaybookRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListPlaybooksRequest. */
                    interface IListPlaybooksRequest {

                        /** ListPlaybooksRequest parent */
                        parent?: (string|null);

                        /** ListPlaybooksRequest pageSize */
                        pageSize?: (number|null);

                        /** ListPlaybooksRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListPlaybooksRequest. */
                    class ListPlaybooksRequest implements IListPlaybooksRequest {

                        /**
                         * Constructs a new ListPlaybooksRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListPlaybooksRequest);

                        /** ListPlaybooksRequest parent. */
                        public parent: string;

                        /** ListPlaybooksRequest pageSize. */
                        public pageSize: number;

                        /** ListPlaybooksRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListPlaybooksRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListPlaybooksRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListPlaybooksRequest): google.cloud.dialogflow.cx.v3beta1.ListPlaybooksRequest;

                        /**
                         * Encodes the specified ListPlaybooksRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListPlaybooksRequest.verify|verify} messages.
                         * @param message ListPlaybooksRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListPlaybooksRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListPlaybooksRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListPlaybooksRequest.verify|verify} messages.
                         * @param message ListPlaybooksRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListPlaybooksRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListPlaybooksRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListPlaybooksRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListPlaybooksRequest;

                        /**
                         * Decodes a ListPlaybooksRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListPlaybooksRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListPlaybooksRequest;

                        /**
                         * Verifies a ListPlaybooksRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListPlaybooksRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListPlaybooksRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListPlaybooksRequest;

                        /**
                         * Creates a plain object from a ListPlaybooksRequest message. Also converts values to other types if specified.
                         * @param message ListPlaybooksRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListPlaybooksRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListPlaybooksRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListPlaybooksRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListPlaybooksResponse. */
                    interface IListPlaybooksResponse {

                        /** ListPlaybooksResponse playbooks */
                        playbooks?: (google.cloud.dialogflow.cx.v3beta1.IPlaybook[]|null);

                        /** ListPlaybooksResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListPlaybooksResponse. */
                    class ListPlaybooksResponse implements IListPlaybooksResponse {

                        /**
                         * Constructs a new ListPlaybooksResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListPlaybooksResponse);

                        /** ListPlaybooksResponse playbooks. */
                        public playbooks: google.cloud.dialogflow.cx.v3beta1.IPlaybook[];

                        /** ListPlaybooksResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListPlaybooksResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListPlaybooksResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListPlaybooksResponse): google.cloud.dialogflow.cx.v3beta1.ListPlaybooksResponse;

                        /**
                         * Encodes the specified ListPlaybooksResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListPlaybooksResponse.verify|verify} messages.
                         * @param message ListPlaybooksResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListPlaybooksResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListPlaybooksResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListPlaybooksResponse.verify|verify} messages.
                         * @param message ListPlaybooksResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListPlaybooksResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListPlaybooksResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListPlaybooksResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListPlaybooksResponse;

                        /**
                         * Decodes a ListPlaybooksResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListPlaybooksResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListPlaybooksResponse;

                        /**
                         * Verifies a ListPlaybooksResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListPlaybooksResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListPlaybooksResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListPlaybooksResponse;

                        /**
                         * Creates a plain object from a ListPlaybooksResponse message. Also converts values to other types if specified.
                         * @param message ListPlaybooksResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListPlaybooksResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListPlaybooksResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListPlaybooksResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetPlaybookRequest. */
                    interface IGetPlaybookRequest {

                        /** GetPlaybookRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetPlaybookRequest. */
                    class GetPlaybookRequest implements IGetPlaybookRequest {

                        /**
                         * Constructs a new GetPlaybookRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetPlaybookRequest);

                        /** GetPlaybookRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetPlaybookRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetPlaybookRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetPlaybookRequest): google.cloud.dialogflow.cx.v3beta1.GetPlaybookRequest;

                        /**
                         * Encodes the specified GetPlaybookRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetPlaybookRequest.verify|verify} messages.
                         * @param message GetPlaybookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetPlaybookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetPlaybookRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetPlaybookRequest.verify|verify} messages.
                         * @param message GetPlaybookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetPlaybookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetPlaybookRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetPlaybookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetPlaybookRequest;

                        /**
                         * Decodes a GetPlaybookRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetPlaybookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetPlaybookRequest;

                        /**
                         * Verifies a GetPlaybookRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetPlaybookRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetPlaybookRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetPlaybookRequest;

                        /**
                         * Creates a plain object from a GetPlaybookRequest message. Also converts values to other types if specified.
                         * @param message GetPlaybookRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetPlaybookRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetPlaybookRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetPlaybookRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdatePlaybookRequest. */
                    interface IUpdatePlaybookRequest {

                        /** UpdatePlaybookRequest playbook */
                        playbook?: (google.cloud.dialogflow.cx.v3beta1.IPlaybook|null);

                        /** UpdatePlaybookRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdatePlaybookRequest. */
                    class UpdatePlaybookRequest implements IUpdatePlaybookRequest {

                        /**
                         * Constructs a new UpdatePlaybookRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdatePlaybookRequest);

                        /** UpdatePlaybookRequest playbook. */
                        public playbook?: (google.cloud.dialogflow.cx.v3beta1.IPlaybook|null);

                        /** UpdatePlaybookRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdatePlaybookRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdatePlaybookRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdatePlaybookRequest): google.cloud.dialogflow.cx.v3beta1.UpdatePlaybookRequest;

                        /**
                         * Encodes the specified UpdatePlaybookRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdatePlaybookRequest.verify|verify} messages.
                         * @param message UpdatePlaybookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdatePlaybookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdatePlaybookRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdatePlaybookRequest.verify|verify} messages.
                         * @param message UpdatePlaybookRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdatePlaybookRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdatePlaybookRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdatePlaybookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdatePlaybookRequest;

                        /**
                         * Decodes an UpdatePlaybookRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdatePlaybookRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdatePlaybookRequest;

                        /**
                         * Verifies an UpdatePlaybookRequest message.
                         * @param message Plain 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 UpdatePlaybookRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdatePlaybookRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdatePlaybookRequest;

                        /**
                         * Creates a plain object from an UpdatePlaybookRequest message. Also converts values to other types if specified.
                         * @param message UpdatePlaybookRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdatePlaybookRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdatePlaybookRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdatePlaybookRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a Playbook. */
                    interface IPlaybook {

                        /** Playbook name */
                        name?: (string|null);

                        /** Playbook displayName */
                        displayName?: (string|null);

                        /** Playbook goal */
                        goal?: (string|null);

                        /** Playbook inputParameterDefinitions */
                        inputParameterDefinitions?: (google.cloud.dialogflow.cx.v3beta1.IParameterDefinition[]|null);

                        /** Playbook outputParameterDefinitions */
                        outputParameterDefinitions?: (google.cloud.dialogflow.cx.v3beta1.IParameterDefinition[]|null);

                        /** Playbook instruction */
                        instruction?: (google.cloud.dialogflow.cx.v3beta1.Playbook.IInstruction|null);

                        /** Playbook tokenCount */
                        tokenCount?: (number|Long|string|null);

                        /** Playbook createTime */
                        createTime?: (google.protobuf.ITimestamp|null);

                        /** Playbook updateTime */
                        updateTime?: (google.protobuf.ITimestamp|null);

                        /** Playbook referencedPlaybooks */
                        referencedPlaybooks?: (string[]|null);

                        /** Playbook referencedFlows */
                        referencedFlows?: (string[]|null);

                        /** Playbook referencedTools */
                        referencedTools?: (string[]|null);

                        /** Playbook llmModelSettings */
                        llmModelSettings?: (google.cloud.dialogflow.cx.v3beta1.ILlmModelSettings|null);

                        /** Playbook speechSettings */
                        speechSettings?: (google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.ISpeechSettings|null);

                        /** Playbook handlers */
                        handlers?: (google.cloud.dialogflow.cx.v3beta1.IHandler[]|null);
                    }

                    /** Represents a Playbook. */
                    class Playbook implements IPlaybook {

                        /**
                         * Constructs a new Playbook.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IPlaybook);

                        /** Playbook name. */
                        public name: string;

                        /** Playbook displayName. */
                        public displayName: string;

                        /** Playbook goal. */
                        public goal: string;

                        /** Playbook inputParameterDefinitions. */
                        public inputParameterDefinitions: google.cloud.dialogflow.cx.v3beta1.IParameterDefinition[];

                        /** Playbook outputParameterDefinitions. */
                        public outputParameterDefinitions: google.cloud.dialogflow.cx.v3beta1.IParameterDefinition[];

                        /** Playbook instruction. */
                        public instruction?: (google.cloud.dialogflow.cx.v3beta1.Playbook.IInstruction|null);

                        /** Playbook tokenCount. */
                        public tokenCount: (number|Long|string);

                        /** Playbook createTime. */
                        public createTime?: (google.protobuf.ITimestamp|null);

                        /** Playbook updateTime. */
                        public updateTime?: (google.protobuf.ITimestamp|null);

                        /** Playbook referencedPlaybooks. */
                        public referencedPlaybooks: string[];

                        /** Playbook referencedFlows. */
                        public referencedFlows: string[];

                        /** Playbook referencedTools. */
                        public referencedTools: string[];

                        /** Playbook llmModelSettings. */
                        public llmModelSettings?: (google.cloud.dialogflow.cx.v3beta1.ILlmModelSettings|null);

                        /** Playbook speechSettings. */
                        public speechSettings?: (google.cloud.dialogflow.cx.v3beta1.AdvancedSettings.ISpeechSettings|null);

                        /** Playbook handlers. */
                        public handlers: google.cloud.dialogflow.cx.v3beta1.IHandler[];

                        /**
                         * Creates a new Playbook instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Playbook instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IPlaybook): google.cloud.dialogflow.cx.v3beta1.Playbook;

                        /**
                         * Encodes the specified Playbook message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Playbook.verify|verify} messages.
                         * @param message Playbook message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IPlaybook, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Playbook message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Playbook.verify|verify} messages.
                         * @param message Playbook message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IPlaybook, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Playbook message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Playbook
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Playbook;

                        /**
                         * Decodes a Playbook message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Playbook
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Playbook;

                        /**
                         * Verifies a Playbook message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Playbook message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Playbook
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Playbook;

                        /**
                         * Creates a plain object from a Playbook message. Also converts values to other types if specified.
                         * @param message Playbook
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Playbook, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Playbook to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Playbook
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Playbook {

                        /** Properties of a Step. */
                        interface IStep {

                            /** Step text */
                            text?: (string|null);

                            /** Step steps */
                            steps?: (google.cloud.dialogflow.cx.v3beta1.Playbook.IStep[]|null);
                        }

                        /** Represents a Step. */
                        class Step implements IStep {

                            /**
                             * Constructs a new Step.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Playbook.IStep);

                            /** Step text. */
                            public text?: (string|null);

                            /** Step steps. */
                            public steps: google.cloud.dialogflow.cx.v3beta1.Playbook.IStep[];

                            /** Step instruction. */
                            public instruction?: "text";

                            /**
                             * Creates a new Step instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Step instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Playbook.IStep): google.cloud.dialogflow.cx.v3beta1.Playbook.Step;

                            /**
                             * Encodes the specified Step message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Playbook.Step.verify|verify} messages.
                             * @param message Step message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Playbook.IStep, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Step message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Playbook.Step.verify|verify} messages.
                             * @param message Step message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Playbook.IStep, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Step message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Step
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Playbook.Step;

                            /**
                             * Decodes a Step message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Step
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Playbook.Step;

                            /**
                             * Verifies a Step message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Step message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Step
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Playbook.Step;

                            /**
                             * Creates a plain object from a Step message. Also converts values to other types if specified.
                             * @param message Step
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Playbook.Step, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Step to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Step
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of an Instruction. */
                        interface IInstruction {

                            /** Instruction guidelines */
                            guidelines?: (string|null);

                            /** Instruction steps */
                            steps?: (google.cloud.dialogflow.cx.v3beta1.Playbook.IStep[]|null);
                        }

                        /** Represents an Instruction. */
                        class Instruction implements IInstruction {

                            /**
                             * Constructs a new Instruction.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Playbook.IInstruction);

                            /** Instruction guidelines. */
                            public guidelines: string;

                            /** Instruction steps. */
                            public steps: google.cloud.dialogflow.cx.v3beta1.Playbook.IStep[];

                            /**
                             * Creates a new Instruction instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Instruction instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Playbook.IInstruction): google.cloud.dialogflow.cx.v3beta1.Playbook.Instruction;

                            /**
                             * Encodes the specified Instruction message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Playbook.Instruction.verify|verify} messages.
                             * @param message Instruction message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Playbook.IInstruction, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Instruction message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Playbook.Instruction.verify|verify} messages.
                             * @param message Instruction message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Playbook.IInstruction, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an Instruction message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Instruction
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Playbook.Instruction;

                            /**
                             * Decodes an Instruction message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Instruction
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Playbook.Instruction;

                            /**
                             * Verifies an Instruction message.
                             * @param message Plain 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 Instruction message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Instruction
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Playbook.Instruction;

                            /**
                             * Creates a plain object from an Instruction message. Also converts values to other types if specified.
                             * @param message Instruction
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Playbook.Instruction, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Instruction to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Instruction
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of a CreatePlaybookVersionRequest. */
                    interface ICreatePlaybookVersionRequest {

                        /** CreatePlaybookVersionRequest parent */
                        parent?: (string|null);

                        /** CreatePlaybookVersionRequest playbookVersion */
                        playbookVersion?: (google.cloud.dialogflow.cx.v3beta1.IPlaybookVersion|null);
                    }

                    /** Represents a CreatePlaybookVersionRequest. */
                    class CreatePlaybookVersionRequest implements ICreatePlaybookVersionRequest {

                        /**
                         * Constructs a new CreatePlaybookVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreatePlaybookVersionRequest);

                        /** CreatePlaybookVersionRequest parent. */
                        public parent: string;

                        /** CreatePlaybookVersionRequest playbookVersion. */
                        public playbookVersion?: (google.cloud.dialogflow.cx.v3beta1.IPlaybookVersion|null);

                        /**
                         * Creates a new CreatePlaybookVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreatePlaybookVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreatePlaybookVersionRequest): google.cloud.dialogflow.cx.v3beta1.CreatePlaybookVersionRequest;

                        /**
                         * Encodes the specified CreatePlaybookVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreatePlaybookVersionRequest.verify|verify} messages.
                         * @param message CreatePlaybookVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreatePlaybookVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreatePlaybookVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreatePlaybookVersionRequest.verify|verify} messages.
                         * @param message CreatePlaybookVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreatePlaybookVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreatePlaybookVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreatePlaybookVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreatePlaybookVersionRequest;

                        /**
                         * Decodes a CreatePlaybookVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreatePlaybookVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreatePlaybookVersionRequest;

                        /**
                         * Verifies a CreatePlaybookVersionRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreatePlaybookVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreatePlaybookVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreatePlaybookVersionRequest;

                        /**
                         * Creates a plain object from a CreatePlaybookVersionRequest message. Also converts values to other types if specified.
                         * @param message CreatePlaybookVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreatePlaybookVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreatePlaybookVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreatePlaybookVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a PlaybookVersion. */
                    interface IPlaybookVersion {

                        /** PlaybookVersion name */
                        name?: (string|null);

                        /** PlaybookVersion description */
                        description?: (string|null);

                        /** PlaybookVersion playbook */
                        playbook?: (google.cloud.dialogflow.cx.v3beta1.IPlaybook|null);

                        /** PlaybookVersion examples */
                        examples?: (google.cloud.dialogflow.cx.v3beta1.IExample[]|null);

                        /** PlaybookVersion updateTime */
                        updateTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a PlaybookVersion. */
                    class PlaybookVersion implements IPlaybookVersion {

                        /**
                         * Constructs a new PlaybookVersion.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IPlaybookVersion);

                        /** PlaybookVersion name. */
                        public name: string;

                        /** PlaybookVersion description. */
                        public description: string;

                        /** PlaybookVersion playbook. */
                        public playbook?: (google.cloud.dialogflow.cx.v3beta1.IPlaybook|null);

                        /** PlaybookVersion examples. */
                        public examples: google.cloud.dialogflow.cx.v3beta1.IExample[];

                        /** PlaybookVersion updateTime. */
                        public updateTime?: (google.protobuf.ITimestamp|null);

                        /**
                         * Creates a new PlaybookVersion instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns PlaybookVersion instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IPlaybookVersion): google.cloud.dialogflow.cx.v3beta1.PlaybookVersion;

                        /**
                         * Encodes the specified PlaybookVersion message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.PlaybookVersion.verify|verify} messages.
                         * @param message PlaybookVersion message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IPlaybookVersion, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified PlaybookVersion message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.PlaybookVersion.verify|verify} messages.
                         * @param message PlaybookVersion message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IPlaybookVersion, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a PlaybookVersion message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns PlaybookVersion
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.PlaybookVersion;

                        /**
                         * Decodes a PlaybookVersion message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns PlaybookVersion
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.PlaybookVersion;

                        /**
                         * Verifies a PlaybookVersion message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a PlaybookVersion message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns PlaybookVersion
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.PlaybookVersion;

                        /**
                         * Creates a plain object from a PlaybookVersion message. Also converts values to other types if specified.
                         * @param message PlaybookVersion
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.PlaybookVersion, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this PlaybookVersion to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for PlaybookVersion
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetPlaybookVersionRequest. */
                    interface IGetPlaybookVersionRequest {

                        /** GetPlaybookVersionRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetPlaybookVersionRequest. */
                    class GetPlaybookVersionRequest implements IGetPlaybookVersionRequest {

                        /**
                         * Constructs a new GetPlaybookVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetPlaybookVersionRequest);

                        /** GetPlaybookVersionRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetPlaybookVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetPlaybookVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetPlaybookVersionRequest): google.cloud.dialogflow.cx.v3beta1.GetPlaybookVersionRequest;

                        /**
                         * Encodes the specified GetPlaybookVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetPlaybookVersionRequest.verify|verify} messages.
                         * @param message GetPlaybookVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetPlaybookVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetPlaybookVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetPlaybookVersionRequest.verify|verify} messages.
                         * @param message GetPlaybookVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetPlaybookVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetPlaybookVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetPlaybookVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetPlaybookVersionRequest;

                        /**
                         * Decodes a GetPlaybookVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetPlaybookVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetPlaybookVersionRequest;

                        /**
                         * Verifies a GetPlaybookVersionRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetPlaybookVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetPlaybookVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetPlaybookVersionRequest;

                        /**
                         * Creates a plain object from a GetPlaybookVersionRequest message. Also converts values to other types if specified.
                         * @param message GetPlaybookVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetPlaybookVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetPlaybookVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetPlaybookVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListPlaybookVersionsRequest. */
                    interface IListPlaybookVersionsRequest {

                        /** ListPlaybookVersionsRequest parent */
                        parent?: (string|null);

                        /** ListPlaybookVersionsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListPlaybookVersionsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListPlaybookVersionsRequest. */
                    class ListPlaybookVersionsRequest implements IListPlaybookVersionsRequest {

                        /**
                         * Constructs a new ListPlaybookVersionsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListPlaybookVersionsRequest);

                        /** ListPlaybookVersionsRequest parent. */
                        public parent: string;

                        /** ListPlaybookVersionsRequest pageSize. */
                        public pageSize: number;

                        /** ListPlaybookVersionsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListPlaybookVersionsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListPlaybookVersionsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListPlaybookVersionsRequest): google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsRequest;

                        /**
                         * Encodes the specified ListPlaybookVersionsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsRequest.verify|verify} messages.
                         * @param message ListPlaybookVersionsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListPlaybookVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListPlaybookVersionsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsRequest.verify|verify} messages.
                         * @param message ListPlaybookVersionsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListPlaybookVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListPlaybookVersionsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListPlaybookVersionsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsRequest;

                        /**
                         * Decodes a ListPlaybookVersionsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListPlaybookVersionsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsRequest;

                        /**
                         * Verifies a ListPlaybookVersionsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListPlaybookVersionsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListPlaybookVersionsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsRequest;

                        /**
                         * Creates a plain object from a ListPlaybookVersionsRequest message. Also converts values to other types if specified.
                         * @param message ListPlaybookVersionsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListPlaybookVersionsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListPlaybookVersionsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListPlaybookVersionsResponse. */
                    interface IListPlaybookVersionsResponse {

                        /** ListPlaybookVersionsResponse playbookVersions */
                        playbookVersions?: (google.cloud.dialogflow.cx.v3beta1.IPlaybookVersion[]|null);

                        /** ListPlaybookVersionsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListPlaybookVersionsResponse. */
                    class ListPlaybookVersionsResponse implements IListPlaybookVersionsResponse {

                        /**
                         * Constructs a new ListPlaybookVersionsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListPlaybookVersionsResponse);

                        /** ListPlaybookVersionsResponse playbookVersions. */
                        public playbookVersions: google.cloud.dialogflow.cx.v3beta1.IPlaybookVersion[];

                        /** ListPlaybookVersionsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListPlaybookVersionsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListPlaybookVersionsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListPlaybookVersionsResponse): google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsResponse;

                        /**
                         * Encodes the specified ListPlaybookVersionsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsResponse.verify|verify} messages.
                         * @param message ListPlaybookVersionsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListPlaybookVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListPlaybookVersionsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsResponse.verify|verify} messages.
                         * @param message ListPlaybookVersionsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListPlaybookVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListPlaybookVersionsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListPlaybookVersionsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsResponse;

                        /**
                         * Decodes a ListPlaybookVersionsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListPlaybookVersionsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsResponse;

                        /**
                         * Verifies a ListPlaybookVersionsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListPlaybookVersionsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListPlaybookVersionsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsResponse;

                        /**
                         * Creates a plain object from a ListPlaybookVersionsResponse message. Also converts values to other types if specified.
                         * @param message ListPlaybookVersionsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListPlaybookVersionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListPlaybookVersionsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListPlaybookVersionsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeletePlaybookVersionRequest. */
                    interface IDeletePlaybookVersionRequest {

                        /** DeletePlaybookVersionRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeletePlaybookVersionRequest. */
                    class DeletePlaybookVersionRequest implements IDeletePlaybookVersionRequest {

                        /**
                         * Constructs a new DeletePlaybookVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeletePlaybookVersionRequest);

                        /** DeletePlaybookVersionRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeletePlaybookVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeletePlaybookVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeletePlaybookVersionRequest): google.cloud.dialogflow.cx.v3beta1.DeletePlaybookVersionRequest;

                        /**
                         * Encodes the specified DeletePlaybookVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeletePlaybookVersionRequest.verify|verify} messages.
                         * @param message DeletePlaybookVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeletePlaybookVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeletePlaybookVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeletePlaybookVersionRequest.verify|verify} messages.
                         * @param message DeletePlaybookVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeletePlaybookVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeletePlaybookVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeletePlaybookVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeletePlaybookVersionRequest;

                        /**
                         * Decodes a DeletePlaybookVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeletePlaybookVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeletePlaybookVersionRequest;

                        /**
                         * Verifies a DeletePlaybookVersionRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeletePlaybookVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeletePlaybookVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeletePlaybookVersionRequest;

                        /**
                         * Creates a plain object from a DeletePlaybookVersionRequest message. Also converts values to other types if specified.
                         * @param message DeletePlaybookVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeletePlaybookVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeletePlaybookVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeletePlaybookVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a Handler. */
                    interface IHandler {

                        /** Handler eventHandler */
                        eventHandler?: (google.cloud.dialogflow.cx.v3beta1.Handler.IEventHandler|null);

                        /** Handler lifecycleHandler */
                        lifecycleHandler?: (google.cloud.dialogflow.cx.v3beta1.Handler.ILifecycleHandler|null);
                    }

                    /** Represents a Handler. */
                    class Handler implements IHandler {

                        /**
                         * Constructs a new Handler.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IHandler);

                        /** Handler eventHandler. */
                        public eventHandler?: (google.cloud.dialogflow.cx.v3beta1.Handler.IEventHandler|null);

                        /** Handler lifecycleHandler. */
                        public lifecycleHandler?: (google.cloud.dialogflow.cx.v3beta1.Handler.ILifecycleHandler|null);

                        /** Handler handler. */
                        public handler?: ("eventHandler"|"lifecycleHandler");

                        /**
                         * Creates a new Handler instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Handler instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IHandler): google.cloud.dialogflow.cx.v3beta1.Handler;

                        /**
                         * Encodes the specified Handler message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Handler.verify|verify} messages.
                         * @param message Handler message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IHandler, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Handler message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Handler.verify|verify} messages.
                         * @param message Handler message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IHandler, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Handler message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Handler
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Handler;

                        /**
                         * Decodes a Handler message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Handler
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Handler;

                        /**
                         * Verifies a Handler message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Handler message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Handler
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Handler;

                        /**
                         * Creates a plain object from a Handler message. Also converts values to other types if specified.
                         * @param message Handler
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Handler, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Handler to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Handler
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Handler {

                        /** Properties of an EventHandler. */
                        interface IEventHandler {

                            /** EventHandler event */
                            event?: (string|null);

                            /** EventHandler condition */
                            condition?: (string|null);

                            /** EventHandler fulfillment */
                            fulfillment?: (google.cloud.dialogflow.cx.v3beta1.IFulfillment|null);
                        }

                        /** Represents an EventHandler. */
                        class EventHandler implements IEventHandler {

                            /**
                             * Constructs a new EventHandler.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Handler.IEventHandler);

                            /** EventHandler event. */
                            public event: string;

                            /** EventHandler condition. */
                            public condition: string;

                            /** EventHandler fulfillment. */
                            public fulfillment?: (google.cloud.dialogflow.cx.v3beta1.IFulfillment|null);

                            /**
                             * Creates a new EventHandler instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns EventHandler instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Handler.IEventHandler): google.cloud.dialogflow.cx.v3beta1.Handler.EventHandler;

                            /**
                             * Encodes the specified EventHandler message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Handler.EventHandler.verify|verify} messages.
                             * @param message EventHandler message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Handler.IEventHandler, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified EventHandler message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Handler.EventHandler.verify|verify} messages.
                             * @param message EventHandler message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Handler.IEventHandler, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an EventHandler message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns EventHandler
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Handler.EventHandler;

                            /**
                             * Decodes an EventHandler message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns EventHandler
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Handler.EventHandler;

                            /**
                             * Verifies an EventHandler message.
                             * @param message Plain 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 EventHandler message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns EventHandler
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Handler.EventHandler;

                            /**
                             * Creates a plain object from an EventHandler message. Also converts values to other types if specified.
                             * @param message EventHandler
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Handler.EventHandler, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this EventHandler to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for EventHandler
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a LifecycleHandler. */
                        interface ILifecycleHandler {

                            /** LifecycleHandler lifecycleStage */
                            lifecycleStage?: (string|null);

                            /** LifecycleHandler condition */
                            condition?: (string|null);

                            /** LifecycleHandler fulfillment */
                            fulfillment?: (google.cloud.dialogflow.cx.v3beta1.IFulfillment|null);
                        }

                        /** Represents a LifecycleHandler. */
                        class LifecycleHandler implements ILifecycleHandler {

                            /**
                             * Constructs a new LifecycleHandler.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Handler.ILifecycleHandler);

                            /** LifecycleHandler lifecycleStage. */
                            public lifecycleStage: string;

                            /** LifecycleHandler condition. */
                            public condition: string;

                            /** LifecycleHandler fulfillment. */
                            public fulfillment?: (google.cloud.dialogflow.cx.v3beta1.IFulfillment|null);

                            /**
                             * Creates a new LifecycleHandler instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns LifecycleHandler instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Handler.ILifecycleHandler): google.cloud.dialogflow.cx.v3beta1.Handler.LifecycleHandler;

                            /**
                             * Encodes the specified LifecycleHandler message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Handler.LifecycleHandler.verify|verify} messages.
                             * @param message LifecycleHandler message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Handler.ILifecycleHandler, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified LifecycleHandler message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Handler.LifecycleHandler.verify|verify} messages.
                             * @param message LifecycleHandler message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Handler.ILifecycleHandler, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a LifecycleHandler message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns LifecycleHandler
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Handler.LifecycleHandler;

                            /**
                             * Decodes a LifecycleHandler message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns LifecycleHandler
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Handler.LifecycleHandler;

                            /**
                             * Verifies a LifecycleHandler message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a LifecycleHandler message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns LifecycleHandler
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Handler.LifecycleHandler;

                            /**
                             * Creates a plain object from a LifecycleHandler message. Also converts values to other types if specified.
                             * @param message LifecycleHandler
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Handler.LifecycleHandler, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this LifecycleHandler to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for LifecycleHandler
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Represents a SecuritySettingsService */
                    class SecuritySettingsService extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new SecuritySettingsService 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 SecuritySettingsService 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): SecuritySettingsService;

                        /**
                         * Calls CreateSecuritySettings.
                         * @param request CreateSecuritySettingsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and SecuritySettings
                         */
                        public createSecuritySettings(request: google.cloud.dialogflow.cx.v3beta1.ICreateSecuritySettingsRequest, callback: google.cloud.dialogflow.cx.v3beta1.SecuritySettingsService.CreateSecuritySettingsCallback): void;

                        /**
                         * Calls CreateSecuritySettings.
                         * @param request CreateSecuritySettingsRequest message or plain object
                         * @returns Promise
                         */
                        public createSecuritySettings(request: google.cloud.dialogflow.cx.v3beta1.ICreateSecuritySettingsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.SecuritySettings>;

                        /**
                         * Calls GetSecuritySettings.
                         * @param request GetSecuritySettingsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and SecuritySettings
                         */
                        public getSecuritySettings(request: google.cloud.dialogflow.cx.v3beta1.IGetSecuritySettingsRequest, callback: google.cloud.dialogflow.cx.v3beta1.SecuritySettingsService.GetSecuritySettingsCallback): void;

                        /**
                         * Calls GetSecuritySettings.
                         * @param request GetSecuritySettingsRequest message or plain object
                         * @returns Promise
                         */
                        public getSecuritySettings(request: google.cloud.dialogflow.cx.v3beta1.IGetSecuritySettingsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.SecuritySettings>;

                        /**
                         * Calls UpdateSecuritySettings.
                         * @param request UpdateSecuritySettingsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and SecuritySettings
                         */
                        public updateSecuritySettings(request: google.cloud.dialogflow.cx.v3beta1.IUpdateSecuritySettingsRequest, callback: google.cloud.dialogflow.cx.v3beta1.SecuritySettingsService.UpdateSecuritySettingsCallback): void;

                        /**
                         * Calls UpdateSecuritySettings.
                         * @param request UpdateSecuritySettingsRequest message or plain object
                         * @returns Promise
                         */
                        public updateSecuritySettings(request: google.cloud.dialogflow.cx.v3beta1.IUpdateSecuritySettingsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.SecuritySettings>;

                        /**
                         * Calls ListSecuritySettings.
                         * @param request ListSecuritySettingsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListSecuritySettingsResponse
                         */
                        public listSecuritySettings(request: google.cloud.dialogflow.cx.v3beta1.IListSecuritySettingsRequest, callback: google.cloud.dialogflow.cx.v3beta1.SecuritySettingsService.ListSecuritySettingsCallback): void;

                        /**
                         * Calls ListSecuritySettings.
                         * @param request ListSecuritySettingsRequest message or plain object
                         * @returns Promise
                         */
                        public listSecuritySettings(request: google.cloud.dialogflow.cx.v3beta1.IListSecuritySettingsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsResponse>;

                        /**
                         * Calls DeleteSecuritySettings.
                         * @param request DeleteSecuritySettingsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteSecuritySettings(request: google.cloud.dialogflow.cx.v3beta1.IDeleteSecuritySettingsRequest, callback: google.cloud.dialogflow.cx.v3beta1.SecuritySettingsService.DeleteSecuritySettingsCallback): void;

                        /**
                         * Calls DeleteSecuritySettings.
                         * @param request DeleteSecuritySettingsRequest message or plain object
                         * @returns Promise
                         */
                        public deleteSecuritySettings(request: google.cloud.dialogflow.cx.v3beta1.IDeleteSecuritySettingsRequest): Promise<google.protobuf.Empty>;
                    }

                    namespace SecuritySettingsService {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.SecuritySettingsService|createSecuritySettings}.
                         * @param error Error, if any
                         * @param [response] SecuritySettings
                         */
                        type CreateSecuritySettingsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.SecuritySettings) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.SecuritySettingsService|getSecuritySettings}.
                         * @param error Error, if any
                         * @param [response] SecuritySettings
                         */
                        type GetSecuritySettingsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.SecuritySettings) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.SecuritySettingsService|updateSecuritySettings}.
                         * @param error Error, if any
                         * @param [response] SecuritySettings
                         */
                        type UpdateSecuritySettingsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.SecuritySettings) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.SecuritySettingsService|listSecuritySettings}.
                         * @param error Error, if any
                         * @param [response] ListSecuritySettingsResponse
                         */
                        type ListSecuritySettingsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.SecuritySettingsService|deleteSecuritySettings}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteSecuritySettingsCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                    }

                    /** Properties of a GetSecuritySettingsRequest. */
                    interface IGetSecuritySettingsRequest {

                        /** GetSecuritySettingsRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetSecuritySettingsRequest. */
                    class GetSecuritySettingsRequest implements IGetSecuritySettingsRequest {

                        /**
                         * Constructs a new GetSecuritySettingsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetSecuritySettingsRequest);

                        /** GetSecuritySettingsRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetSecuritySettingsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetSecuritySettingsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetSecuritySettingsRequest): google.cloud.dialogflow.cx.v3beta1.GetSecuritySettingsRequest;

                        /**
                         * Encodes the specified GetSecuritySettingsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetSecuritySettingsRequest.verify|verify} messages.
                         * @param message GetSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetSecuritySettingsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetSecuritySettingsRequest.verify|verify} messages.
                         * @param message GetSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetSecuritySettingsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetSecuritySettingsRequest;

                        /**
                         * Decodes a GetSecuritySettingsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetSecuritySettingsRequest;

                        /**
                         * Verifies a GetSecuritySettingsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetSecuritySettingsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetSecuritySettingsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetSecuritySettingsRequest;

                        /**
                         * Creates a plain object from a GetSecuritySettingsRequest message. Also converts values to other types if specified.
                         * @param message GetSecuritySettingsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetSecuritySettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetSecuritySettingsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetSecuritySettingsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateSecuritySettingsRequest. */
                    interface IUpdateSecuritySettingsRequest {

                        /** UpdateSecuritySettingsRequest securitySettings */
                        securitySettings?: (google.cloud.dialogflow.cx.v3beta1.ISecuritySettings|null);

                        /** UpdateSecuritySettingsRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateSecuritySettingsRequest. */
                    class UpdateSecuritySettingsRequest implements IUpdateSecuritySettingsRequest {

                        /**
                         * Constructs a new UpdateSecuritySettingsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateSecuritySettingsRequest);

                        /** UpdateSecuritySettingsRequest securitySettings. */
                        public securitySettings?: (google.cloud.dialogflow.cx.v3beta1.ISecuritySettings|null);

                        /** UpdateSecuritySettingsRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateSecuritySettingsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateSecuritySettingsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateSecuritySettingsRequest): google.cloud.dialogflow.cx.v3beta1.UpdateSecuritySettingsRequest;

                        /**
                         * Encodes the specified UpdateSecuritySettingsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateSecuritySettingsRequest.verify|verify} messages.
                         * @param message UpdateSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateSecuritySettingsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateSecuritySettingsRequest.verify|verify} messages.
                         * @param message UpdateSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateSecuritySettingsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateSecuritySettingsRequest;

                        /**
                         * Decodes an UpdateSecuritySettingsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateSecuritySettingsRequest;

                        /**
                         * Verifies an UpdateSecuritySettingsRequest message.
                         * @param message Plain 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 UpdateSecuritySettingsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateSecuritySettingsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateSecuritySettingsRequest;

                        /**
                         * Creates a plain object from an UpdateSecuritySettingsRequest message. Also converts values to other types if specified.
                         * @param message UpdateSecuritySettingsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateSecuritySettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateSecuritySettingsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateSecuritySettingsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListSecuritySettingsRequest. */
                    interface IListSecuritySettingsRequest {

                        /** ListSecuritySettingsRequest parent */
                        parent?: (string|null);

                        /** ListSecuritySettingsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListSecuritySettingsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListSecuritySettingsRequest. */
                    class ListSecuritySettingsRequest implements IListSecuritySettingsRequest {

                        /**
                         * Constructs a new ListSecuritySettingsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListSecuritySettingsRequest);

                        /** ListSecuritySettingsRequest parent. */
                        public parent: string;

                        /** ListSecuritySettingsRequest pageSize. */
                        public pageSize: number;

                        /** ListSecuritySettingsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListSecuritySettingsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListSecuritySettingsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListSecuritySettingsRequest): google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsRequest;

                        /**
                         * Encodes the specified ListSecuritySettingsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsRequest.verify|verify} messages.
                         * @param message ListSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListSecuritySettingsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsRequest.verify|verify} messages.
                         * @param message ListSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListSecuritySettingsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsRequest;

                        /**
                         * Decodes a ListSecuritySettingsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsRequest;

                        /**
                         * Verifies a ListSecuritySettingsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListSecuritySettingsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListSecuritySettingsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsRequest;

                        /**
                         * Creates a plain object from a ListSecuritySettingsRequest message. Also converts values to other types if specified.
                         * @param message ListSecuritySettingsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListSecuritySettingsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListSecuritySettingsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListSecuritySettingsResponse. */
                    interface IListSecuritySettingsResponse {

                        /** ListSecuritySettingsResponse securitySettings */
                        securitySettings?: (google.cloud.dialogflow.cx.v3beta1.ISecuritySettings[]|null);

                        /** ListSecuritySettingsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListSecuritySettingsResponse. */
                    class ListSecuritySettingsResponse implements IListSecuritySettingsResponse {

                        /**
                         * Constructs a new ListSecuritySettingsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListSecuritySettingsResponse);

                        /** ListSecuritySettingsResponse securitySettings. */
                        public securitySettings: google.cloud.dialogflow.cx.v3beta1.ISecuritySettings[];

                        /** ListSecuritySettingsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListSecuritySettingsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListSecuritySettingsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListSecuritySettingsResponse): google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsResponse;

                        /**
                         * Encodes the specified ListSecuritySettingsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsResponse.verify|verify} messages.
                         * @param message ListSecuritySettingsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListSecuritySettingsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListSecuritySettingsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsResponse.verify|verify} messages.
                         * @param message ListSecuritySettingsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListSecuritySettingsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListSecuritySettingsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListSecuritySettingsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsResponse;

                        /**
                         * Decodes a ListSecuritySettingsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListSecuritySettingsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsResponse;

                        /**
                         * Verifies a ListSecuritySettingsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListSecuritySettingsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListSecuritySettingsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsResponse;

                        /**
                         * Creates a plain object from a ListSecuritySettingsResponse message. Also converts values to other types if specified.
                         * @param message ListSecuritySettingsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListSecuritySettingsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListSecuritySettingsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListSecuritySettingsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateSecuritySettingsRequest. */
                    interface ICreateSecuritySettingsRequest {

                        /** CreateSecuritySettingsRequest parent */
                        parent?: (string|null);

                        /** CreateSecuritySettingsRequest securitySettings */
                        securitySettings?: (google.cloud.dialogflow.cx.v3beta1.ISecuritySettings|null);
                    }

                    /** Represents a CreateSecuritySettingsRequest. */
                    class CreateSecuritySettingsRequest implements ICreateSecuritySettingsRequest {

                        /**
                         * Constructs a new CreateSecuritySettingsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateSecuritySettingsRequest);

                        /** CreateSecuritySettingsRequest parent. */
                        public parent: string;

                        /** CreateSecuritySettingsRequest securitySettings. */
                        public securitySettings?: (google.cloud.dialogflow.cx.v3beta1.ISecuritySettings|null);

                        /**
                         * Creates a new CreateSecuritySettingsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateSecuritySettingsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateSecuritySettingsRequest): google.cloud.dialogflow.cx.v3beta1.CreateSecuritySettingsRequest;

                        /**
                         * Encodes the specified CreateSecuritySettingsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateSecuritySettingsRequest.verify|verify} messages.
                         * @param message CreateSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateSecuritySettingsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateSecuritySettingsRequest.verify|verify} messages.
                         * @param message CreateSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateSecuritySettingsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateSecuritySettingsRequest;

                        /**
                         * Decodes a CreateSecuritySettingsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateSecuritySettingsRequest;

                        /**
                         * Verifies a CreateSecuritySettingsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateSecuritySettingsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateSecuritySettingsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateSecuritySettingsRequest;

                        /**
                         * Creates a plain object from a CreateSecuritySettingsRequest message. Also converts values to other types if specified.
                         * @param message CreateSecuritySettingsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateSecuritySettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateSecuritySettingsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateSecuritySettingsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteSecuritySettingsRequest. */
                    interface IDeleteSecuritySettingsRequest {

                        /** DeleteSecuritySettingsRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeleteSecuritySettingsRequest. */
                    class DeleteSecuritySettingsRequest implements IDeleteSecuritySettingsRequest {

                        /**
                         * Constructs a new DeleteSecuritySettingsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteSecuritySettingsRequest);

                        /** DeleteSecuritySettingsRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeleteSecuritySettingsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteSecuritySettingsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteSecuritySettingsRequest): google.cloud.dialogflow.cx.v3beta1.DeleteSecuritySettingsRequest;

                        /**
                         * Encodes the specified DeleteSecuritySettingsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteSecuritySettingsRequest.verify|verify} messages.
                         * @param message DeleteSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteSecuritySettingsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteSecuritySettingsRequest.verify|verify} messages.
                         * @param message DeleteSecuritySettingsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteSecuritySettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteSecuritySettingsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteSecuritySettingsRequest;

                        /**
                         * Decodes a DeleteSecuritySettingsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteSecuritySettingsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteSecuritySettingsRequest;

                        /**
                         * Verifies a DeleteSecuritySettingsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteSecuritySettingsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteSecuritySettingsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteSecuritySettingsRequest;

                        /**
                         * Creates a plain object from a DeleteSecuritySettingsRequest message. Also converts values to other types if specified.
                         * @param message DeleteSecuritySettingsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteSecuritySettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteSecuritySettingsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteSecuritySettingsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a SecuritySettings. */
                    interface ISecuritySettings {

                        /** SecuritySettings name */
                        name?: (string|null);

                        /** SecuritySettings displayName */
                        displayName?: (string|null);

                        /** SecuritySettings redactionStrategy */
                        redactionStrategy?: (google.cloud.dialogflow.cx.v3beta1.SecuritySettings.RedactionStrategy|keyof typeof google.cloud.dialogflow.cx.v3beta1.SecuritySettings.RedactionStrategy|null);

                        /** SecuritySettings redactionScope */
                        redactionScope?: (google.cloud.dialogflow.cx.v3beta1.SecuritySettings.RedactionScope|keyof typeof google.cloud.dialogflow.cx.v3beta1.SecuritySettings.RedactionScope|null);

                        /** SecuritySettings inspectTemplate */
                        inspectTemplate?: (string|null);

                        /** SecuritySettings deidentifyTemplate */
                        deidentifyTemplate?: (string|null);

                        /** SecuritySettings retentionWindowDays */
                        retentionWindowDays?: (number|null);

                        /** SecuritySettings retentionStrategy */
                        retentionStrategy?: (google.cloud.dialogflow.cx.v3beta1.SecuritySettings.RetentionStrategy|keyof typeof google.cloud.dialogflow.cx.v3beta1.SecuritySettings.RetentionStrategy|null);

                        /** SecuritySettings purgeDataTypes */
                        purgeDataTypes?: (google.cloud.dialogflow.cx.v3beta1.SecuritySettings.PurgeDataType[]|null);

                        /** SecuritySettings audioExportSettings */
                        audioExportSettings?: (google.cloud.dialogflow.cx.v3beta1.SecuritySettings.IAudioExportSettings|null);

                        /** SecuritySettings insightsExportSettings */
                        insightsExportSettings?: (google.cloud.dialogflow.cx.v3beta1.SecuritySettings.IInsightsExportSettings|null);
                    }

                    /** Represents a SecuritySettings. */
                    class SecuritySettings implements ISecuritySettings {

                        /**
                         * Constructs a new SecuritySettings.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ISecuritySettings);

                        /** SecuritySettings name. */
                        public name: string;

                        /** SecuritySettings displayName. */
                        public displayName: string;

                        /** SecuritySettings redactionStrategy. */
                        public redactionStrategy: (google.cloud.dialogflow.cx.v3beta1.SecuritySettings.RedactionStrategy|keyof typeof google.cloud.dialogflow.cx.v3beta1.SecuritySettings.RedactionStrategy);

                        /** SecuritySettings redactionScope. */
                        public redactionScope: (google.cloud.dialogflow.cx.v3beta1.SecuritySettings.RedactionScope|keyof typeof google.cloud.dialogflow.cx.v3beta1.SecuritySettings.RedactionScope);

                        /** SecuritySettings inspectTemplate. */
                        public inspectTemplate: string;

                        /** SecuritySettings deidentifyTemplate. */
                        public deidentifyTemplate: string;

                        /** SecuritySettings retentionWindowDays. */
                        public retentionWindowDays?: (number|null);

                        /** SecuritySettings retentionStrategy. */
                        public retentionStrategy?: (google.cloud.dialogflow.cx.v3beta1.SecuritySettings.RetentionStrategy|keyof typeof google.cloud.dialogflow.cx.v3beta1.SecuritySettings.RetentionStrategy|null);

                        /** SecuritySettings purgeDataTypes. */
                        public purgeDataTypes: google.cloud.dialogflow.cx.v3beta1.SecuritySettings.PurgeDataType[];

                        /** SecuritySettings audioExportSettings. */
                        public audioExportSettings?: (google.cloud.dialogflow.cx.v3beta1.SecuritySettings.IAudioExportSettings|null);

                        /** SecuritySettings insightsExportSettings. */
                        public insightsExportSettings?: (google.cloud.dialogflow.cx.v3beta1.SecuritySettings.IInsightsExportSettings|null);

                        /** SecuritySettings dataRetention. */
                        public dataRetention?: ("retentionWindowDays"|"retentionStrategy");

                        /**
                         * Creates a new SecuritySettings instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns SecuritySettings instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ISecuritySettings): google.cloud.dialogflow.cx.v3beta1.SecuritySettings;

                        /**
                         * Encodes the specified SecuritySettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SecuritySettings.verify|verify} messages.
                         * @param message SecuritySettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ISecuritySettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified SecuritySettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SecuritySettings.verify|verify} messages.
                         * @param message SecuritySettings message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ISecuritySettings, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a SecuritySettings message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns SecuritySettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.SecuritySettings;

                        /**
                         * Decodes a SecuritySettings message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns SecuritySettings
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.SecuritySettings;

                        /**
                         * Verifies a SecuritySettings message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a SecuritySettings message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns SecuritySettings
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.SecuritySettings;

                        /**
                         * Creates a plain object from a SecuritySettings message. Also converts values to other types if specified.
                         * @param message SecuritySettings
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.SecuritySettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this SecuritySettings to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for SecuritySettings
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace SecuritySettings {

                        /** RedactionStrategy enum. */
                        enum RedactionStrategy {
                            REDACTION_STRATEGY_UNSPECIFIED = 0,
                            REDACT_WITH_SERVICE = 1
                        }

                        /** RedactionScope enum. */
                        enum RedactionScope {
                            REDACTION_SCOPE_UNSPECIFIED = 0,
                            REDACT_DISK_STORAGE = 2
                        }

                        /** RetentionStrategy enum. */
                        enum RetentionStrategy {
                            RETENTION_STRATEGY_UNSPECIFIED = 0,
                            REMOVE_AFTER_CONVERSATION = 1
                        }

                        /** PurgeDataType enum. */
                        enum PurgeDataType {
                            PURGE_DATA_TYPE_UNSPECIFIED = 0,
                            DIALOGFLOW_HISTORY = 1
                        }

                        /** Properties of an AudioExportSettings. */
                        interface IAudioExportSettings {

                            /** AudioExportSettings gcsBucket */
                            gcsBucket?: (string|null);

                            /** AudioExportSettings audioExportPattern */
                            audioExportPattern?: (string|null);

                            /** AudioExportSettings enableAudioRedaction */
                            enableAudioRedaction?: (boolean|null);

                            /** AudioExportSettings audioFormat */
                            audioFormat?: (google.cloud.dialogflow.cx.v3beta1.SecuritySettings.AudioExportSettings.AudioFormat|keyof typeof google.cloud.dialogflow.cx.v3beta1.SecuritySettings.AudioExportSettings.AudioFormat|null);

                            /** AudioExportSettings storeTtsAudio */
                            storeTtsAudio?: (boolean|null);
                        }

                        /** Represents an AudioExportSettings. */
                        class AudioExportSettings implements IAudioExportSettings {

                            /**
                             * Constructs a new AudioExportSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.SecuritySettings.IAudioExportSettings);

                            /** AudioExportSettings gcsBucket. */
                            public gcsBucket: string;

                            /** AudioExportSettings audioExportPattern. */
                            public audioExportPattern: string;

                            /** AudioExportSettings enableAudioRedaction. */
                            public enableAudioRedaction: boolean;

                            /** AudioExportSettings audioFormat. */
                            public audioFormat: (google.cloud.dialogflow.cx.v3beta1.SecuritySettings.AudioExportSettings.AudioFormat|keyof typeof google.cloud.dialogflow.cx.v3beta1.SecuritySettings.AudioExportSettings.AudioFormat);

                            /** AudioExportSettings storeTtsAudio. */
                            public storeTtsAudio: boolean;

                            /**
                             * Creates a new AudioExportSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns AudioExportSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.SecuritySettings.IAudioExportSettings): google.cloud.dialogflow.cx.v3beta1.SecuritySettings.AudioExportSettings;

                            /**
                             * Encodes the specified AudioExportSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SecuritySettings.AudioExportSettings.verify|verify} messages.
                             * @param message AudioExportSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.SecuritySettings.IAudioExportSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified AudioExportSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SecuritySettings.AudioExportSettings.verify|verify} messages.
                             * @param message AudioExportSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.SecuritySettings.IAudioExportSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an AudioExportSettings message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns AudioExportSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.SecuritySettings.AudioExportSettings;

                            /**
                             * Decodes an AudioExportSettings message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns AudioExportSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.SecuritySettings.AudioExportSettings;

                            /**
                             * Verifies an AudioExportSettings message.
                             * @param message Plain 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 AudioExportSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns AudioExportSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.SecuritySettings.AudioExportSettings;

                            /**
                             * Creates a plain object from an AudioExportSettings message. Also converts values to other types if specified.
                             * @param message AudioExportSettings
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.SecuritySettings.AudioExportSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this AudioExportSettings to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for AudioExportSettings
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace AudioExportSettings {

                            /** AudioFormat enum. */
                            enum AudioFormat {
                                AUDIO_FORMAT_UNSPECIFIED = 0,
                                MULAW = 1,
                                MP3 = 2,
                                OGG = 3
                            }
                        }

                        /** Properties of an InsightsExportSettings. */
                        interface IInsightsExportSettings {

                            /** InsightsExportSettings enableInsightsExport */
                            enableInsightsExport?: (boolean|null);
                        }

                        /** Represents an InsightsExportSettings. */
                        class InsightsExportSettings implements IInsightsExportSettings {

                            /**
                             * Constructs a new InsightsExportSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.SecuritySettings.IInsightsExportSettings);

                            /** InsightsExportSettings enableInsightsExport. */
                            public enableInsightsExport: boolean;

                            /**
                             * Creates a new InsightsExportSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns InsightsExportSettings instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.SecuritySettings.IInsightsExportSettings): google.cloud.dialogflow.cx.v3beta1.SecuritySettings.InsightsExportSettings;

                            /**
                             * Encodes the specified InsightsExportSettings message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SecuritySettings.InsightsExportSettings.verify|verify} messages.
                             * @param message InsightsExportSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.SecuritySettings.IInsightsExportSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified InsightsExportSettings message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.SecuritySettings.InsightsExportSettings.verify|verify} messages.
                             * @param message InsightsExportSettings message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.SecuritySettings.IInsightsExportSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an InsightsExportSettings message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns InsightsExportSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.SecuritySettings.InsightsExportSettings;

                            /**
                             * Decodes an InsightsExportSettings message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns InsightsExportSettings
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.SecuritySettings.InsightsExportSettings;

                            /**
                             * Verifies an InsightsExportSettings message.
                             * @param message Plain 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 InsightsExportSettings message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns InsightsExportSettings
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.SecuritySettings.InsightsExportSettings;

                            /**
                             * Creates a plain object from an InsightsExportSettings message. Also converts values to other types if specified.
                             * @param message InsightsExportSettings
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.SecuritySettings.InsightsExportSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this InsightsExportSettings to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for InsightsExportSettings
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Represents a Tools */
                    class Tools extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Tools 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 Tools 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): Tools;

                        /**
                         * Calls CreateTool.
                         * @param request CreateToolRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Tool
                         */
                        public createTool(request: google.cloud.dialogflow.cx.v3beta1.ICreateToolRequest, callback: google.cloud.dialogflow.cx.v3beta1.Tools.CreateToolCallback): void;

                        /**
                         * Calls CreateTool.
                         * @param request CreateToolRequest message or plain object
                         * @returns Promise
                         */
                        public createTool(request: google.cloud.dialogflow.cx.v3beta1.ICreateToolRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Tool>;

                        /**
                         * Calls ListTools.
                         * @param request ListToolsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListToolsResponse
                         */
                        public listTools(request: google.cloud.dialogflow.cx.v3beta1.IListToolsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Tools.ListToolsCallback): void;

                        /**
                         * Calls ListTools.
                         * @param request ListToolsRequest message or plain object
                         * @returns Promise
                         */
                        public listTools(request: google.cloud.dialogflow.cx.v3beta1.IListToolsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListToolsResponse>;

                        /**
                         * Calls ExportTools.
                         * @param request ExportToolsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public exportTools(request: google.cloud.dialogflow.cx.v3beta1.IExportToolsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Tools.ExportToolsCallback): void;

                        /**
                         * Calls ExportTools.
                         * @param request ExportToolsRequest message or plain object
                         * @returns Promise
                         */
                        public exportTools(request: google.cloud.dialogflow.cx.v3beta1.IExportToolsRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls GetTool.
                         * @param request GetToolRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Tool
                         */
                        public getTool(request: google.cloud.dialogflow.cx.v3beta1.IGetToolRequest, callback: google.cloud.dialogflow.cx.v3beta1.Tools.GetToolCallback): void;

                        /**
                         * Calls GetTool.
                         * @param request GetToolRequest message or plain object
                         * @returns Promise
                         */
                        public getTool(request: google.cloud.dialogflow.cx.v3beta1.IGetToolRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Tool>;

                        /**
                         * Calls UpdateTool.
                         * @param request UpdateToolRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Tool
                         */
                        public updateTool(request: google.cloud.dialogflow.cx.v3beta1.IUpdateToolRequest, callback: google.cloud.dialogflow.cx.v3beta1.Tools.UpdateToolCallback): void;

                        /**
                         * Calls UpdateTool.
                         * @param request UpdateToolRequest message or plain object
                         * @returns Promise
                         */
                        public updateTool(request: google.cloud.dialogflow.cx.v3beta1.IUpdateToolRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Tool>;

                        /**
                         * Calls DeleteTool.
                         * @param request DeleteToolRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteTool(request: google.cloud.dialogflow.cx.v3beta1.IDeleteToolRequest, callback: google.cloud.dialogflow.cx.v3beta1.Tools.DeleteToolCallback): void;

                        /**
                         * Calls DeleteTool.
                         * @param request DeleteToolRequest message or plain object
                         * @returns Promise
                         */
                        public deleteTool(request: google.cloud.dialogflow.cx.v3beta1.IDeleteToolRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls ListToolVersions.
                         * @param request ListToolVersionsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListToolVersionsResponse
                         */
                        public listToolVersions(request: google.cloud.dialogflow.cx.v3beta1.IListToolVersionsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Tools.ListToolVersionsCallback): void;

                        /**
                         * Calls ListToolVersions.
                         * @param request ListToolVersionsRequest message or plain object
                         * @returns Promise
                         */
                        public listToolVersions(request: google.cloud.dialogflow.cx.v3beta1.IListToolVersionsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListToolVersionsResponse>;

                        /**
                         * Calls CreateToolVersion.
                         * @param request CreateToolVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ToolVersion
                         */
                        public createToolVersion(request: google.cloud.dialogflow.cx.v3beta1.ICreateToolVersionRequest, callback: google.cloud.dialogflow.cx.v3beta1.Tools.CreateToolVersionCallback): void;

                        /**
                         * Calls CreateToolVersion.
                         * @param request CreateToolVersionRequest message or plain object
                         * @returns Promise
                         */
                        public createToolVersion(request: google.cloud.dialogflow.cx.v3beta1.ICreateToolVersionRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ToolVersion>;

                        /**
                         * Calls GetToolVersion.
                         * @param request GetToolVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ToolVersion
                         */
                        public getToolVersion(request: google.cloud.dialogflow.cx.v3beta1.IGetToolVersionRequest, callback: google.cloud.dialogflow.cx.v3beta1.Tools.GetToolVersionCallback): void;

                        /**
                         * Calls GetToolVersion.
                         * @param request GetToolVersionRequest message or plain object
                         * @returns Promise
                         */
                        public getToolVersion(request: google.cloud.dialogflow.cx.v3beta1.IGetToolVersionRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ToolVersion>;

                        /**
                         * Calls DeleteToolVersion.
                         * @param request DeleteToolVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteToolVersion(request: google.cloud.dialogflow.cx.v3beta1.IDeleteToolVersionRequest, callback: google.cloud.dialogflow.cx.v3beta1.Tools.DeleteToolVersionCallback): void;

                        /**
                         * Calls DeleteToolVersion.
                         * @param request DeleteToolVersionRequest message or plain object
                         * @returns Promise
                         */
                        public deleteToolVersion(request: google.cloud.dialogflow.cx.v3beta1.IDeleteToolVersionRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls RestoreToolVersion.
                         * @param request RestoreToolVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and RestoreToolVersionResponse
                         */
                        public restoreToolVersion(request: google.cloud.dialogflow.cx.v3beta1.IRestoreToolVersionRequest, callback: google.cloud.dialogflow.cx.v3beta1.Tools.RestoreToolVersionCallback): void;

                        /**
                         * Calls RestoreToolVersion.
                         * @param request RestoreToolVersionRequest message or plain object
                         * @returns Promise
                         */
                        public restoreToolVersion(request: google.cloud.dialogflow.cx.v3beta1.IRestoreToolVersionRequest): Promise<google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionResponse>;
                    }

                    namespace Tools {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Tools|createTool}.
                         * @param error Error, if any
                         * @param [response] Tool
                         */
                        type CreateToolCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Tool) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Tools|listTools}.
                         * @param error Error, if any
                         * @param [response] ListToolsResponse
                         */
                        type ListToolsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListToolsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Tools|exportTools}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type ExportToolsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Tools|getTool}.
                         * @param error Error, if any
                         * @param [response] Tool
                         */
                        type GetToolCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Tool) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Tools|updateTool}.
                         * @param error Error, if any
                         * @param [response] Tool
                         */
                        type UpdateToolCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Tool) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Tools|deleteTool}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteToolCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Tools|listToolVersions}.
                         * @param error Error, if any
                         * @param [response] ListToolVersionsResponse
                         */
                        type ListToolVersionsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListToolVersionsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Tools|createToolVersion}.
                         * @param error Error, if any
                         * @param [response] ToolVersion
                         */
                        type CreateToolVersionCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ToolVersion) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Tools|getToolVersion}.
                         * @param error Error, if any
                         * @param [response] ToolVersion
                         */
                        type GetToolVersionCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ToolVersion) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Tools|deleteToolVersion}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteToolVersionCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Tools|restoreToolVersion}.
                         * @param error Error, if any
                         * @param [response] RestoreToolVersionResponse
                         */
                        type RestoreToolVersionCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionResponse) => void;
                    }

                    /** Properties of a CreateToolRequest. */
                    interface ICreateToolRequest {

                        /** CreateToolRequest parent */
                        parent?: (string|null);

                        /** CreateToolRequest tool */
                        tool?: (google.cloud.dialogflow.cx.v3beta1.ITool|null);
                    }

                    /** Represents a CreateToolRequest. */
                    class CreateToolRequest implements ICreateToolRequest {

                        /**
                         * Constructs a new CreateToolRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateToolRequest);

                        /** CreateToolRequest parent. */
                        public parent: string;

                        /** CreateToolRequest tool. */
                        public tool?: (google.cloud.dialogflow.cx.v3beta1.ITool|null);

                        /**
                         * Creates a new CreateToolRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateToolRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateToolRequest): google.cloud.dialogflow.cx.v3beta1.CreateToolRequest;

                        /**
                         * Encodes the specified CreateToolRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateToolRequest.verify|verify} messages.
                         * @param message CreateToolRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateToolRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateToolRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateToolRequest.verify|verify} messages.
                         * @param message CreateToolRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateToolRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateToolRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateToolRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateToolRequest;

                        /**
                         * Decodes a CreateToolRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateToolRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateToolRequest;

                        /**
                         * Verifies a CreateToolRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateToolRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateToolRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateToolRequest;

                        /**
                         * Creates a plain object from a CreateToolRequest message. Also converts values to other types if specified.
                         * @param message CreateToolRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateToolRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateToolRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateToolRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListToolsRequest. */
                    interface IListToolsRequest {

                        /** ListToolsRequest parent */
                        parent?: (string|null);

                        /** ListToolsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListToolsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListToolsRequest. */
                    class ListToolsRequest implements IListToolsRequest {

                        /**
                         * Constructs a new ListToolsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListToolsRequest);

                        /** ListToolsRequest parent. */
                        public parent: string;

                        /** ListToolsRequest pageSize. */
                        public pageSize: number;

                        /** ListToolsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListToolsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListToolsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListToolsRequest): google.cloud.dialogflow.cx.v3beta1.ListToolsRequest;

                        /**
                         * Encodes the specified ListToolsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListToolsRequest.verify|verify} messages.
                         * @param message ListToolsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListToolsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListToolsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListToolsRequest.verify|verify} messages.
                         * @param message ListToolsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListToolsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListToolsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListToolsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListToolsRequest;

                        /**
                         * Decodes a ListToolsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListToolsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListToolsRequest;

                        /**
                         * Verifies a ListToolsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListToolsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListToolsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListToolsRequest;

                        /**
                         * Creates a plain object from a ListToolsRequest message. Also converts values to other types if specified.
                         * @param message ListToolsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListToolsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListToolsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListToolsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListToolsResponse. */
                    interface IListToolsResponse {

                        /** ListToolsResponse tools */
                        tools?: (google.cloud.dialogflow.cx.v3beta1.ITool[]|null);

                        /** ListToolsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListToolsResponse. */
                    class ListToolsResponse implements IListToolsResponse {

                        /**
                         * Constructs a new ListToolsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListToolsResponse);

                        /** ListToolsResponse tools. */
                        public tools: google.cloud.dialogflow.cx.v3beta1.ITool[];

                        /** ListToolsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListToolsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListToolsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListToolsResponse): google.cloud.dialogflow.cx.v3beta1.ListToolsResponse;

                        /**
                         * Encodes the specified ListToolsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListToolsResponse.verify|verify} messages.
                         * @param message ListToolsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListToolsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListToolsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListToolsResponse.verify|verify} messages.
                         * @param message ListToolsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListToolsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListToolsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListToolsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListToolsResponse;

                        /**
                         * Decodes a ListToolsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListToolsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListToolsResponse;

                        /**
                         * Verifies a ListToolsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListToolsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListToolsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListToolsResponse;

                        /**
                         * Creates a plain object from a ListToolsResponse message. Also converts values to other types if specified.
                         * @param message ListToolsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListToolsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListToolsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListToolsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetToolRequest. */
                    interface IGetToolRequest {

                        /** GetToolRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetToolRequest. */
                    class GetToolRequest implements IGetToolRequest {

                        /**
                         * Constructs a new GetToolRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetToolRequest);

                        /** GetToolRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetToolRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetToolRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetToolRequest): google.cloud.dialogflow.cx.v3beta1.GetToolRequest;

                        /**
                         * Encodes the specified GetToolRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetToolRequest.verify|verify} messages.
                         * @param message GetToolRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetToolRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetToolRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetToolRequest.verify|verify} messages.
                         * @param message GetToolRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetToolRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetToolRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetToolRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetToolRequest;

                        /**
                         * Decodes a GetToolRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetToolRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetToolRequest;

                        /**
                         * Verifies a GetToolRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetToolRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetToolRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetToolRequest;

                        /**
                         * Creates a plain object from a GetToolRequest message. Also converts values to other types if specified.
                         * @param message GetToolRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetToolRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetToolRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetToolRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ExportToolsRequest. */
                    interface IExportToolsRequest {

                        /** ExportToolsRequest parent */
                        parent?: (string|null);

                        /** ExportToolsRequest tools */
                        tools?: (string[]|null);

                        /** ExportToolsRequest toolsUri */
                        toolsUri?: (string|null);

                        /** ExportToolsRequest toolsContentInline */
                        toolsContentInline?: (boolean|null);

                        /** ExportToolsRequest dataFormat */
                        dataFormat?: (google.cloud.dialogflow.cx.v3beta1.ExportToolsRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3beta1.ExportToolsRequest.DataFormat|null);
                    }

                    /** Represents an ExportToolsRequest. */
                    class ExportToolsRequest implements IExportToolsRequest {

                        /**
                         * Constructs a new ExportToolsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportToolsRequest);

                        /** ExportToolsRequest parent. */
                        public parent: string;

                        /** ExportToolsRequest tools. */
                        public tools: string[];

                        /** ExportToolsRequest toolsUri. */
                        public toolsUri?: (string|null);

                        /** ExportToolsRequest toolsContentInline. */
                        public toolsContentInline?: (boolean|null);

                        /** ExportToolsRequest dataFormat. */
                        public dataFormat: (google.cloud.dialogflow.cx.v3beta1.ExportToolsRequest.DataFormat|keyof typeof google.cloud.dialogflow.cx.v3beta1.ExportToolsRequest.DataFormat);

                        /** ExportToolsRequest destination. */
                        public destination?: ("toolsUri"|"toolsContentInline");

                        /**
                         * Creates a new ExportToolsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportToolsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportToolsRequest): google.cloud.dialogflow.cx.v3beta1.ExportToolsRequest;

                        /**
                         * Encodes the specified ExportToolsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportToolsRequest.verify|verify} messages.
                         * @param message ExportToolsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportToolsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportToolsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportToolsRequest.verify|verify} messages.
                         * @param message ExportToolsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportToolsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportToolsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportToolsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportToolsRequest;

                        /**
                         * Decodes an ExportToolsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportToolsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportToolsRequest;

                        /**
                         * Verifies an ExportToolsRequest message.
                         * @param message Plain 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 ExportToolsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportToolsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportToolsRequest;

                        /**
                         * Creates a plain object from an ExportToolsRequest message. Also converts values to other types if specified.
                         * @param message ExportToolsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportToolsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportToolsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportToolsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ExportToolsRequest {

                        /** DataFormat enum. */
                        enum DataFormat {
                            DATA_FORMAT_UNSPECIFIED = 0,
                            BLOB = 1,
                            JSON = 2
                        }
                    }

                    /** Properties of an ExportToolsResponse. */
                    interface IExportToolsResponse {

                        /** ExportToolsResponse toolsUri */
                        toolsUri?: (string|null);

                        /** ExportToolsResponse toolsContent */
                        toolsContent?: (google.cloud.dialogflow.cx.v3beta1.IInlineDestination|null);
                    }

                    /** Represents an ExportToolsResponse. */
                    class ExportToolsResponse implements IExportToolsResponse {

                        /**
                         * Constructs a new ExportToolsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportToolsResponse);

                        /** ExportToolsResponse toolsUri. */
                        public toolsUri?: (string|null);

                        /** ExportToolsResponse toolsContent. */
                        public toolsContent?: (google.cloud.dialogflow.cx.v3beta1.IInlineDestination|null);

                        /** ExportToolsResponse tools. */
                        public tools?: ("toolsUri"|"toolsContent");

                        /**
                         * Creates a new ExportToolsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportToolsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportToolsResponse): google.cloud.dialogflow.cx.v3beta1.ExportToolsResponse;

                        /**
                         * Encodes the specified ExportToolsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportToolsResponse.verify|verify} messages.
                         * @param message ExportToolsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportToolsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportToolsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportToolsResponse.verify|verify} messages.
                         * @param message ExportToolsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportToolsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportToolsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportToolsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportToolsResponse;

                        /**
                         * Decodes an ExportToolsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportToolsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportToolsResponse;

                        /**
                         * Verifies an ExportToolsResponse message.
                         * @param message Plain 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 ExportToolsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportToolsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportToolsResponse;

                        /**
                         * Creates a plain object from an ExportToolsResponse message. Also converts values to other types if specified.
                         * @param message ExportToolsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportToolsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportToolsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportToolsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateToolRequest. */
                    interface IUpdateToolRequest {

                        /** UpdateToolRequest tool */
                        tool?: (google.cloud.dialogflow.cx.v3beta1.ITool|null);

                        /** UpdateToolRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateToolRequest. */
                    class UpdateToolRequest implements IUpdateToolRequest {

                        /**
                         * Constructs a new UpdateToolRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateToolRequest);

                        /** UpdateToolRequest tool. */
                        public tool?: (google.cloud.dialogflow.cx.v3beta1.ITool|null);

                        /** UpdateToolRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateToolRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateToolRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateToolRequest): google.cloud.dialogflow.cx.v3beta1.UpdateToolRequest;

                        /**
                         * Encodes the specified UpdateToolRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateToolRequest.verify|verify} messages.
                         * @param message UpdateToolRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateToolRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateToolRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateToolRequest.verify|verify} messages.
                         * @param message UpdateToolRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateToolRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateToolRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateToolRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateToolRequest;

                        /**
                         * Decodes an UpdateToolRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateToolRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateToolRequest;

                        /**
                         * Verifies an UpdateToolRequest message.
                         * @param message Plain 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 UpdateToolRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateToolRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateToolRequest;

                        /**
                         * Creates a plain object from an UpdateToolRequest message. Also converts values to other types if specified.
                         * @param message UpdateToolRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateToolRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateToolRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateToolRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteToolRequest. */
                    interface IDeleteToolRequest {

                        /** DeleteToolRequest name */
                        name?: (string|null);

                        /** DeleteToolRequest force */
                        force?: (boolean|null);
                    }

                    /** Represents a DeleteToolRequest. */
                    class DeleteToolRequest implements IDeleteToolRequest {

                        /**
                         * Constructs a new DeleteToolRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteToolRequest);

                        /** DeleteToolRequest name. */
                        public name: string;

                        /** DeleteToolRequest force. */
                        public force: boolean;

                        /**
                         * Creates a new DeleteToolRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteToolRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteToolRequest): google.cloud.dialogflow.cx.v3beta1.DeleteToolRequest;

                        /**
                         * Encodes the specified DeleteToolRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteToolRequest.verify|verify} messages.
                         * @param message DeleteToolRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteToolRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteToolRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteToolRequest.verify|verify} messages.
                         * @param message DeleteToolRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteToolRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteToolRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteToolRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteToolRequest;

                        /**
                         * Decodes a DeleteToolRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteToolRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteToolRequest;

                        /**
                         * Verifies a DeleteToolRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteToolRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteToolRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteToolRequest;

                        /**
                         * Creates a plain object from a DeleteToolRequest message. Also converts values to other types if specified.
                         * @param message DeleteToolRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteToolRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteToolRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteToolRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a Tool. */
                    interface ITool {

                        /** Tool name */
                        name?: (string|null);

                        /** Tool displayName */
                        displayName?: (string|null);

                        /** Tool description */
                        description?: (string|null);

                        /** Tool openApiSpec */
                        openApiSpec?: (google.cloud.dialogflow.cx.v3beta1.Tool.IOpenApiTool|null);

                        /** Tool dataStoreSpec */
                        dataStoreSpec?: (google.cloud.dialogflow.cx.v3beta1.Tool.IDataStoreTool|null);

                        /** Tool extensionSpec */
                        extensionSpec?: (google.cloud.dialogflow.cx.v3beta1.Tool.IExtensionTool|null);

                        /** Tool functionSpec */
                        functionSpec?: (google.cloud.dialogflow.cx.v3beta1.Tool.IFunctionTool|null);

                        /** Tool connectorSpec */
                        connectorSpec?: (google.cloud.dialogflow.cx.v3beta1.Tool.IConnectorTool|null);

                        /** Tool toolType */
                        toolType?: (google.cloud.dialogflow.cx.v3beta1.Tool.ToolType|keyof typeof google.cloud.dialogflow.cx.v3beta1.Tool.ToolType|null);
                    }

                    /** Represents a Tool. */
                    class Tool implements ITool {

                        /**
                         * Constructs a new Tool.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ITool);

                        /** Tool name. */
                        public name: string;

                        /** Tool displayName. */
                        public displayName: string;

                        /** Tool description. */
                        public description: string;

                        /** Tool openApiSpec. */
                        public openApiSpec?: (google.cloud.dialogflow.cx.v3beta1.Tool.IOpenApiTool|null);

                        /** Tool dataStoreSpec. */
                        public dataStoreSpec?: (google.cloud.dialogflow.cx.v3beta1.Tool.IDataStoreTool|null);

                        /** Tool extensionSpec. */
                        public extensionSpec?: (google.cloud.dialogflow.cx.v3beta1.Tool.IExtensionTool|null);

                        /** Tool functionSpec. */
                        public functionSpec?: (google.cloud.dialogflow.cx.v3beta1.Tool.IFunctionTool|null);

                        /** Tool connectorSpec. */
                        public connectorSpec?: (google.cloud.dialogflow.cx.v3beta1.Tool.IConnectorTool|null);

                        /** Tool toolType. */
                        public toolType: (google.cloud.dialogflow.cx.v3beta1.Tool.ToolType|keyof typeof google.cloud.dialogflow.cx.v3beta1.Tool.ToolType);

                        /** Tool specification. */
                        public specification?: ("openApiSpec"|"dataStoreSpec"|"extensionSpec"|"functionSpec"|"connectorSpec");

                        /**
                         * Creates a new Tool instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Tool instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ITool): google.cloud.dialogflow.cx.v3beta1.Tool;

                        /**
                         * Encodes the specified Tool message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.verify|verify} messages.
                         * @param message Tool message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ITool, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Tool message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.verify|verify} messages.
                         * @param message Tool message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ITool, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Tool message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Tool
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool;

                        /**
                         * Decodes a Tool message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Tool
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool;

                        /**
                         * Verifies a Tool message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Tool message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Tool
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool;

                        /**
                         * Creates a plain object from a Tool message. Also converts values to other types if specified.
                         * @param message Tool
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Tool to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Tool
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Tool {

                        /** Properties of an OpenApiTool. */
                        interface IOpenApiTool {

                            /** OpenApiTool textSchema */
                            textSchema?: (string|null);

                            /** OpenApiTool authentication */
                            authentication?: (google.cloud.dialogflow.cx.v3beta1.Tool.IAuthentication|null);

                            /** OpenApiTool tlsConfig */
                            tlsConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.ITLSConfig|null);

                            /** OpenApiTool serviceDirectoryConfig */
                            serviceDirectoryConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.IServiceDirectoryConfig|null);
                        }

                        /** Represents an OpenApiTool. */
                        class OpenApiTool implements IOpenApiTool {

                            /**
                             * Constructs a new OpenApiTool.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IOpenApiTool);

                            /** OpenApiTool textSchema. */
                            public textSchema?: (string|null);

                            /** OpenApiTool authentication. */
                            public authentication?: (google.cloud.dialogflow.cx.v3beta1.Tool.IAuthentication|null);

                            /** OpenApiTool tlsConfig. */
                            public tlsConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.ITLSConfig|null);

                            /** OpenApiTool serviceDirectoryConfig. */
                            public serviceDirectoryConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.IServiceDirectoryConfig|null);

                            /** OpenApiTool schema. */
                            public schema?: "textSchema";

                            /**
                             * Creates a new OpenApiTool instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns OpenApiTool instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IOpenApiTool): google.cloud.dialogflow.cx.v3beta1.Tool.OpenApiTool;

                            /**
                             * Encodes the specified OpenApiTool message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.OpenApiTool.verify|verify} messages.
                             * @param message OpenApiTool message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.IOpenApiTool, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified OpenApiTool message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.OpenApiTool.verify|verify} messages.
                             * @param message OpenApiTool message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.IOpenApiTool, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an OpenApiTool message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns OpenApiTool
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.OpenApiTool;

                            /**
                             * Decodes an OpenApiTool message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns OpenApiTool
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.OpenApiTool;

                            /**
                             * Verifies an OpenApiTool message.
                             * @param message Plain 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 OpenApiTool message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns OpenApiTool
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.OpenApiTool;

                            /**
                             * Creates a plain object from an OpenApiTool message. Also converts values to other types if specified.
                             * @param message OpenApiTool
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.OpenApiTool, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this OpenApiTool to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for OpenApiTool
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a DataStoreTool. */
                        interface IDataStoreTool {

                            /** DataStoreTool dataStoreConnections */
                            dataStoreConnections?: (google.cloud.dialogflow.cx.v3beta1.IDataStoreConnection[]|null);

                            /** DataStoreTool fallbackPrompt */
                            fallbackPrompt?: (google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool.IFallbackPrompt|null);
                        }

                        /** Represents a DataStoreTool. */
                        class DataStoreTool implements IDataStoreTool {

                            /**
                             * Constructs a new DataStoreTool.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IDataStoreTool);

                            /** DataStoreTool dataStoreConnections. */
                            public dataStoreConnections: google.cloud.dialogflow.cx.v3beta1.IDataStoreConnection[];

                            /** DataStoreTool fallbackPrompt. */
                            public fallbackPrompt?: (google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool.IFallbackPrompt|null);

                            /**
                             * Creates a new DataStoreTool instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns DataStoreTool instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IDataStoreTool): google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool;

                            /**
                             * Encodes the specified DataStoreTool message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool.verify|verify} messages.
                             * @param message DataStoreTool message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.IDataStoreTool, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified DataStoreTool message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool.verify|verify} messages.
                             * @param message DataStoreTool message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.IDataStoreTool, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a DataStoreTool message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns DataStoreTool
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool;

                            /**
                             * Decodes a DataStoreTool message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns DataStoreTool
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool;

                            /**
                             * Verifies a DataStoreTool message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a DataStoreTool message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns DataStoreTool
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool;

                            /**
                             * Creates a plain object from a DataStoreTool message. Also converts values to other types if specified.
                             * @param message DataStoreTool
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this DataStoreTool to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for DataStoreTool
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace DataStoreTool {

                            /** Properties of a FallbackPrompt. */
                            interface IFallbackPrompt {
                            }

                            /** Represents a FallbackPrompt. */
                            class FallbackPrompt implements IFallbackPrompt {

                                /**
                                 * Constructs a new FallbackPrompt.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool.IFallbackPrompt);

                                /**
                                 * Creates a new FallbackPrompt instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns FallbackPrompt instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool.IFallbackPrompt): google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool.FallbackPrompt;

                                /**
                                 * Encodes the specified FallbackPrompt message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool.FallbackPrompt.verify|verify} messages.
                                 * @param message FallbackPrompt message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool.IFallbackPrompt, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified FallbackPrompt message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool.FallbackPrompt.verify|verify} messages.
                                 * @param message FallbackPrompt message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool.IFallbackPrompt, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a FallbackPrompt message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns FallbackPrompt
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool.FallbackPrompt;

                                /**
                                 * Decodes a FallbackPrompt message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns FallbackPrompt
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool.FallbackPrompt;

                                /**
                                 * Verifies a FallbackPrompt message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a FallbackPrompt message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns FallbackPrompt
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool.FallbackPrompt;

                                /**
                                 * Creates a plain object from a FallbackPrompt message. Also converts values to other types if specified.
                                 * @param message FallbackPrompt
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.DataStoreTool.FallbackPrompt, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this FallbackPrompt to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for FallbackPrompt
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }

                        /** Properties of an ExtensionTool. */
                        interface IExtensionTool {

                            /** ExtensionTool name */
                            name?: (string|null);
                        }

                        /** Represents an ExtensionTool. */
                        class ExtensionTool implements IExtensionTool {

                            /**
                             * Constructs a new ExtensionTool.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IExtensionTool);

                            /** ExtensionTool name. */
                            public name: string;

                            /**
                             * Creates a new ExtensionTool instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ExtensionTool instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IExtensionTool): google.cloud.dialogflow.cx.v3beta1.Tool.ExtensionTool;

                            /**
                             * Encodes the specified ExtensionTool message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.ExtensionTool.verify|verify} messages.
                             * @param message ExtensionTool message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.IExtensionTool, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ExtensionTool message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.ExtensionTool.verify|verify} messages.
                             * @param message ExtensionTool message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.IExtensionTool, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an ExtensionTool message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ExtensionTool
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.ExtensionTool;

                            /**
                             * Decodes an ExtensionTool message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ExtensionTool
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.ExtensionTool;

                            /**
                             * Verifies an ExtensionTool message.
                             * @param message Plain 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 ExtensionTool message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ExtensionTool
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.ExtensionTool;

                            /**
                             * Creates a plain object from an ExtensionTool message. Also converts values to other types if specified.
                             * @param message ExtensionTool
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.ExtensionTool, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ExtensionTool to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ExtensionTool
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a FunctionTool. */
                        interface IFunctionTool {

                            /** FunctionTool inputSchema */
                            inputSchema?: (google.protobuf.IStruct|null);

                            /** FunctionTool outputSchema */
                            outputSchema?: (google.protobuf.IStruct|null);
                        }

                        /** Represents a FunctionTool. */
                        class FunctionTool implements IFunctionTool {

                            /**
                             * Constructs a new FunctionTool.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IFunctionTool);

                            /** FunctionTool inputSchema. */
                            public inputSchema?: (google.protobuf.IStruct|null);

                            /** FunctionTool outputSchema. */
                            public outputSchema?: (google.protobuf.IStruct|null);

                            /**
                             * Creates a new FunctionTool instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns FunctionTool instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IFunctionTool): google.cloud.dialogflow.cx.v3beta1.Tool.FunctionTool;

                            /**
                             * Encodes the specified FunctionTool message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.FunctionTool.verify|verify} messages.
                             * @param message FunctionTool message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.IFunctionTool, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified FunctionTool message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.FunctionTool.verify|verify} messages.
                             * @param message FunctionTool message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.IFunctionTool, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a FunctionTool message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns FunctionTool
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.FunctionTool;

                            /**
                             * Decodes a FunctionTool message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns FunctionTool
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.FunctionTool;

                            /**
                             * Verifies a FunctionTool message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a FunctionTool message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns FunctionTool
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.FunctionTool;

                            /**
                             * Creates a plain object from a FunctionTool message. Also converts values to other types if specified.
                             * @param message FunctionTool
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.FunctionTool, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this FunctionTool to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for FunctionTool
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of a ConnectorTool. */
                        interface IConnectorTool {

                            /** ConnectorTool name */
                            name?: (string|null);

                            /** ConnectorTool actions */
                            actions?: (google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.IAction[]|null);

                            /** ConnectorTool endUserAuthConfig */
                            endUserAuthConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.IEndUserAuthConfig|null);
                        }

                        /** Represents a ConnectorTool. */
                        class ConnectorTool implements IConnectorTool {

                            /**
                             * Constructs a new ConnectorTool.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IConnectorTool);

                            /** ConnectorTool name. */
                            public name: string;

                            /** ConnectorTool actions. */
                            public actions: google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.IAction[];

                            /** ConnectorTool endUserAuthConfig. */
                            public endUserAuthConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.IEndUserAuthConfig|null);

                            /**
                             * Creates a new ConnectorTool instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ConnectorTool instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IConnectorTool): google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool;

                            /**
                             * Encodes the specified ConnectorTool message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.verify|verify} messages.
                             * @param message ConnectorTool message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.IConnectorTool, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ConnectorTool message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.verify|verify} messages.
                             * @param message ConnectorTool message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.IConnectorTool, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ConnectorTool message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ConnectorTool
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool;

                            /**
                             * Decodes a ConnectorTool message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ConnectorTool
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool;

                            /**
                             * Verifies a ConnectorTool message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ConnectorTool message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ConnectorTool
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool;

                            /**
                             * Creates a plain object from a ConnectorTool message. Also converts values to other types if specified.
                             * @param message ConnectorTool
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ConnectorTool to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ConnectorTool
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace ConnectorTool {

                            /** Properties of an Action. */
                            interface IAction {

                                /** Action connectionActionId */
                                connectionActionId?: (string|null);

                                /** Action entityOperation */
                                entityOperation?: (google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.IEntityOperation|null);

                                /** Action inputFields */
                                inputFields?: (string[]|null);

                                /** Action outputFields */
                                outputFields?: (string[]|null);
                            }

                            /** Represents an Action. */
                            class Action implements IAction {

                                /**
                                 * Constructs a new Action.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.IAction);

                                /** Action connectionActionId. */
                                public connectionActionId?: (string|null);

                                /** Action entityOperation. */
                                public entityOperation?: (google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.IEntityOperation|null);

                                /** Action inputFields. */
                                public inputFields: string[];

                                /** Action outputFields. */
                                public outputFields: string[];

                                /** Action actionSpec. */
                                public actionSpec?: ("connectionActionId"|"entityOperation");

                                /**
                                 * Creates a new Action instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns Action instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.IAction): google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action;

                                /**
                                 * Encodes the specified Action message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.verify|verify} messages.
                                 * @param message Action message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.IAction, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified Action message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.verify|verify} messages.
                                 * @param message Action message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.IAction, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes an Action message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns Action
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action;

                                /**
                                 * Decodes an Action message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns Action
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action;

                                /**
                                 * Verifies an Action message.
                                 * @param message Plain 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 Action message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns Action
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action;

                                /**
                                 * Creates a plain object from an Action message. Also converts values to other types if specified.
                                 * @param message Action
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this Action to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for Action
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            namespace Action {

                                /** Properties of an EntityOperation. */
                                interface IEntityOperation {

                                    /** EntityOperation entityId */
                                    entityId?: (string|null);

                                    /** EntityOperation operation */
                                    operation?: (google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.EntityOperation.OperationType|keyof typeof google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.EntityOperation.OperationType|null);
                                }

                                /** Represents an EntityOperation. */
                                class EntityOperation implements IEntityOperation {

                                    /**
                                     * Constructs a new EntityOperation.
                                     * @param [properties] Properties to set
                                     */
                                    constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.IEntityOperation);

                                    /** EntityOperation entityId. */
                                    public entityId: string;

                                    /** EntityOperation operation. */
                                    public operation: (google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.EntityOperation.OperationType|keyof typeof google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.EntityOperation.OperationType);

                                    /**
                                     * Creates a new EntityOperation instance using the specified properties.
                                     * @param [properties] Properties to set
                                     * @returns EntityOperation instance
                                     */
                                    public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.IEntityOperation): google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.EntityOperation;

                                    /**
                                     * Encodes the specified EntityOperation message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.EntityOperation.verify|verify} messages.
                                     * @param message EntityOperation message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.IEntityOperation, writer?: $protobuf.Writer): $protobuf.Writer;

                                    /**
                                     * Encodes the specified EntityOperation message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.EntityOperation.verify|verify} messages.
                                     * @param message EntityOperation message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.IEntityOperation, writer?: $protobuf.Writer): $protobuf.Writer;

                                    /**
                                     * Decodes an EntityOperation message from the specified reader or buffer.
                                     * @param reader Reader or buffer to decode from
                                     * @param [length] Message length if known beforehand
                                     * @returns EntityOperation
                                     * @throws {Error} If the payload is not a reader or valid buffer
                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                     */
                                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.EntityOperation;

                                    /**
                                     * Decodes an EntityOperation message from the specified reader or buffer, length delimited.
                                     * @param reader Reader or buffer to decode from
                                     * @returns EntityOperation
                                     * @throws {Error} If the payload is not a reader or valid buffer
                                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                     */
                                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.EntityOperation;

                                    /**
                                     * Verifies an EntityOperation message.
                                     * @param message Plain 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 EntityOperation message from a plain object. Also converts values to their respective internal types.
                                     * @param object Plain object
                                     * @returns EntityOperation
                                     */
                                    public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.EntityOperation;

                                    /**
                                     * Creates a plain object from an EntityOperation message. Also converts values to other types if specified.
                                     * @param message EntityOperation
                                     * @param [options] Conversion options
                                     * @returns Plain object
                                     */
                                    public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.ConnectorTool.Action.EntityOperation, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                    /**
                                     * Converts this EntityOperation to JSON.
                                     * @returns JSON object
                                     */
                                    public toJSON(): { [k: string]: any };

                                    /**
                                     * Gets the default type url for EntityOperation
                                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                     * @returns The default type url
                                     */
                                    public static getTypeUrl(typeUrlPrefix?: string): string;
                                }

                                namespace EntityOperation {

                                    /** OperationType enum. */
                                    enum OperationType {
                                        OPERATION_TYPE_UNSPECIFIED = 0,
                                        LIST = 1,
                                        GET = 2,
                                        CREATE = 3,
                                        UPDATE = 4,
                                        DELETE = 5
                                    }
                                }
                            }
                        }

                        /** Properties of an Authentication. */
                        interface IAuthentication {

                            /** Authentication apiKeyConfig */
                            apiKeyConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IApiKeyConfig|null);

                            /** Authentication oauthConfig */
                            oauthConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IOAuthConfig|null);

                            /** Authentication serviceAgentAuthConfig */
                            serviceAgentAuthConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IServiceAgentAuthConfig|null);

                            /** Authentication bearerTokenConfig */
                            bearerTokenConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IBearerTokenConfig|null);
                        }

                        /** Represents an Authentication. */
                        class Authentication implements IAuthentication {

                            /**
                             * Constructs a new Authentication.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IAuthentication);

                            /** Authentication apiKeyConfig. */
                            public apiKeyConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IApiKeyConfig|null);

                            /** Authentication oauthConfig. */
                            public oauthConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IOAuthConfig|null);

                            /** Authentication serviceAgentAuthConfig. */
                            public serviceAgentAuthConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IServiceAgentAuthConfig|null);

                            /** Authentication bearerTokenConfig. */
                            public bearerTokenConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IBearerTokenConfig|null);

                            /** Authentication authConfig. */
                            public authConfig?: ("apiKeyConfig"|"oauthConfig"|"serviceAgentAuthConfig"|"bearerTokenConfig");

                            /**
                             * Creates a new Authentication instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Authentication instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IAuthentication): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication;

                            /**
                             * Encodes the specified Authentication message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.verify|verify} messages.
                             * @param message Authentication message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.IAuthentication, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Authentication message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.verify|verify} messages.
                             * @param message Authentication message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.IAuthentication, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an Authentication message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Authentication
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication;

                            /**
                             * Decodes an Authentication message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Authentication
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication;

                            /**
                             * Verifies an Authentication message.
                             * @param message Plain 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 Authentication message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Authentication
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication;

                            /**
                             * Creates a plain object from an Authentication message. Also converts values to other types if specified.
                             * @param message Authentication
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Authentication to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Authentication
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace Authentication {

                            /** Properties of an ApiKeyConfig. */
                            interface IApiKeyConfig {

                                /** ApiKeyConfig keyName */
                                keyName?: (string|null);

                                /** ApiKeyConfig apiKey */
                                apiKey?: (string|null);

                                /** ApiKeyConfig requestLocation */
                                requestLocation?: (google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.RequestLocation|keyof typeof google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.RequestLocation|null);
                            }

                            /** Represents an ApiKeyConfig. */
                            class ApiKeyConfig implements IApiKeyConfig {

                                /**
                                 * Constructs a new ApiKeyConfig.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IApiKeyConfig);

                                /** ApiKeyConfig keyName. */
                                public keyName: string;

                                /** ApiKeyConfig apiKey. */
                                public apiKey: string;

                                /** ApiKeyConfig requestLocation. */
                                public requestLocation: (google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.RequestLocation|keyof typeof google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.RequestLocation);

                                /**
                                 * Creates a new ApiKeyConfig instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns ApiKeyConfig instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IApiKeyConfig): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ApiKeyConfig;

                                /**
                                 * Encodes the specified ApiKeyConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ApiKeyConfig.verify|verify} messages.
                                 * @param message ApiKeyConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IApiKeyConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified ApiKeyConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ApiKeyConfig.verify|verify} messages.
                                 * @param message ApiKeyConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IApiKeyConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes an ApiKeyConfig message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns ApiKeyConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ApiKeyConfig;

                                /**
                                 * Decodes an ApiKeyConfig message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns ApiKeyConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ApiKeyConfig;

                                /**
                                 * Verifies an ApiKeyConfig message.
                                 * @param message Plain 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 ApiKeyConfig message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns ApiKeyConfig
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ApiKeyConfig;

                                /**
                                 * Creates a plain object from an ApiKeyConfig message. Also converts values to other types if specified.
                                 * @param message ApiKeyConfig
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ApiKeyConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this ApiKeyConfig to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for ApiKeyConfig
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            /** RequestLocation enum. */
                            enum RequestLocation {
                                REQUEST_LOCATION_UNSPECIFIED = 0,
                                HEADER = 1,
                                QUERY_STRING = 2
                            }

                            /** Properties of a OAuthConfig. */
                            interface IOAuthConfig {

                                /** OAuthConfig oauthGrantType */
                                oauthGrantType?: (google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.OAuthConfig.OauthGrantType|keyof typeof google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.OAuthConfig.OauthGrantType|null);

                                /** OAuthConfig clientId */
                                clientId?: (string|null);

                                /** OAuthConfig clientSecret */
                                clientSecret?: (string|null);

                                /** OAuthConfig tokenEndpoint */
                                tokenEndpoint?: (string|null);

                                /** OAuthConfig scopes */
                                scopes?: (string[]|null);
                            }

                            /** Represents a OAuthConfig. */
                            class OAuthConfig implements IOAuthConfig {

                                /**
                                 * Constructs a new OAuthConfig.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IOAuthConfig);

                                /** OAuthConfig oauthGrantType. */
                                public oauthGrantType: (google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.OAuthConfig.OauthGrantType|keyof typeof google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.OAuthConfig.OauthGrantType);

                                /** OAuthConfig clientId. */
                                public clientId: string;

                                /** OAuthConfig clientSecret. */
                                public clientSecret: string;

                                /** OAuthConfig tokenEndpoint. */
                                public tokenEndpoint: string;

                                /** OAuthConfig scopes. */
                                public scopes: string[];

                                /**
                                 * Creates a new OAuthConfig instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns OAuthConfig instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IOAuthConfig): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.OAuthConfig;

                                /**
                                 * Encodes the specified OAuthConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.OAuthConfig.verify|verify} messages.
                                 * @param message OAuthConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IOAuthConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified OAuthConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.OAuthConfig.verify|verify} messages.
                                 * @param message OAuthConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IOAuthConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a OAuthConfig message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns OAuthConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.OAuthConfig;

                                /**
                                 * Decodes a OAuthConfig message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns OAuthConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.OAuthConfig;

                                /**
                                 * Verifies a OAuthConfig message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a OAuthConfig message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns OAuthConfig
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.OAuthConfig;

                                /**
                                 * Creates a plain object from a OAuthConfig message. Also converts values to other types if specified.
                                 * @param message OAuthConfig
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.OAuthConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this OAuthConfig to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for OAuthConfig
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            namespace OAuthConfig {

                                /** OauthGrantType enum. */
                                enum OauthGrantType {
                                    OAUTH_GRANT_TYPE_UNSPECIFIED = 0,
                                    CLIENT_CREDENTIAL = 1
                                }
                            }

                            /** Properties of a ServiceAgentAuthConfig. */
                            interface IServiceAgentAuthConfig {

                                /** ServiceAgentAuthConfig serviceAgentAuth */
                                serviceAgentAuth?: (google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ServiceAgentAuthConfig.ServiceAgentAuth|keyof typeof google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ServiceAgentAuthConfig.ServiceAgentAuth|null);
                            }

                            /** Represents a ServiceAgentAuthConfig. */
                            class ServiceAgentAuthConfig implements IServiceAgentAuthConfig {

                                /**
                                 * Constructs a new ServiceAgentAuthConfig.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IServiceAgentAuthConfig);

                                /** ServiceAgentAuthConfig serviceAgentAuth. */
                                public serviceAgentAuth: (google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ServiceAgentAuthConfig.ServiceAgentAuth|keyof typeof google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ServiceAgentAuthConfig.ServiceAgentAuth);

                                /**
                                 * Creates a new ServiceAgentAuthConfig instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns ServiceAgentAuthConfig instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IServiceAgentAuthConfig): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ServiceAgentAuthConfig;

                                /**
                                 * Encodes the specified ServiceAgentAuthConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ServiceAgentAuthConfig.verify|verify} messages.
                                 * @param message ServiceAgentAuthConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IServiceAgentAuthConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified ServiceAgentAuthConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ServiceAgentAuthConfig.verify|verify} messages.
                                 * @param message ServiceAgentAuthConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IServiceAgentAuthConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a ServiceAgentAuthConfig message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns ServiceAgentAuthConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ServiceAgentAuthConfig;

                                /**
                                 * Decodes a ServiceAgentAuthConfig message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns ServiceAgentAuthConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ServiceAgentAuthConfig;

                                /**
                                 * Verifies a ServiceAgentAuthConfig message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a ServiceAgentAuthConfig message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns ServiceAgentAuthConfig
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ServiceAgentAuthConfig;

                                /**
                                 * Creates a plain object from a ServiceAgentAuthConfig message. Also converts values to other types if specified.
                                 * @param message ServiceAgentAuthConfig
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.ServiceAgentAuthConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this ServiceAgentAuthConfig to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for ServiceAgentAuthConfig
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            namespace ServiceAgentAuthConfig {

                                /** ServiceAgentAuth enum. */
                                enum ServiceAgentAuth {
                                    SERVICE_AGENT_AUTH_UNSPECIFIED = 0,
                                    ID_TOKEN = 1,
                                    ACCESS_TOKEN = 2
                                }
                            }

                            /** Properties of a BearerTokenConfig. */
                            interface IBearerTokenConfig {

                                /** BearerTokenConfig token */
                                token?: (string|null);
                            }

                            /** Represents a BearerTokenConfig. */
                            class BearerTokenConfig implements IBearerTokenConfig {

                                /**
                                 * Constructs a new BearerTokenConfig.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IBearerTokenConfig);

                                /** BearerTokenConfig token. */
                                public token: string;

                                /**
                                 * Creates a new BearerTokenConfig instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns BearerTokenConfig instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IBearerTokenConfig): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.BearerTokenConfig;

                                /**
                                 * Encodes the specified BearerTokenConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.BearerTokenConfig.verify|verify} messages.
                                 * @param message BearerTokenConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IBearerTokenConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified BearerTokenConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.BearerTokenConfig.verify|verify} messages.
                                 * @param message BearerTokenConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.IBearerTokenConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a BearerTokenConfig message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns BearerTokenConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.BearerTokenConfig;

                                /**
                                 * Decodes a BearerTokenConfig message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns BearerTokenConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.BearerTokenConfig;

                                /**
                                 * Verifies a BearerTokenConfig message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a BearerTokenConfig message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns BearerTokenConfig
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.BearerTokenConfig;

                                /**
                                 * Creates a plain object from a BearerTokenConfig message. Also converts values to other types if specified.
                                 * @param message BearerTokenConfig
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.Authentication.BearerTokenConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this BearerTokenConfig to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for BearerTokenConfig
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }

                        /** Properties of a TLSConfig. */
                        interface ITLSConfig {

                            /** TLSConfig caCerts */
                            caCerts?: (google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig.ICACert[]|null);
                        }

                        /** Represents a TLSConfig. */
                        class TLSConfig implements ITLSConfig {

                            /**
                             * Constructs a new TLSConfig.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.ITLSConfig);

                            /** TLSConfig caCerts. */
                            public caCerts: google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig.ICACert[];

                            /**
                             * Creates a new TLSConfig instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns TLSConfig instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.ITLSConfig): google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig;

                            /**
                             * Encodes the specified TLSConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig.verify|verify} messages.
                             * @param message TLSConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.ITLSConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified TLSConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig.verify|verify} messages.
                             * @param message TLSConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.ITLSConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a TLSConfig message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns TLSConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig;

                            /**
                             * Decodes a TLSConfig message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns TLSConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig;

                            /**
                             * Verifies a TLSConfig message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a TLSConfig message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns TLSConfig
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig;

                            /**
                             * Creates a plain object from a TLSConfig message. Also converts values to other types if specified.
                             * @param message TLSConfig
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this TLSConfig to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for TLSConfig
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace TLSConfig {

                            /** Properties of a CACert. */
                            interface ICACert {

                                /** CACert displayName */
                                displayName?: (string|null);

                                /** CACert cert */
                                cert?: (Uint8Array|Buffer|string|null);
                            }

                            /** Represents a CACert. */
                            class CACert implements ICACert {

                                /**
                                 * Constructs a new CACert.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig.ICACert);

                                /** CACert displayName. */
                                public displayName: string;

                                /** CACert cert. */
                                public cert: (Uint8Array|Buffer|string);

                                /**
                                 * Creates a new CACert instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns CACert instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig.ICACert): google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig.CACert;

                                /**
                                 * Encodes the specified CACert message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig.CACert.verify|verify} messages.
                                 * @param message CACert message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig.ICACert, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified CACert message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig.CACert.verify|verify} messages.
                                 * @param message CACert message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig.ICACert, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes a CACert message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns CACert
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig.CACert;

                                /**
                                 * Decodes a CACert message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns CACert
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig.CACert;

                                /**
                                 * Verifies a CACert message.
                                 * @param message Plain object to verify
                                 * @returns `null` if valid, otherwise the reason why it is not
                                 */
                                public static verify(message: { [k: string]: any }): (string|null);

                                /**
                                 * Creates a CACert message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns CACert
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig.CACert;

                                /**
                                 * Creates a plain object from a CACert message. Also converts values to other types if specified.
                                 * @param message CACert
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.TLSConfig.CACert, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this CACert to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for CACert
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }

                        /** Properties of a ServiceDirectoryConfig. */
                        interface IServiceDirectoryConfig {

                            /** ServiceDirectoryConfig service */
                            service?: (string|null);
                        }

                        /** Represents a ServiceDirectoryConfig. */
                        class ServiceDirectoryConfig implements IServiceDirectoryConfig {

                            /**
                             * Constructs a new ServiceDirectoryConfig.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IServiceDirectoryConfig);

                            /** ServiceDirectoryConfig service. */
                            public service: string;

                            /**
                             * Creates a new ServiceDirectoryConfig instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ServiceDirectoryConfig instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IServiceDirectoryConfig): google.cloud.dialogflow.cx.v3beta1.Tool.ServiceDirectoryConfig;

                            /**
                             * Encodes the specified ServiceDirectoryConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.ServiceDirectoryConfig.verify|verify} messages.
                             * @param message ServiceDirectoryConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.IServiceDirectoryConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ServiceDirectoryConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.ServiceDirectoryConfig.verify|verify} messages.
                             * @param message ServiceDirectoryConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.IServiceDirectoryConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ServiceDirectoryConfig message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ServiceDirectoryConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.ServiceDirectoryConfig;

                            /**
                             * Decodes a ServiceDirectoryConfig message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ServiceDirectoryConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.ServiceDirectoryConfig;

                            /**
                             * Verifies a ServiceDirectoryConfig message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ServiceDirectoryConfig message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ServiceDirectoryConfig
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.ServiceDirectoryConfig;

                            /**
                             * Creates a plain object from a ServiceDirectoryConfig message. Also converts values to other types if specified.
                             * @param message ServiceDirectoryConfig
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.ServiceDirectoryConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ServiceDirectoryConfig to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ServiceDirectoryConfig
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        /** Properties of an EndUserAuthConfig. */
                        interface IEndUserAuthConfig {

                            /** EndUserAuthConfig oauth2AuthCodeConfig */
                            oauth2AuthCodeConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.IOauth2AuthCodeConfig|null);

                            /** EndUserAuthConfig oauth2JwtBearerConfig */
                            oauth2JwtBearerConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.IOauth2JwtBearerConfig|null);
                        }

                        /** Represents an EndUserAuthConfig. */
                        class EndUserAuthConfig implements IEndUserAuthConfig {

                            /**
                             * Constructs a new EndUserAuthConfig.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IEndUserAuthConfig);

                            /** EndUserAuthConfig oauth2AuthCodeConfig. */
                            public oauth2AuthCodeConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.IOauth2AuthCodeConfig|null);

                            /** EndUserAuthConfig oauth2JwtBearerConfig. */
                            public oauth2JwtBearerConfig?: (google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.IOauth2JwtBearerConfig|null);

                            /** EndUserAuthConfig endUserAuthConfig. */
                            public endUserAuthConfig?: ("oauth2AuthCodeConfig"|"oauth2JwtBearerConfig");

                            /**
                             * Creates a new EndUserAuthConfig instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns EndUserAuthConfig instance
                             */
                            public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.IEndUserAuthConfig): google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig;

                            /**
                             * Encodes the specified EndUserAuthConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.verify|verify} messages.
                             * @param message EndUserAuthConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.IEndUserAuthConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified EndUserAuthConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.verify|verify} messages.
                             * @param message EndUserAuthConfig message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.IEndUserAuthConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes an EndUserAuthConfig message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns EndUserAuthConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig;

                            /**
                             * Decodes an EndUserAuthConfig message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns EndUserAuthConfig
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig;

                            /**
                             * Verifies an EndUserAuthConfig message.
                             * @param message Plain 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 EndUserAuthConfig message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns EndUserAuthConfig
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig;

                            /**
                             * Creates a plain object from an EndUserAuthConfig message. Also converts values to other types if specified.
                             * @param message EndUserAuthConfig
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this EndUserAuthConfig to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for EndUserAuthConfig
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }

                        namespace EndUserAuthConfig {

                            /** Properties of an Oauth2AuthCodeConfig. */
                            interface IOauth2AuthCodeConfig {

                                /** Oauth2AuthCodeConfig oauthToken */
                                oauthToken?: (string|null);
                            }

                            /** Represents an Oauth2AuthCodeConfig. */
                            class Oauth2AuthCodeConfig implements IOauth2AuthCodeConfig {

                                /**
                                 * Constructs a new Oauth2AuthCodeConfig.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.IOauth2AuthCodeConfig);

                                /** Oauth2AuthCodeConfig oauthToken. */
                                public oauthToken: string;

                                /**
                                 * Creates a new Oauth2AuthCodeConfig instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns Oauth2AuthCodeConfig instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.IOauth2AuthCodeConfig): google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.Oauth2AuthCodeConfig;

                                /**
                                 * Encodes the specified Oauth2AuthCodeConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.Oauth2AuthCodeConfig.verify|verify} messages.
                                 * @param message Oauth2AuthCodeConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.IOauth2AuthCodeConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified Oauth2AuthCodeConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.Oauth2AuthCodeConfig.verify|verify} messages.
                                 * @param message Oauth2AuthCodeConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.IOauth2AuthCodeConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes an Oauth2AuthCodeConfig message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns Oauth2AuthCodeConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.Oauth2AuthCodeConfig;

                                /**
                                 * Decodes an Oauth2AuthCodeConfig message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns Oauth2AuthCodeConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.Oauth2AuthCodeConfig;

                                /**
                                 * Verifies an Oauth2AuthCodeConfig message.
                                 * @param message Plain 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 Oauth2AuthCodeConfig message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns Oauth2AuthCodeConfig
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.Oauth2AuthCodeConfig;

                                /**
                                 * Creates a plain object from an Oauth2AuthCodeConfig message. Also converts values to other types if specified.
                                 * @param message Oauth2AuthCodeConfig
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.Oauth2AuthCodeConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this Oauth2AuthCodeConfig to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for Oauth2AuthCodeConfig
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }

                            /** Properties of an Oauth2JwtBearerConfig. */
                            interface IOauth2JwtBearerConfig {

                                /** Oauth2JwtBearerConfig issuer */
                                issuer?: (string|null);

                                /** Oauth2JwtBearerConfig subject */
                                subject?: (string|null);

                                /** Oauth2JwtBearerConfig clientKey */
                                clientKey?: (string|null);
                            }

                            /** Represents an Oauth2JwtBearerConfig. */
                            class Oauth2JwtBearerConfig implements IOauth2JwtBearerConfig {

                                /**
                                 * Constructs a new Oauth2JwtBearerConfig.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.IOauth2JwtBearerConfig);

                                /** Oauth2JwtBearerConfig issuer. */
                                public issuer: string;

                                /** Oauth2JwtBearerConfig subject. */
                                public subject: string;

                                /** Oauth2JwtBearerConfig clientKey. */
                                public clientKey: string;

                                /**
                                 * Creates a new Oauth2JwtBearerConfig instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns Oauth2JwtBearerConfig instance
                                 */
                                public static create(properties?: google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.IOauth2JwtBearerConfig): google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.Oauth2JwtBearerConfig;

                                /**
                                 * Encodes the specified Oauth2JwtBearerConfig message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.Oauth2JwtBearerConfig.verify|verify} messages.
                                 * @param message Oauth2JwtBearerConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.IOauth2JwtBearerConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified Oauth2JwtBearerConfig message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.Oauth2JwtBearerConfig.verify|verify} messages.
                                 * @param message Oauth2JwtBearerConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.IOauth2JwtBearerConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Decodes an Oauth2JwtBearerConfig message from the specified reader or buffer.
                                 * @param reader Reader or buffer to decode from
                                 * @param [length] Message length if known beforehand
                                 * @returns Oauth2JwtBearerConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.Oauth2JwtBearerConfig;

                                /**
                                 * Decodes an Oauth2JwtBearerConfig message from the specified reader or buffer, length delimited.
                                 * @param reader Reader or buffer to decode from
                                 * @returns Oauth2JwtBearerConfig
                                 * @throws {Error} If the payload is not a reader or valid buffer
                                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                 */
                                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.Oauth2JwtBearerConfig;

                                /**
                                 * Verifies an Oauth2JwtBearerConfig message.
                                 * @param message Plain 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 Oauth2JwtBearerConfig message from a plain object. Also converts values to their respective internal types.
                                 * @param object Plain object
                                 * @returns Oauth2JwtBearerConfig
                                 */
                                public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.Oauth2JwtBearerConfig;

                                /**
                                 * Creates a plain object from an Oauth2JwtBearerConfig message. Also converts values to other types if specified.
                                 * @param message Oauth2JwtBearerConfig
                                 * @param [options] Conversion options
                                 * @returns Plain object
                                 */
                                public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Tool.EndUserAuthConfig.Oauth2JwtBearerConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                                /**
                                 * Converts this Oauth2JwtBearerConfig to JSON.
                                 * @returns JSON object
                                 */
                                public toJSON(): { [k: string]: any };

                                /**
                                 * Gets the default type url for Oauth2JwtBearerConfig
                                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                                 * @returns The default type url
                                 */
                                public static getTypeUrl(typeUrlPrefix?: string): string;
                            }
                        }

                        /** ToolType enum. */
                        enum ToolType {
                            TOOL_TYPE_UNSPECIFIED = 0,
                            CUSTOMIZED_TOOL = 1,
                            BUILTIN_TOOL = 2
                        }
                    }

                    /** Properties of a ListToolVersionsRequest. */
                    interface IListToolVersionsRequest {

                        /** ListToolVersionsRequest parent */
                        parent?: (string|null);

                        /** ListToolVersionsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListToolVersionsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListToolVersionsRequest. */
                    class ListToolVersionsRequest implements IListToolVersionsRequest {

                        /**
                         * Constructs a new ListToolVersionsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListToolVersionsRequest);

                        /** ListToolVersionsRequest parent. */
                        public parent: string;

                        /** ListToolVersionsRequest pageSize. */
                        public pageSize: number;

                        /** ListToolVersionsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListToolVersionsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListToolVersionsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListToolVersionsRequest): google.cloud.dialogflow.cx.v3beta1.ListToolVersionsRequest;

                        /**
                         * Encodes the specified ListToolVersionsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListToolVersionsRequest.verify|verify} messages.
                         * @param message ListToolVersionsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListToolVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListToolVersionsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListToolVersionsRequest.verify|verify} messages.
                         * @param message ListToolVersionsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListToolVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListToolVersionsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListToolVersionsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListToolVersionsRequest;

                        /**
                         * Decodes a ListToolVersionsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListToolVersionsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListToolVersionsRequest;

                        /**
                         * Verifies a ListToolVersionsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListToolVersionsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListToolVersionsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListToolVersionsRequest;

                        /**
                         * Creates a plain object from a ListToolVersionsRequest message. Also converts values to other types if specified.
                         * @param message ListToolVersionsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListToolVersionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListToolVersionsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListToolVersionsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListToolVersionsResponse. */
                    interface IListToolVersionsResponse {

                        /** ListToolVersionsResponse toolVersions */
                        toolVersions?: (google.cloud.dialogflow.cx.v3beta1.IToolVersion[]|null);

                        /** ListToolVersionsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListToolVersionsResponse. */
                    class ListToolVersionsResponse implements IListToolVersionsResponse {

                        /**
                         * Constructs a new ListToolVersionsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListToolVersionsResponse);

                        /** ListToolVersionsResponse toolVersions. */
                        public toolVersions: google.cloud.dialogflow.cx.v3beta1.IToolVersion[];

                        /** ListToolVersionsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListToolVersionsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListToolVersionsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListToolVersionsResponse): google.cloud.dialogflow.cx.v3beta1.ListToolVersionsResponse;

                        /**
                         * Encodes the specified ListToolVersionsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListToolVersionsResponse.verify|verify} messages.
                         * @param message ListToolVersionsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListToolVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListToolVersionsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListToolVersionsResponse.verify|verify} messages.
                         * @param message ListToolVersionsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListToolVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListToolVersionsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListToolVersionsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListToolVersionsResponse;

                        /**
                         * Decodes a ListToolVersionsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListToolVersionsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListToolVersionsResponse;

                        /**
                         * Verifies a ListToolVersionsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListToolVersionsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListToolVersionsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListToolVersionsResponse;

                        /**
                         * Creates a plain object from a ListToolVersionsResponse message. Also converts values to other types if specified.
                         * @param message ListToolVersionsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListToolVersionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListToolVersionsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListToolVersionsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateToolVersionRequest. */
                    interface ICreateToolVersionRequest {

                        /** CreateToolVersionRequest parent */
                        parent?: (string|null);

                        /** CreateToolVersionRequest toolVersion */
                        toolVersion?: (google.cloud.dialogflow.cx.v3beta1.IToolVersion|null);
                    }

                    /** Represents a CreateToolVersionRequest. */
                    class CreateToolVersionRequest implements ICreateToolVersionRequest {

                        /**
                         * Constructs a new CreateToolVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateToolVersionRequest);

                        /** CreateToolVersionRequest parent. */
                        public parent: string;

                        /** CreateToolVersionRequest toolVersion. */
                        public toolVersion?: (google.cloud.dialogflow.cx.v3beta1.IToolVersion|null);

                        /**
                         * Creates a new CreateToolVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateToolVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateToolVersionRequest): google.cloud.dialogflow.cx.v3beta1.CreateToolVersionRequest;

                        /**
                         * Encodes the specified CreateToolVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateToolVersionRequest.verify|verify} messages.
                         * @param message CreateToolVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateToolVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateToolVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateToolVersionRequest.verify|verify} messages.
                         * @param message CreateToolVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateToolVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateToolVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateToolVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateToolVersionRequest;

                        /**
                         * Decodes a CreateToolVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateToolVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateToolVersionRequest;

                        /**
                         * Verifies a CreateToolVersionRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateToolVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateToolVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateToolVersionRequest;

                        /**
                         * Creates a plain object from a CreateToolVersionRequest message. Also converts values to other types if specified.
                         * @param message CreateToolVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateToolVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateToolVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateToolVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetToolVersionRequest. */
                    interface IGetToolVersionRequest {

                        /** GetToolVersionRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetToolVersionRequest. */
                    class GetToolVersionRequest implements IGetToolVersionRequest {

                        /**
                         * Constructs a new GetToolVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetToolVersionRequest);

                        /** GetToolVersionRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetToolVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetToolVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetToolVersionRequest): google.cloud.dialogflow.cx.v3beta1.GetToolVersionRequest;

                        /**
                         * Encodes the specified GetToolVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetToolVersionRequest.verify|verify} messages.
                         * @param message GetToolVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetToolVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetToolVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetToolVersionRequest.verify|verify} messages.
                         * @param message GetToolVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetToolVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetToolVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetToolVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetToolVersionRequest;

                        /**
                         * Decodes a GetToolVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetToolVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetToolVersionRequest;

                        /**
                         * Verifies a GetToolVersionRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetToolVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetToolVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetToolVersionRequest;

                        /**
                         * Creates a plain object from a GetToolVersionRequest message. Also converts values to other types if specified.
                         * @param message GetToolVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetToolVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetToolVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetToolVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteToolVersionRequest. */
                    interface IDeleteToolVersionRequest {

                        /** DeleteToolVersionRequest name */
                        name?: (string|null);

                        /** DeleteToolVersionRequest force */
                        force?: (boolean|null);
                    }

                    /** Represents a DeleteToolVersionRequest. */
                    class DeleteToolVersionRequest implements IDeleteToolVersionRequest {

                        /**
                         * Constructs a new DeleteToolVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteToolVersionRequest);

                        /** DeleteToolVersionRequest name. */
                        public name: string;

                        /** DeleteToolVersionRequest force. */
                        public force: boolean;

                        /**
                         * Creates a new DeleteToolVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteToolVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteToolVersionRequest): google.cloud.dialogflow.cx.v3beta1.DeleteToolVersionRequest;

                        /**
                         * Encodes the specified DeleteToolVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteToolVersionRequest.verify|verify} messages.
                         * @param message DeleteToolVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteToolVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteToolVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteToolVersionRequest.verify|verify} messages.
                         * @param message DeleteToolVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteToolVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteToolVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteToolVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteToolVersionRequest;

                        /**
                         * Decodes a DeleteToolVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteToolVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteToolVersionRequest;

                        /**
                         * Verifies a DeleteToolVersionRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteToolVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteToolVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteToolVersionRequest;

                        /**
                         * Creates a plain object from a DeleteToolVersionRequest message. Also converts values to other types if specified.
                         * @param message DeleteToolVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteToolVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteToolVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteToolVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a RestoreToolVersionRequest. */
                    interface IRestoreToolVersionRequest {

                        /** RestoreToolVersionRequest name */
                        name?: (string|null);
                    }

                    /** Represents a RestoreToolVersionRequest. */
                    class RestoreToolVersionRequest implements IRestoreToolVersionRequest {

                        /**
                         * Constructs a new RestoreToolVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IRestoreToolVersionRequest);

                        /** RestoreToolVersionRequest name. */
                        public name: string;

                        /**
                         * Creates a new RestoreToolVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RestoreToolVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IRestoreToolVersionRequest): google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionRequest;

                        /**
                         * Encodes the specified RestoreToolVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionRequest.verify|verify} messages.
                         * @param message RestoreToolVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IRestoreToolVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RestoreToolVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionRequest.verify|verify} messages.
                         * @param message RestoreToolVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IRestoreToolVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RestoreToolVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RestoreToolVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionRequest;

                        /**
                         * Decodes a RestoreToolVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RestoreToolVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionRequest;

                        /**
                         * Verifies a RestoreToolVersionRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RestoreToolVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RestoreToolVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionRequest;

                        /**
                         * Creates a plain object from a RestoreToolVersionRequest message. Also converts values to other types if specified.
                         * @param message RestoreToolVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RestoreToolVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RestoreToolVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a RestoreToolVersionResponse. */
                    interface IRestoreToolVersionResponse {

                        /** RestoreToolVersionResponse tool */
                        tool?: (google.cloud.dialogflow.cx.v3beta1.ITool|null);
                    }

                    /** Represents a RestoreToolVersionResponse. */
                    class RestoreToolVersionResponse implements IRestoreToolVersionResponse {

                        /**
                         * Constructs a new RestoreToolVersionResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IRestoreToolVersionResponse);

                        /** RestoreToolVersionResponse tool. */
                        public tool?: (google.cloud.dialogflow.cx.v3beta1.ITool|null);

                        /**
                         * Creates a new RestoreToolVersionResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns RestoreToolVersionResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IRestoreToolVersionResponse): google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionResponse;

                        /**
                         * Encodes the specified RestoreToolVersionResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionResponse.verify|verify} messages.
                         * @param message RestoreToolVersionResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IRestoreToolVersionResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified RestoreToolVersionResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionResponse.verify|verify} messages.
                         * @param message RestoreToolVersionResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IRestoreToolVersionResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a RestoreToolVersionResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns RestoreToolVersionResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionResponse;

                        /**
                         * Decodes a RestoreToolVersionResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns RestoreToolVersionResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionResponse;

                        /**
                         * Verifies a RestoreToolVersionResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a RestoreToolVersionResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns RestoreToolVersionResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionResponse;

                        /**
                         * Creates a plain object from a RestoreToolVersionResponse message. Also converts values to other types if specified.
                         * @param message RestoreToolVersionResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.RestoreToolVersionResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this RestoreToolVersionResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for RestoreToolVersionResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ToolVersion. */
                    interface IToolVersion {

                        /** ToolVersion name */
                        name?: (string|null);

                        /** ToolVersion displayName */
                        displayName?: (string|null);

                        /** ToolVersion tool */
                        tool?: (google.cloud.dialogflow.cx.v3beta1.ITool|null);

                        /** ToolVersion createTime */
                        createTime?: (google.protobuf.ITimestamp|null);

                        /** ToolVersion updateTime */
                        updateTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a ToolVersion. */
                    class ToolVersion implements IToolVersion {

                        /**
                         * Constructs a new ToolVersion.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IToolVersion);

                        /** ToolVersion name. */
                        public name: string;

                        /** ToolVersion displayName. */
                        public displayName: string;

                        /** ToolVersion tool. */
                        public tool?: (google.cloud.dialogflow.cx.v3beta1.ITool|null);

                        /** ToolVersion createTime. */
                        public createTime?: (google.protobuf.ITimestamp|null);

                        /** ToolVersion updateTime. */
                        public updateTime?: (google.protobuf.ITimestamp|null);

                        /**
                         * Creates a new ToolVersion instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ToolVersion instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IToolVersion): google.cloud.dialogflow.cx.v3beta1.ToolVersion;

                        /**
                         * Encodes the specified ToolVersion message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ToolVersion.verify|verify} messages.
                         * @param message ToolVersion message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IToolVersion, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ToolVersion message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ToolVersion.verify|verify} messages.
                         * @param message ToolVersion message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IToolVersion, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ToolVersion message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ToolVersion
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ToolVersion;

                        /**
                         * Decodes a ToolVersion message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ToolVersion
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ToolVersion;

                        /**
                         * Verifies a ToolVersion message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ToolVersion message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ToolVersion
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ToolVersion;

                        /**
                         * Creates a plain object from a ToolVersion message. Also converts values to other types if specified.
                         * @param message ToolVersion
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ToolVersion, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ToolVersion to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ToolVersion
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an ExportToolsMetadata. */
                    interface IExportToolsMetadata {
                    }

                    /** Represents an ExportToolsMetadata. */
                    class ExportToolsMetadata implements IExportToolsMetadata {

                        /**
                         * Constructs a new ExportToolsMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IExportToolsMetadata);

                        /**
                         * Creates a new ExportToolsMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ExportToolsMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IExportToolsMetadata): google.cloud.dialogflow.cx.v3beta1.ExportToolsMetadata;

                        /**
                         * Encodes the specified ExportToolsMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportToolsMetadata.verify|verify} messages.
                         * @param message ExportToolsMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IExportToolsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ExportToolsMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ExportToolsMetadata.verify|verify} messages.
                         * @param message ExportToolsMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IExportToolsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an ExportToolsMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ExportToolsMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ExportToolsMetadata;

                        /**
                         * Decodes an ExportToolsMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ExportToolsMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ExportToolsMetadata;

                        /**
                         * Verifies an ExportToolsMetadata message.
                         * @param message Plain 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 ExportToolsMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ExportToolsMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ExportToolsMetadata;

                        /**
                         * Creates a plain object from an ExportToolsMetadata message. Also converts values to other types if specified.
                         * @param message ExportToolsMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ExportToolsMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ExportToolsMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ExportToolsMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Represents a Versions */
                    class Versions extends $protobuf.rpc.Service {

                        /**
                         * Constructs a new Versions 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 Versions 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): Versions;

                        /**
                         * Calls ListVersions.
                         * @param request ListVersionsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and ListVersionsResponse
                         */
                        public listVersions(request: google.cloud.dialogflow.cx.v3beta1.IListVersionsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Versions.ListVersionsCallback): void;

                        /**
                         * Calls ListVersions.
                         * @param request ListVersionsRequest message or plain object
                         * @returns Promise
                         */
                        public listVersions(request: google.cloud.dialogflow.cx.v3beta1.IListVersionsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.ListVersionsResponse>;

                        /**
                         * Calls GetVersion.
                         * @param request GetVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Version
                         */
                        public getVersion(request: google.cloud.dialogflow.cx.v3beta1.IGetVersionRequest, callback: google.cloud.dialogflow.cx.v3beta1.Versions.GetVersionCallback): void;

                        /**
                         * Calls GetVersion.
                         * @param request GetVersionRequest message or plain object
                         * @returns Promise
                         */
                        public getVersion(request: google.cloud.dialogflow.cx.v3beta1.IGetVersionRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Version>;

                        /**
                         * Calls CreateVersion.
                         * @param request CreateVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public createVersion(request: google.cloud.dialogflow.cx.v3beta1.ICreateVersionRequest, callback: google.cloud.dialogflow.cx.v3beta1.Versions.CreateVersionCallback): void;

                        /**
                         * Calls CreateVersion.
                         * @param request CreateVersionRequest message or plain object
                         * @returns Promise
                         */
                        public createVersion(request: google.cloud.dialogflow.cx.v3beta1.ICreateVersionRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls UpdateVersion.
                         * @param request UpdateVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Version
                         */
                        public updateVersion(request: google.cloud.dialogflow.cx.v3beta1.IUpdateVersionRequest, callback: google.cloud.dialogflow.cx.v3beta1.Versions.UpdateVersionCallback): void;

                        /**
                         * Calls UpdateVersion.
                         * @param request UpdateVersionRequest message or plain object
                         * @returns Promise
                         */
                        public updateVersion(request: google.cloud.dialogflow.cx.v3beta1.IUpdateVersionRequest): Promise<google.cloud.dialogflow.cx.v3beta1.Version>;

                        /**
                         * Calls DeleteVersion.
                         * @param request DeleteVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Empty
                         */
                        public deleteVersion(request: google.cloud.dialogflow.cx.v3beta1.IDeleteVersionRequest, callback: google.cloud.dialogflow.cx.v3beta1.Versions.DeleteVersionCallback): void;

                        /**
                         * Calls DeleteVersion.
                         * @param request DeleteVersionRequest message or plain object
                         * @returns Promise
                         */
                        public deleteVersion(request: google.cloud.dialogflow.cx.v3beta1.IDeleteVersionRequest): Promise<google.protobuf.Empty>;

                        /**
                         * Calls LoadVersion.
                         * @param request LoadVersionRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and Operation
                         */
                        public loadVersion(request: google.cloud.dialogflow.cx.v3beta1.ILoadVersionRequest, callback: google.cloud.dialogflow.cx.v3beta1.Versions.LoadVersionCallback): void;

                        /**
                         * Calls LoadVersion.
                         * @param request LoadVersionRequest message or plain object
                         * @returns Promise
                         */
                        public loadVersion(request: google.cloud.dialogflow.cx.v3beta1.ILoadVersionRequest): Promise<google.longrunning.Operation>;

                        /**
                         * Calls CompareVersions.
                         * @param request CompareVersionsRequest message or plain object
                         * @param callback Node-style callback called with the error, if any, and CompareVersionsResponse
                         */
                        public compareVersions(request: google.cloud.dialogflow.cx.v3beta1.ICompareVersionsRequest, callback: google.cloud.dialogflow.cx.v3beta1.Versions.CompareVersionsCallback): void;

                        /**
                         * Calls CompareVersions.
                         * @param request CompareVersionsRequest message or plain object
                         * @returns Promise
                         */
                        public compareVersions(request: google.cloud.dialogflow.cx.v3beta1.ICompareVersionsRequest): Promise<google.cloud.dialogflow.cx.v3beta1.CompareVersionsResponse>;
                    }

                    namespace Versions {

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Versions|listVersions}.
                         * @param error Error, if any
                         * @param [response] ListVersionsResponse
                         */
                        type ListVersionsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.ListVersionsResponse) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Versions|getVersion}.
                         * @param error Error, if any
                         * @param [response] Version
                         */
                        type GetVersionCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Version) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Versions|createVersion}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type CreateVersionCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Versions|updateVersion}.
                         * @param error Error, if any
                         * @param [response] Version
                         */
                        type UpdateVersionCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.Version) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Versions|deleteVersion}.
                         * @param error Error, if any
                         * @param [response] Empty
                         */
                        type DeleteVersionCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Versions|loadVersion}.
                         * @param error Error, if any
                         * @param [response] Operation
                         */
                        type LoadVersionCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                        /**
                         * Callback as used by {@link google.cloud.dialogflow.cx.v3beta1.Versions|compareVersions}.
                         * @param error Error, if any
                         * @param [response] CompareVersionsResponse
                         */
                        type CompareVersionsCallback = (error: (Error|null), response?: google.cloud.dialogflow.cx.v3beta1.CompareVersionsResponse) => void;
                    }

                    /** Properties of a CreateVersionOperationMetadata. */
                    interface ICreateVersionOperationMetadata {

                        /** CreateVersionOperationMetadata version */
                        version?: (string|null);
                    }

                    /** Represents a CreateVersionOperationMetadata. */
                    class CreateVersionOperationMetadata implements ICreateVersionOperationMetadata {

                        /**
                         * Constructs a new CreateVersionOperationMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateVersionOperationMetadata);

                        /** CreateVersionOperationMetadata version. */
                        public version: string;

                        /**
                         * Creates a new CreateVersionOperationMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateVersionOperationMetadata instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateVersionOperationMetadata): google.cloud.dialogflow.cx.v3beta1.CreateVersionOperationMetadata;

                        /**
                         * Encodes the specified CreateVersionOperationMetadata message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateVersionOperationMetadata.verify|verify} messages.
                         * @param message CreateVersionOperationMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateVersionOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateVersionOperationMetadata message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateVersionOperationMetadata.verify|verify} messages.
                         * @param message CreateVersionOperationMetadata message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateVersionOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateVersionOperationMetadata message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateVersionOperationMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateVersionOperationMetadata;

                        /**
                         * Decodes a CreateVersionOperationMetadata message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateVersionOperationMetadata
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateVersionOperationMetadata;

                        /**
                         * Verifies a CreateVersionOperationMetadata message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateVersionOperationMetadata message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateVersionOperationMetadata
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateVersionOperationMetadata;

                        /**
                         * Creates a plain object from a CreateVersionOperationMetadata message. Also converts values to other types if specified.
                         * @param message CreateVersionOperationMetadata
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateVersionOperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateVersionOperationMetadata to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateVersionOperationMetadata
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a Version. */
                    interface IVersion {

                        /** Version name */
                        name?: (string|null);

                        /** Version displayName */
                        displayName?: (string|null);

                        /** Version description */
                        description?: (string|null);

                        /** Version nluSettings */
                        nluSettings?: (google.cloud.dialogflow.cx.v3beta1.INluSettings|null);

                        /** Version createTime */
                        createTime?: (google.protobuf.ITimestamp|null);

                        /** Version state */
                        state?: (google.cloud.dialogflow.cx.v3beta1.Version.State|keyof typeof google.cloud.dialogflow.cx.v3beta1.Version.State|null);
                    }

                    /** Represents a Version. */
                    class Version implements IVersion {

                        /**
                         * Constructs a new Version.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IVersion);

                        /** Version name. */
                        public name: string;

                        /** Version displayName. */
                        public displayName: string;

                        /** Version description. */
                        public description: string;

                        /** Version nluSettings. */
                        public nluSettings?: (google.cloud.dialogflow.cx.v3beta1.INluSettings|null);

                        /** Version createTime. */
                        public createTime?: (google.protobuf.ITimestamp|null);

                        /** Version state. */
                        public state: (google.cloud.dialogflow.cx.v3beta1.Version.State|keyof typeof google.cloud.dialogflow.cx.v3beta1.Version.State);

                        /**
                         * Creates a new Version instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Version instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IVersion): google.cloud.dialogflow.cx.v3beta1.Version;

                        /**
                         * Encodes the specified Version message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Version.verify|verify} messages.
                         * @param message Version message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IVersion, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified Version message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.Version.verify|verify} messages.
                         * @param message Version message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IVersion, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a Version message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns Version
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.Version;

                        /**
                         * Decodes a Version message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns Version
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.Version;

                        /**
                         * Verifies a Version message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a Version message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns Version
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.Version;

                        /**
                         * Creates a plain object from a Version message. Also converts values to other types if specified.
                         * @param message Version
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.Version, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this Version to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for Version
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace Version {

                        /** State enum. */
                        enum State {
                            STATE_UNSPECIFIED = 0,
                            RUNNING = 1,
                            SUCCEEDED = 2,
                            FAILED = 3
                        }
                    }

                    /** Properties of a ListVersionsRequest. */
                    interface IListVersionsRequest {

                        /** ListVersionsRequest parent */
                        parent?: (string|null);

                        /** ListVersionsRequest pageSize */
                        pageSize?: (number|null);

                        /** ListVersionsRequest pageToken */
                        pageToken?: (string|null);
                    }

                    /** Represents a ListVersionsRequest. */
                    class ListVersionsRequest implements IListVersionsRequest {

                        /**
                         * Constructs a new ListVersionsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListVersionsRequest);

                        /** ListVersionsRequest parent. */
                        public parent: string;

                        /** ListVersionsRequest pageSize. */
                        public pageSize: number;

                        /** ListVersionsRequest pageToken. */
                        public pageToken: string;

                        /**
                         * Creates a new ListVersionsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListVersionsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListVersionsRequest): google.cloud.dialogflow.cx.v3beta1.ListVersionsRequest;

                        /**
                         * Encodes the specified ListVersionsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListVersionsRequest.verify|verify} messages.
                         * @param message ListVersionsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListVersionsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListVersionsRequest.verify|verify} messages.
                         * @param message ListVersionsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListVersionsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListVersionsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListVersionsRequest;

                        /**
                         * Decodes a ListVersionsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListVersionsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListVersionsRequest;

                        /**
                         * Verifies a ListVersionsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListVersionsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListVersionsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListVersionsRequest;

                        /**
                         * Creates a plain object from a ListVersionsRequest message. Also converts values to other types if specified.
                         * @param message ListVersionsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListVersionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListVersionsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListVersionsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a ListVersionsResponse. */
                    interface IListVersionsResponse {

                        /** ListVersionsResponse versions */
                        versions?: (google.cloud.dialogflow.cx.v3beta1.IVersion[]|null);

                        /** ListVersionsResponse nextPageToken */
                        nextPageToken?: (string|null);
                    }

                    /** Represents a ListVersionsResponse. */
                    class ListVersionsResponse implements IListVersionsResponse {

                        /**
                         * Constructs a new ListVersionsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IListVersionsResponse);

                        /** ListVersionsResponse versions. */
                        public versions: google.cloud.dialogflow.cx.v3beta1.IVersion[];

                        /** ListVersionsResponse nextPageToken. */
                        public nextPageToken: string;

                        /**
                         * Creates a new ListVersionsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ListVersionsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IListVersionsResponse): google.cloud.dialogflow.cx.v3beta1.ListVersionsResponse;

                        /**
                         * Encodes the specified ListVersionsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListVersionsResponse.verify|verify} messages.
                         * @param message ListVersionsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IListVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ListVersionsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.ListVersionsResponse.verify|verify} messages.
                         * @param message ListVersionsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IListVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ListVersionsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ListVersionsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.ListVersionsResponse;

                        /**
                         * Decodes a ListVersionsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ListVersionsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.ListVersionsResponse;

                        /**
                         * Verifies a ListVersionsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ListVersionsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ListVersionsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.ListVersionsResponse;

                        /**
                         * Creates a plain object from a ListVersionsResponse message. Also converts values to other types if specified.
                         * @param message ListVersionsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.ListVersionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ListVersionsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ListVersionsResponse
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a GetVersionRequest. */
                    interface IGetVersionRequest {

                        /** GetVersionRequest name */
                        name?: (string|null);
                    }

                    /** Represents a GetVersionRequest. */
                    class GetVersionRequest implements IGetVersionRequest {

                        /**
                         * Constructs a new GetVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IGetVersionRequest);

                        /** GetVersionRequest name. */
                        public name: string;

                        /**
                         * Creates a new GetVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns GetVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IGetVersionRequest): google.cloud.dialogflow.cx.v3beta1.GetVersionRequest;

                        /**
                         * Encodes the specified GetVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetVersionRequest.verify|verify} messages.
                         * @param message GetVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IGetVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified GetVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.GetVersionRequest.verify|verify} messages.
                         * @param message GetVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IGetVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a GetVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns GetVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.GetVersionRequest;

                        /**
                         * Decodes a GetVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns GetVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.GetVersionRequest;

                        /**
                         * Verifies a GetVersionRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a GetVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns GetVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.GetVersionRequest;

                        /**
                         * Creates a plain object from a GetVersionRequest message. Also converts values to other types if specified.
                         * @param message GetVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.GetVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this GetVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for GetVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CreateVersionRequest. */
                    interface ICreateVersionRequest {

                        /** CreateVersionRequest parent */
                        parent?: (string|null);

                        /** CreateVersionRequest version */
                        version?: (google.cloud.dialogflow.cx.v3beta1.IVersion|null);
                    }

                    /** Represents a CreateVersionRequest. */
                    class CreateVersionRequest implements ICreateVersionRequest {

                        /**
                         * Constructs a new CreateVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateVersionRequest);

                        /** CreateVersionRequest parent. */
                        public parent: string;

                        /** CreateVersionRequest version. */
                        public version?: (google.cloud.dialogflow.cx.v3beta1.IVersion|null);

                        /**
                         * Creates a new CreateVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CreateVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICreateVersionRequest): google.cloud.dialogflow.cx.v3beta1.CreateVersionRequest;

                        /**
                         * Encodes the specified CreateVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateVersionRequest.verify|verify} messages.
                         * @param message CreateVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICreateVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CreateVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CreateVersionRequest.verify|verify} messages.
                         * @param message CreateVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICreateVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CreateVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CreateVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CreateVersionRequest;

                        /**
                         * Decodes a CreateVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CreateVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CreateVersionRequest;

                        /**
                         * Verifies a CreateVersionRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CreateVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CreateVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CreateVersionRequest;

                        /**
                         * Creates a plain object from a CreateVersionRequest message. Also converts values to other types if specified.
                         * @param message CreateVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CreateVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CreateVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CreateVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of an UpdateVersionRequest. */
                    interface IUpdateVersionRequest {

                        /** UpdateVersionRequest version */
                        version?: (google.cloud.dialogflow.cx.v3beta1.IVersion|null);

                        /** UpdateVersionRequest updateMask */
                        updateMask?: (google.protobuf.IFieldMask|null);
                    }

                    /** Represents an UpdateVersionRequest. */
                    class UpdateVersionRequest implements IUpdateVersionRequest {

                        /**
                         * Constructs a new UpdateVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateVersionRequest);

                        /** UpdateVersionRequest version. */
                        public version?: (google.cloud.dialogflow.cx.v3beta1.IVersion|null);

                        /** UpdateVersionRequest updateMask. */
                        public updateMask?: (google.protobuf.IFieldMask|null);

                        /**
                         * Creates a new UpdateVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns UpdateVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IUpdateVersionRequest): google.cloud.dialogflow.cx.v3beta1.UpdateVersionRequest;

                        /**
                         * Encodes the specified UpdateVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateVersionRequest.verify|verify} messages.
                         * @param message UpdateVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IUpdateVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified UpdateVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.UpdateVersionRequest.verify|verify} messages.
                         * @param message UpdateVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IUpdateVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an UpdateVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns UpdateVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.UpdateVersionRequest;

                        /**
                         * Decodes an UpdateVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns UpdateVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.UpdateVersionRequest;

                        /**
                         * Verifies an UpdateVersionRequest message.
                         * @param message Plain 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 UpdateVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns UpdateVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.UpdateVersionRequest;

                        /**
                         * Creates a plain object from an UpdateVersionRequest message. Also converts values to other types if specified.
                         * @param message UpdateVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.UpdateVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this UpdateVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for UpdateVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a DeleteVersionRequest. */
                    interface IDeleteVersionRequest {

                        /** DeleteVersionRequest name */
                        name?: (string|null);
                    }

                    /** Represents a DeleteVersionRequest. */
                    class DeleteVersionRequest implements IDeleteVersionRequest {

                        /**
                         * Constructs a new DeleteVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteVersionRequest);

                        /** DeleteVersionRequest name. */
                        public name: string;

                        /**
                         * Creates a new DeleteVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DeleteVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.IDeleteVersionRequest): google.cloud.dialogflow.cx.v3beta1.DeleteVersionRequest;

                        /**
                         * Encodes the specified DeleteVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteVersionRequest.verify|verify} messages.
                         * @param message DeleteVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.IDeleteVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified DeleteVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.DeleteVersionRequest.verify|verify} messages.
                         * @param message DeleteVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.IDeleteVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a DeleteVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns DeleteVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.DeleteVersionRequest;

                        /**
                         * Decodes a DeleteVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns DeleteVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.DeleteVersionRequest;

                        /**
                         * Verifies a DeleteVersionRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a DeleteVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns DeleteVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.DeleteVersionRequest;

                        /**
                         * Creates a plain object from a DeleteVersionRequest message. Also converts values to other types if specified.
                         * @param message DeleteVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.DeleteVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this DeleteVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for DeleteVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a LoadVersionRequest. */
                    interface ILoadVersionRequest {

                        /** LoadVersionRequest name */
                        name?: (string|null);

                        /** LoadVersionRequest allowOverrideAgentResources */
                        allowOverrideAgentResources?: (boolean|null);
                    }

                    /** Represents a LoadVersionRequest. */
                    class LoadVersionRequest implements ILoadVersionRequest {

                        /**
                         * Constructs a new LoadVersionRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ILoadVersionRequest);

                        /** LoadVersionRequest name. */
                        public name: string;

                        /** LoadVersionRequest allowOverrideAgentResources. */
                        public allowOverrideAgentResources: boolean;

                        /**
                         * Creates a new LoadVersionRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns LoadVersionRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ILoadVersionRequest): google.cloud.dialogflow.cx.v3beta1.LoadVersionRequest;

                        /**
                         * Encodes the specified LoadVersionRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.LoadVersionRequest.verify|verify} messages.
                         * @param message LoadVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ILoadVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified LoadVersionRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.LoadVersionRequest.verify|verify} messages.
                         * @param message LoadVersionRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ILoadVersionRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a LoadVersionRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns LoadVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.LoadVersionRequest;

                        /**
                         * Decodes a LoadVersionRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns LoadVersionRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.LoadVersionRequest;

                        /**
                         * Verifies a LoadVersionRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a LoadVersionRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns LoadVersionRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.LoadVersionRequest;

                        /**
                         * Creates a plain object from a LoadVersionRequest message. Also converts values to other types if specified.
                         * @param message LoadVersionRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.LoadVersionRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this LoadVersionRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for LoadVersionRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CompareVersionsRequest. */
                    interface ICompareVersionsRequest {

                        /** CompareVersionsRequest baseVersion */
                        baseVersion?: (string|null);

                        /** CompareVersionsRequest targetVersion */
                        targetVersion?: (string|null);

                        /** CompareVersionsRequest languageCode */
                        languageCode?: (string|null);
                    }

                    /** Represents a CompareVersionsRequest. */
                    class CompareVersionsRequest implements ICompareVersionsRequest {

                        /**
                         * Constructs a new CompareVersionsRequest.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICompareVersionsRequest);

                        /** CompareVersionsRequest baseVersion. */
                        public baseVersion: string;

                        /** CompareVersionsRequest targetVersion. */
                        public targetVersion: string;

                        /** CompareVersionsRequest languageCode. */
                        public languageCode: string;

                        /**
                         * Creates a new CompareVersionsRequest instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CompareVersionsRequest instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICompareVersionsRequest): google.cloud.dialogflow.cx.v3beta1.CompareVersionsRequest;

                        /**
                         * Encodes the specified CompareVersionsRequest message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CompareVersionsRequest.verify|verify} messages.
                         * @param message CompareVersionsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICompareVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CompareVersionsRequest message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CompareVersionsRequest.verify|verify} messages.
                         * @param message CompareVersionsRequest message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICompareVersionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CompareVersionsRequest message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CompareVersionsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CompareVersionsRequest;

                        /**
                         * Decodes a CompareVersionsRequest message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CompareVersionsRequest
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CompareVersionsRequest;

                        /**
                         * Verifies a CompareVersionsRequest message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CompareVersionsRequest message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CompareVersionsRequest
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CompareVersionsRequest;

                        /**
                         * Creates a plain object from a CompareVersionsRequest message. Also converts values to other types if specified.
                         * @param message CompareVersionsRequest
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CompareVersionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CompareVersionsRequest to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CompareVersionsRequest
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    /** Properties of a CompareVersionsResponse. */
                    interface ICompareVersionsResponse {

                        /** CompareVersionsResponse baseVersionContentJson */
                        baseVersionContentJson?: (string|null);

                        /** CompareVersionsResponse targetVersionContentJson */
                        targetVersionContentJson?: (string|null);

                        /** CompareVersionsResponse compareTime */
                        compareTime?: (google.protobuf.ITimestamp|null);
                    }

                    /** Represents a CompareVersionsResponse. */
                    class CompareVersionsResponse implements ICompareVersionsResponse {

                        /**
                         * Constructs a new CompareVersionsResponse.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.dialogflow.cx.v3beta1.ICompareVersionsResponse);

                        /** CompareVersionsResponse baseVersionContentJson. */
                        public baseVersionContentJson: string;

                        /** CompareVersionsResponse targetVersionContentJson. */
                        public targetVersionContentJson: string;

                        /** CompareVersionsResponse compareTime. */
                        public compareTime?: (google.protobuf.ITimestamp|null);

                        /**
                         * Creates a new CompareVersionsResponse instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns CompareVersionsResponse instance
                         */
                        public static create(properties?: google.cloud.dialogflow.cx.v3beta1.ICompareVersionsResponse): google.cloud.dialogflow.cx.v3beta1.CompareVersionsResponse;

                        /**
                         * Encodes the specified CompareVersionsResponse message. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CompareVersionsResponse.verify|verify} messages.
                         * @param message CompareVersionsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.dialogflow.cx.v3beta1.ICompareVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified CompareVersionsResponse message, length delimited. Does not implicitly {@link google.cloud.dialogflow.cx.v3beta1.CompareVersionsResponse.verify|verify} messages.
                         * @param message CompareVersionsResponse message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.dialogflow.cx.v3beta1.ICompareVersionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a CompareVersionsResponse message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns CompareVersionsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.dialogflow.cx.v3beta1.CompareVersionsResponse;

                        /**
                         * Decodes a CompareVersionsResponse message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns CompareVersionsResponse
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.dialogflow.cx.v3beta1.CompareVersionsResponse;

                        /**
                         * Verifies a CompareVersionsResponse message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a CompareVersionsResponse message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns CompareVersionsResponse
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.dialogflow.cx.v3beta1.CompareVersionsResponse;

                        /**
                         * Creates a plain object from a CompareVersionsResponse message. Also converts values to other types if specified.
                         * @param message CompareVersionsResponse
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.dialogflow.cx.v3beta1.CompareVersionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this CompareVersionsResponse to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for CompareVersionsResponse
                         * @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 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
        }

        /** 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;
        }
    }

    /** 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 Struct. */
        interface IStruct {

            /** Struct fields */
            fields?: ({ [k: string]: google.protobuf.IValue }|null);
        }

        /** Represents a Struct. */
        class Struct implements IStruct {

            /**
             * Constructs a new Struct.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IStruct);

            /** Struct fields. */
            public fields: { [k: string]: google.protobuf.IValue };

            /**
             * Creates a new Struct instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Struct instance
             */
            public static create(properties?: google.protobuf.IStruct): google.protobuf.Struct;

            /**
             * Encodes the specified Struct message. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages.
             * @param message Struct message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IStruct, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Struct message, length delimited. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages.
             * @param message Struct message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IStruct, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a Struct message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns Struct
             * @throws {Error} If the payload is not 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.Struct;

            /**
             * Decodes a Struct message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns Struct
             * @throws {Error} If the payload 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.Struct;

            /**
             * Verifies a Struct message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a Struct message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns Struct
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.Struct;

            /**
             * Creates a plain object from a Struct message. Also converts values to other types if specified.
             * @param message Struct
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.Struct, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this Struct to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for Struct
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of a Value. */
        interface IValue {

            /** Value nullValue */
            nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null);

            /** Value numberValue */
            numberValue?: (number|null);

            /** Value stringValue */
            stringValue?: (string|null);

            /** Value boolValue */
            boolValue?: (boolean|null);

            /** Value structValue */
            structValue?: (google.protobuf.IStruct|null);

            /** Value listValue */
            listValue?: (google.protobuf.IListValue|null);
        }

        /** Represents a Value. */
        class Value implements IValue {

            /**
             * Constructs a new Value.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IValue);

            /** Value nullValue. */
            public nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null);

            /** Value numberValue. */
            public numberValue?: (number|null);

            /** Value stringValue. */
            public stringValue?: (string|null);

            /** Value boolValue. */
            public boolValue?: (boolean|null);

            /** Value structValue. */
            public structValue?: (google.protobuf.IStruct|null);

            /** Value listValue. */
            public listValue?: (google.protobuf.IListValue|null);

            /** Value kind. */
            public kind?: ("nullValue"|"numberValue"|"stringValue"|"boolValue"|"structValue"|"listValue");

            /**
             * Creates a new Value instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Value instance
             */
            public static create(properties?: google.protobuf.IValue): google.protobuf.Value;

            /**
             * Encodes the specified Value message. Does not implicitly {@link google.protobuf.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.protobuf.IValue, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Value message, length delimited. Does not implicitly {@link google.protobuf.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.protobuf.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.protobuf.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.protobuf.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.protobuf.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.protobuf.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;
        }

        /** NullValue enum. */
        enum NullValue {
            NULL_VALUE = 0
        }

        /** Properties of a ListValue. */
        interface IListValue {

            /** ListValue values */
            values?: (google.protobuf.IValue[]|null);
        }

        /** Represents a ListValue. */
        class ListValue implements IListValue {

            /**
             * Constructs a new ListValue.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.IListValue);

            /** ListValue values. */
            public values: google.protobuf.IValue[];

            /**
             * Creates a new ListValue instance using the specified properties.
             * @param [properties] Properties to set
             * @returns ListValue instance
             */
            public static create(properties?: google.protobuf.IListValue): google.protobuf.ListValue;

            /**
             * Encodes the specified ListValue message. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages.
             * @param message ListValue message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.IListValue, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified ListValue message, length delimited. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages.
             * @param message ListValue message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.IListValue, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a ListValue message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns ListValue
             * @throws {Error} If the payload is not 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.ListValue;

            /**
             * Decodes a ListValue message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns ListValue
             * @throws {Error} If the payload 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.ListValue;

            /**
             * Verifies a ListValue message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a ListValue message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns ListValue
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.ListValue;

            /**
             * Creates a plain object from a ListValue message. Also converts values to other types if specified.
             * @param message ListValue
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.ListValue, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this ListValue to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for ListValue
             * @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;
        }

        /** 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;
        }
    }

    /** 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 a LatLng. */
        interface ILatLng {

            /** LatLng latitude */
            latitude?: (number|null);

            /** LatLng longitude */
            longitude?: (number|null);
        }

        /** Represents a LatLng. */
        class LatLng implements ILatLng {

            /**
             * Constructs a new LatLng.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.type.ILatLng);

            /** LatLng latitude. */
            public latitude: number;

            /** LatLng longitude. */
            public longitude: number;

            /**
             * Creates a new LatLng instance using the specified properties.
             * @param [properties] Properties to set
             * @returns LatLng instance
             */
            public static create(properties?: google.type.ILatLng): google.type.LatLng;

            /**
             * Encodes the specified LatLng message. Does not implicitly {@link google.type.LatLng.verify|verify} messages.
             * @param message LatLng message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.type.ILatLng, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified LatLng message, length delimited. Does not implicitly {@link google.type.LatLng.verify|verify} messages.
             * @param message LatLng message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.type.ILatLng, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a LatLng message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns LatLng
             * @throws {Error} If the payload is not 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.LatLng;

            /**
             * Decodes a LatLng message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns LatLng
             * @throws {Error} If the payload 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.LatLng;

            /**
             * Verifies a LatLng message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a LatLng message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns LatLng
             */
            public static fromObject(object: { [k: string]: any }): google.type.LatLng;

            /**
             * Creates a plain object from a LatLng message. Also converts values to other types if specified.
             * @param message LatLng
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.type.LatLng, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this LatLng to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for LatLng
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }
    }
}
