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

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

    /** Namespace cloud. */
    namespace cloud {

        /** Namespace chronicle. */
        namespace chronicle {

            /** Namespace v1. */
            namespace v1 {

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

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

                    /**
                     * Calls GetBigQueryExport.
                     * @param request GetBigQueryExportRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BigQueryExport
                     */
                    public getBigQueryExport(request: google.cloud.chronicle.v1.IGetBigQueryExportRequest, callback: google.cloud.chronicle.v1.BigQueryExportService.GetBigQueryExportCallback): void;

                    /**
                     * Calls GetBigQueryExport.
                     * @param request GetBigQueryExportRequest message or plain object
                     * @returns Promise
                     */
                    public getBigQueryExport(request: google.cloud.chronicle.v1.IGetBigQueryExportRequest): Promise<google.cloud.chronicle.v1.BigQueryExport>;

                    /**
                     * Calls UpdateBigQueryExport.
                     * @param request UpdateBigQueryExportRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BigQueryExport
                     */
                    public updateBigQueryExport(request: google.cloud.chronicle.v1.IUpdateBigQueryExportRequest, callback: google.cloud.chronicle.v1.BigQueryExportService.UpdateBigQueryExportCallback): void;

                    /**
                     * Calls UpdateBigQueryExport.
                     * @param request UpdateBigQueryExportRequest message or plain object
                     * @returns Promise
                     */
                    public updateBigQueryExport(request: google.cloud.chronicle.v1.IUpdateBigQueryExportRequest): Promise<google.cloud.chronicle.v1.BigQueryExport>;

                    /**
                     * Calls ProvisionBigQueryExport.
                     * @param request ProvisionBigQueryExportRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BigQueryExport
                     */
                    public provisionBigQueryExport(request: google.cloud.chronicle.v1.IProvisionBigQueryExportRequest, callback: google.cloud.chronicle.v1.BigQueryExportService.ProvisionBigQueryExportCallback): void;

                    /**
                     * Calls ProvisionBigQueryExport.
                     * @param request ProvisionBigQueryExportRequest message or plain object
                     * @returns Promise
                     */
                    public provisionBigQueryExport(request: google.cloud.chronicle.v1.IProvisionBigQueryExportRequest): Promise<google.cloud.chronicle.v1.BigQueryExport>;
                }

                namespace BigQueryExportService {

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.BigQueryExportService|getBigQueryExport}.
                     * @param error Error, if any
                     * @param [response] BigQueryExport
                     */
                    type GetBigQueryExportCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.BigQueryExport) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.BigQueryExportService|updateBigQueryExport}.
                     * @param error Error, if any
                     * @param [response] BigQueryExport
                     */
                    type UpdateBigQueryExportCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.BigQueryExport) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.BigQueryExportService|provisionBigQueryExport}.
                     * @param error Error, if any
                     * @param [response] BigQueryExport
                     */
                    type ProvisionBigQueryExportCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.BigQueryExport) => void;
                }

                /** BigQueryExportPackage enum. */
                enum BigQueryExportPackage {
                    BIG_QUERY_EXPORT_PACKAGE_UNSPECIFIED = 0,
                    BIG_QUERY_EXPORT_PACKAGE_BYOBQ = 1,
                    BIG_QUERY_EXPORT_PACKAGE_ADVANCED = 2
                }

                /** LatestExportJobState enum. */
                enum LatestExportJobState {
                    LATEST_EXPORT_JOB_STATE_UNSPECIFIED = 0,
                    LATEST_EXPORT_JOB_STATE_SUCCESS = 1,
                    LATEST_EXPORT_JOB_STATE_FAILED = 2
                }

                /** Properties of a BigQueryExport. */
                interface IBigQueryExport {

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

                    /** BigQueryExport provisioned */
                    provisioned?: (boolean|null);

                    /** BigQueryExport bigQueryExportPackage */
                    bigQueryExportPackage?: (google.cloud.chronicle.v1.BigQueryExportPackage|keyof typeof google.cloud.chronicle.v1.BigQueryExportPackage|null);

                    /** BigQueryExport entityGraphSettings */
                    entityGraphSettings?: (google.cloud.chronicle.v1.IDataSourceExportSettings|null);

                    /** BigQueryExport iocMatchesSettings */
                    iocMatchesSettings?: (google.cloud.chronicle.v1.IDataSourceExportSettings|null);

                    /** BigQueryExport ruleDetectionsSettings */
                    ruleDetectionsSettings?: (google.cloud.chronicle.v1.IDataSourceExportSettings|null);

                    /** BigQueryExport udmEventsAggregatesSettings */
                    udmEventsAggregatesSettings?: (google.cloud.chronicle.v1.IDataSourceExportSettings|null);

                    /** BigQueryExport udmEventsSettings */
                    udmEventsSettings?: (google.cloud.chronicle.v1.IDataSourceExportSettings|null);
                }

                /** Represents a BigQueryExport. */
                class BigQueryExport implements IBigQueryExport {

                    /**
                     * Constructs a new BigQueryExport.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IBigQueryExport);

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

                    /** BigQueryExport provisioned. */
                    public provisioned: boolean;

                    /** BigQueryExport bigQueryExportPackage. */
                    public bigQueryExportPackage: (google.cloud.chronicle.v1.BigQueryExportPackage|keyof typeof google.cloud.chronicle.v1.BigQueryExportPackage);

                    /** BigQueryExport entityGraphSettings. */
                    public entityGraphSettings?: (google.cloud.chronicle.v1.IDataSourceExportSettings|null);

                    /** BigQueryExport iocMatchesSettings. */
                    public iocMatchesSettings?: (google.cloud.chronicle.v1.IDataSourceExportSettings|null);

                    /** BigQueryExport ruleDetectionsSettings. */
                    public ruleDetectionsSettings?: (google.cloud.chronicle.v1.IDataSourceExportSettings|null);

                    /** BigQueryExport udmEventsAggregatesSettings. */
                    public udmEventsAggregatesSettings?: (google.cloud.chronicle.v1.IDataSourceExportSettings|null);

                    /** BigQueryExport udmEventsSettings. */
                    public udmEventsSettings?: (google.cloud.chronicle.v1.IDataSourceExportSettings|null);

                    /**
                     * Creates a new BigQueryExport instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BigQueryExport instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IBigQueryExport): google.cloud.chronicle.v1.BigQueryExport;

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

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

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

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

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

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

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

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

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

                /** Properties of a DataSourceExportSettings. */
                interface IDataSourceExportSettings {

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

                    /** DataSourceExportSettings retentionDays */
                    retentionDays?: (number|null);

                    /** DataSourceExportSettings latestExportJobState */
                    latestExportJobState?: (google.cloud.chronicle.v1.LatestExportJobState|keyof typeof google.cloud.chronicle.v1.LatestExportJobState|null);

                    /** DataSourceExportSettings dataFreshnessTime */
                    dataFreshnessTime?: (google.protobuf.ITimestamp|null);

                    /** DataSourceExportSettings dataVolume */
                    dataVolume?: (number|Long|string|null);
                }

                /** Represents a DataSourceExportSettings. */
                class DataSourceExportSettings implements IDataSourceExportSettings {

                    /**
                     * Constructs a new DataSourceExportSettings.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDataSourceExportSettings);

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

                    /** DataSourceExportSettings retentionDays. */
                    public retentionDays: number;

                    /** DataSourceExportSettings latestExportJobState. */
                    public latestExportJobState: (google.cloud.chronicle.v1.LatestExportJobState|keyof typeof google.cloud.chronicle.v1.LatestExportJobState);

                    /** DataSourceExportSettings dataFreshnessTime. */
                    public dataFreshnessTime?: (google.protobuf.ITimestamp|null);

                    /** DataSourceExportSettings dataVolume. */
                    public dataVolume: (number|Long|string);

                    /**
                     * Creates a new DataSourceExportSettings instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DataSourceExportSettings instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDataSourceExportSettings): google.cloud.chronicle.v1.DataSourceExportSettings;

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

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

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

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

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

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

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

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

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

                /** Properties of a GetBigQueryExportRequest. */
                interface IGetBigQueryExportRequest {

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

                /** Represents a GetBigQueryExportRequest. */
                class GetBigQueryExportRequest implements IGetBigQueryExportRequest {

                    /**
                     * Constructs a new GetBigQueryExportRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetBigQueryExportRequest);

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

                    /**
                     * Creates a new GetBigQueryExportRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetBigQueryExportRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetBigQueryExportRequest): google.cloud.chronicle.v1.GetBigQueryExportRequest;

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

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

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

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

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

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

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

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

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

                /** Properties of an UpdateBigQueryExportRequest. */
                interface IUpdateBigQueryExportRequest {

                    /** UpdateBigQueryExportRequest bigQueryExport */
                    bigQueryExport?: (google.cloud.chronicle.v1.IBigQueryExport|null);

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

                /** Represents an UpdateBigQueryExportRequest. */
                class UpdateBigQueryExportRequest implements IUpdateBigQueryExportRequest {

                    /**
                     * Constructs a new UpdateBigQueryExportRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IUpdateBigQueryExportRequest);

                    /** UpdateBigQueryExportRequest bigQueryExport. */
                    public bigQueryExport?: (google.cloud.chronicle.v1.IBigQueryExport|null);

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

                    /**
                     * Creates a new UpdateBigQueryExportRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateBigQueryExportRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IUpdateBigQueryExportRequest): google.cloud.chronicle.v1.UpdateBigQueryExportRequest;

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

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

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

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

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

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

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

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

                /** Properties of a ProvisionBigQueryExportRequest. */
                interface IProvisionBigQueryExportRequest {

                    /** ProvisionBigQueryExportRequest parent */
                    parent?: (string|null);
                }

                /** Represents a ProvisionBigQueryExportRequest. */
                class ProvisionBigQueryExportRequest implements IProvisionBigQueryExportRequest {

                    /**
                     * Constructs a new ProvisionBigQueryExportRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IProvisionBigQueryExportRequest);

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

                    /**
                     * Creates a new ProvisionBigQueryExportRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ProvisionBigQueryExportRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IProvisionBigQueryExportRequest): google.cloud.chronicle.v1.ProvisionBigQueryExportRequest;

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

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

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

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

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

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

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

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

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

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

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

                    /**
                     * Calls GetDashboardChart.
                     * @param request GetDashboardChartRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DashboardChart
                     */
                    public getDashboardChart(request: google.cloud.chronicle.v1.IGetDashboardChartRequest, callback: google.cloud.chronicle.v1.DashboardChartService.GetDashboardChartCallback): void;

                    /**
                     * Calls GetDashboardChart.
                     * @param request GetDashboardChartRequest message or plain object
                     * @returns Promise
                     */
                    public getDashboardChart(request: google.cloud.chronicle.v1.IGetDashboardChartRequest): Promise<google.cloud.chronicle.v1.DashboardChart>;

                    /**
                     * Calls BatchGetDashboardCharts.
                     * @param request BatchGetDashboardChartsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BatchGetDashboardChartsResponse
                     */
                    public batchGetDashboardCharts(request: google.cloud.chronicle.v1.IBatchGetDashboardChartsRequest, callback: google.cloud.chronicle.v1.DashboardChartService.BatchGetDashboardChartsCallback): void;

                    /**
                     * Calls BatchGetDashboardCharts.
                     * @param request BatchGetDashboardChartsRequest message or plain object
                     * @returns Promise
                     */
                    public batchGetDashboardCharts(request: google.cloud.chronicle.v1.IBatchGetDashboardChartsRequest): Promise<google.cloud.chronicle.v1.BatchGetDashboardChartsResponse>;
                }

                namespace DashboardChartService {

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DashboardChartService|getDashboardChart}.
                     * @param error Error, if any
                     * @param [response] DashboardChart
                     */
                    type GetDashboardChartCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DashboardChart) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DashboardChartService|batchGetDashboardCharts}.
                     * @param error Error, if any
                     * @param [response] BatchGetDashboardChartsResponse
                     */
                    type BatchGetDashboardChartsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.BatchGetDashboardChartsResponse) => void;
                }

                /** TileType enum. */
                enum TileType {
                    TILE_TYPE_UNSPECIFIED = 0,
                    TILE_TYPE_VISUALIZATION = 1,
                    TILE_TYPE_BUTTON = 2,
                    TILE_TYPE_MARKDOWN = 3
                }

                /** RenderType enum. */
                enum RenderType {
                    RENDER_TYPE_UNSPECIFIED = 0,
                    RENDER_TYPE_TEXT = 1,
                    RENDER_TYPE_ICON = 2,
                    RENDER_TYPE_ICON_AND_TEXT = 3
                }

                /** AxisType enum. */
                enum AxisType {
                    AXIS_TYPE_UNSPECIFIED = 0,
                    VALUE = 1,
                    CATEGORY = 2,
                    TIME = 3,
                    LOG = 4
                }

                /** SeriesType enum. */
                enum SeriesType {
                    SERIES_TYPE_UNSPECIFIED = 0,
                    LINE = 1,
                    BAR = 2,
                    PIE = 3,
                    TEXT = 4,
                    MAP = 5,
                    GAUGE = 6,
                    SCATTERPLOT = 7
                }

                /** SeriesStackStrategy enum. */
                enum SeriesStackStrategy {
                    SERIES_STACK_STRATEGY_UNSPECIFIED = 0,
                    SAMESIGN = 1,
                    ALL = 2,
                    POSITIVE = 3,
                    NEGATIVE = 4
                }

                /** ToolTipTrigger enum. */
                enum ToolTipTrigger {
                    TOOLTIP_TRIGGER_UNSPECIFIED = 0,
                    TOOLTIP_TRIGGER_NONE = 1,
                    TOOLTIP_TRIGGER_ITEM = 2,
                    TOOLTIP_TRIGGER_AXIS = 3
                }

                /** LegendOrient enum. */
                enum LegendOrient {
                    LEGEND_ORIENT_UNSPECIFIED = 0,
                    VERTICAL = 1,
                    HORIZONTAL = 2
                }

                /** LegendAlign enum. */
                enum LegendAlign {
                    LEGEND_ALIGN_UNSPECIFIED = 0,
                    AUTO = 1,
                    LEFT = 2,
                    RIGHT = 3
                }

                /** ButtonStyle enum. */
                enum ButtonStyle {
                    BUTTON_STYLE_UNSPECIFIED = 0,
                    BUTTON_STYLE_FILLED = 1,
                    BUTTON_STYLE_OUTLINED = 2,
                    BUTTON_STYLE_TRANSPARENT = 3
                }

                /** PlotMode enum. */
                enum PlotMode {
                    PLOT_MODE_UNSPECIFIED = 0,
                    PLOT_MODE_POINTS = 1,
                    PLOT_MODE_HEATMAP = 2,
                    PLOT_MODE_BOTH = 3
                }

                /** PointSizeType enum. */
                enum PointSizeType {
                    POINT_SIZE_TYPE_UNSPECIFIED = 0,
                    POINT_SIZE_TYPE_FIXED = 1,
                    POINT_SIZE_TYPE_PROPORTIONAL_TO_SIZE = 2
                }

                /** MetricFormat enum. */
                enum MetricFormat {
                    METRIC_FORMAT_UNSPECIFIED = 0,
                    METRIC_FORMAT_NUMBER = 1,
                    METRIC_FORMAT_PLAIN_TEXT = 2
                }

                /** MetricDisplayTrend enum. */
                enum MetricDisplayTrend {
                    METRIC_DISPLAY_TREND_UNSPECIFIED = 0,
                    METRIC_DISPLAY_TREND_ABSOLUTE_VALUE = 2,
                    METRIC_DISPLAY_TREND_PERCENTAGE = 3,
                    METRIC_DISPLAY_TREND_ABSOLUTE_VALUE_AND_PERCENTAGE = 4
                }

                /** MetricTrendType enum. */
                enum MetricTrendType {
                    METRIC_TREND_TYPE_UNSPECIFIED = 0,
                    METRIC_TREND_TYPE_REGULAR = 1,
                    METRIC_TREND_TYPE_INVERSE = 2
                }

                /** VisualMapType enum. */
                enum VisualMapType {
                    VISUAL_MAP_TYPE_UNSPECIFIED = 0,
                    CONTINUOUS = 1,
                    PIECEWISE = 2
                }

                /** Properties of a DashboardChart. */
                interface IDashboardChart {

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

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

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

                    /** DashboardChart nativeDashboard */
                    nativeDashboard?: (string|null);

                    /** DashboardChart tileType */
                    tileType?: (google.cloud.chronicle.v1.TileType|keyof typeof google.cloud.chronicle.v1.TileType|null);

                    /** DashboardChart chartDatasource */
                    chartDatasource?: (google.cloud.chronicle.v1.DashboardChart.IChartDatasource|null);

                    /** DashboardChart visualization */
                    visualization?: (google.cloud.chronicle.v1.DashboardChart.IVisualization|null);

                    /** DashboardChart etag */
                    etag?: (string|null);

                    /** DashboardChart drillDownConfig */
                    drillDownConfig?: (google.cloud.chronicle.v1.DashboardChart.IDrillDownConfig|null);

                    /** DashboardChart tokens */
                    tokens?: (string[]|null);
                }

                /** Represents a DashboardChart. */
                class DashboardChart implements IDashboardChart {

                    /**
                     * Constructs a new DashboardChart.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDashboardChart);

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

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

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

                    /** DashboardChart nativeDashboard. */
                    public nativeDashboard: string;

                    /** DashboardChart tileType. */
                    public tileType: (google.cloud.chronicle.v1.TileType|keyof typeof google.cloud.chronicle.v1.TileType);

                    /** DashboardChart chartDatasource. */
                    public chartDatasource?: (google.cloud.chronicle.v1.DashboardChart.IChartDatasource|null);

                    /** DashboardChart visualization. */
                    public visualization?: (google.cloud.chronicle.v1.DashboardChart.IVisualization|null);

                    /** DashboardChart etag. */
                    public etag: string;

                    /** DashboardChart drillDownConfig. */
                    public drillDownConfig?: (google.cloud.chronicle.v1.DashboardChart.IDrillDownConfig|null);

                    /** DashboardChart tokens. */
                    public tokens: string[];

                    /**
                     * Creates a new DashboardChart instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DashboardChart instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDashboardChart): google.cloud.chronicle.v1.DashboardChart;

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

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

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

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

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

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

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

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

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

                namespace DashboardChart {

                    /** Properties of a ChartDatasource. */
                    interface IChartDatasource {

                        /** ChartDatasource dashboardQuery */
                        dashboardQuery?: (string|null);

                        /** ChartDatasource dataSources */
                        dataSources?: (google.cloud.chronicle.v1.DataSource[]|null);
                    }

                    /** Represents a ChartDatasource. */
                    class ChartDatasource implements IChartDatasource {

                        /**
                         * Constructs a new ChartDatasource.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.DashboardChart.IChartDatasource);

                        /** ChartDatasource dashboardQuery. */
                        public dashboardQuery: string;

                        /** ChartDatasource dataSources. */
                        public dataSources: google.cloud.chronicle.v1.DataSource[];

                        /**
                         * Creates a new ChartDatasource instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ChartDatasource instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.DashboardChart.IChartDatasource): google.cloud.chronicle.v1.DashboardChart.ChartDatasource;

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

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

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

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

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

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

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

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

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

                    /** Properties of a Visualization. */
                    interface IVisualization {

                        /** Visualization xAxes */
                        xAxes?: (google.cloud.chronicle.v1.DashboardChart.Visualization.IAxis[]|null);

                        /** Visualization yAxes */
                        yAxes?: (google.cloud.chronicle.v1.DashboardChart.Visualization.IAxis[]|null);

                        /** Visualization series */
                        series?: (google.cloud.chronicle.v1.DashboardChart.Visualization.ISeries[]|null);

                        /** Visualization tooltip */
                        tooltip?: (google.cloud.chronicle.v1.DashboardChart.Visualization.ITooltip|null);

                        /** Visualization legends */
                        legends?: (google.cloud.chronicle.v1.DashboardChart.Visualization.ILegend[]|null);

                        /** Visualization columnDefs */
                        columnDefs?: (google.cloud.chronicle.v1.DashboardChart.Visualization.IColumnDef[]|null);

                        /** Visualization tableConfig */
                        tableConfig?: (google.cloud.chronicle.v1.DashboardChart.Visualization.ITableConfig|null);

                        /** Visualization button */
                        button?: (google.cloud.chronicle.v1.IButton|null);

                        /** Visualization markdown */
                        markdown?: (google.cloud.chronicle.v1.IMarkdown|null);

                        /** Visualization seriesColumn */
                        seriesColumn?: (string[]|null);

                        /** Visualization groupingType */
                        groupingType?: (string|null);

                        /** Visualization googleMapsConfig */
                        googleMapsConfig?: (google.cloud.chronicle.v1.DashboardChart.Visualization.IGoogleMapsConfig|null);

                        /** Visualization thresholdColoringEnabled */
                        thresholdColoringEnabled?: (boolean|null);

                        /** Visualization visualMaps */
                        visualMaps?: (google.cloud.chronicle.v1.DashboardChart.Visualization.IVisualMap[]|null);
                    }

                    /** Represents a Visualization. */
                    class Visualization implements IVisualization {

                        /**
                         * Constructs a new Visualization.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.DashboardChart.IVisualization);

                        /** Visualization xAxes. */
                        public xAxes: google.cloud.chronicle.v1.DashboardChart.Visualization.IAxis[];

                        /** Visualization yAxes. */
                        public yAxes: google.cloud.chronicle.v1.DashboardChart.Visualization.IAxis[];

                        /** Visualization series. */
                        public series: google.cloud.chronicle.v1.DashboardChart.Visualization.ISeries[];

                        /** Visualization tooltip. */
                        public tooltip?: (google.cloud.chronicle.v1.DashboardChart.Visualization.ITooltip|null);

                        /** Visualization legends. */
                        public legends: google.cloud.chronicle.v1.DashboardChart.Visualization.ILegend[];

                        /** Visualization columnDefs. */
                        public columnDefs: google.cloud.chronicle.v1.DashboardChart.Visualization.IColumnDef[];

                        /** Visualization tableConfig. */
                        public tableConfig?: (google.cloud.chronicle.v1.DashboardChart.Visualization.ITableConfig|null);

                        /** Visualization button. */
                        public button?: (google.cloud.chronicle.v1.IButton|null);

                        /** Visualization markdown. */
                        public markdown?: (google.cloud.chronicle.v1.IMarkdown|null);

                        /** Visualization seriesColumn. */
                        public seriesColumn: string[];

                        /** Visualization groupingType. */
                        public groupingType: string;

                        /** Visualization googleMapsConfig. */
                        public googleMapsConfig?: (google.cloud.chronicle.v1.DashboardChart.Visualization.IGoogleMapsConfig|null);

                        /** Visualization thresholdColoringEnabled. */
                        public thresholdColoringEnabled: boolean;

                        /** Visualization visualMaps. */
                        public visualMaps: google.cloud.chronicle.v1.DashboardChart.Visualization.IVisualMap[];

                        /**
                         * Creates a new Visualization instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Visualization instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.DashboardChart.IVisualization): google.cloud.chronicle.v1.DashboardChart.Visualization;

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

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

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

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

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

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

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

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

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

                    namespace Visualization {

                        /** Properties of an Axis. */
                        interface IAxis {

                            /** Axis axisType */
                            axisType?: (google.cloud.chronicle.v1.AxisType|keyof typeof google.cloud.chronicle.v1.AxisType|null);

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

                            /** Axis min */
                            min?: (number|null);

                            /** Axis max */
                            max?: (number|null);
                        }

                        /** Represents an Axis. */
                        class Axis implements IAxis {

                            /**
                             * Constructs a new Axis.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.IAxis);

                            /** Axis axisType. */
                            public axisType: (google.cloud.chronicle.v1.AxisType|keyof typeof google.cloud.chronicle.v1.AxisType);

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

                            /** Axis min. */
                            public min?: (number|null);

                            /** Axis max. */
                            public max?: (number|null);

                            /**
                             * Creates a new Axis instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Axis instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.IAxis): google.cloud.chronicle.v1.DashboardChart.Visualization.Axis;

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

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

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

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

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

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

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

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

                        /** Properties of a Series. */
                        interface ISeries {

                            /** Series seriesType */
                            seriesType?: (google.cloud.chronicle.v1.SeriesType|keyof typeof google.cloud.chronicle.v1.SeriesType|null);

                            /** Series seriesName */
                            seriesName?: (string|null);

                            /** Series showSymbol */
                            showSymbol?: (boolean|null);

                            /** Series showBackground */
                            showBackground?: (boolean|null);

                            /** Series stack */
                            stack?: (string|null);

                            /** Series seriesStackStrategy */
                            seriesStackStrategy?: (google.cloud.chronicle.v1.SeriesStackStrategy|keyof typeof google.cloud.chronicle.v1.SeriesStackStrategy|null);

                            /** Series encode */
                            encode?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IEncode|null);

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

                            /** Series field */
                            field?: (string|null);

                            /** Series dataLabel */
                            dataLabel?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IDataLabel|null);

                            /** Series radius */
                            radius?: (string[]|null);

                            /** Series itemStyle */
                            itemStyle?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IItemStyle|null);

                            /** Series seriesUniqueValue */
                            seriesUniqueValue?: (string|null);

                            /** Series areaStyle */
                            areaStyle?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IAreaStyle|null);

                            /** Series itemColors */
                            itemColors?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IItemColors|null);

                            /** Series gaugeConfig */
                            gaugeConfig?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeConfig|null);

                            /** Series metricTrendConfig */
                            metricTrendConfig?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IMetricTrendConfig|null);
                        }

                        /** Represents a Series. */
                        class Series implements ISeries {

                            /**
                             * Constructs a new Series.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.ISeries);

                            /** Series seriesType. */
                            public seriesType: (google.cloud.chronicle.v1.SeriesType|keyof typeof google.cloud.chronicle.v1.SeriesType);

                            /** Series seriesName. */
                            public seriesName: string;

                            /** Series showSymbol. */
                            public showSymbol: boolean;

                            /** Series showBackground. */
                            public showBackground: boolean;

                            /** Series stack. */
                            public stack: string;

                            /** Series seriesStackStrategy. */
                            public seriesStackStrategy: (google.cloud.chronicle.v1.SeriesStackStrategy|keyof typeof google.cloud.chronicle.v1.SeriesStackStrategy);

                            /** Series encode. */
                            public encode?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IEncode|null);

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

                            /** Series field. */
                            public field: string;

                            /** Series dataLabel. */
                            public dataLabel?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IDataLabel|null);

                            /** Series radius. */
                            public radius: string[];

                            /** Series itemStyle. */
                            public itemStyle?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IItemStyle|null);

                            /** Series seriesUniqueValue. */
                            public seriesUniqueValue: string;

                            /** Series areaStyle. */
                            public areaStyle?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IAreaStyle|null);

                            /** Series itemColors. */
                            public itemColors?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IItemColors|null);

                            /** Series gaugeConfig. */
                            public gaugeConfig?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeConfig|null);

                            /** Series metricTrendConfig. */
                            public metricTrendConfig?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IMetricTrendConfig|null);

                            /**
                             * Creates a new Series instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Series instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.ISeries): google.cloud.chronicle.v1.DashboardChart.Visualization.Series;

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

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

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

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

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

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

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

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

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

                        namespace Series {

                            /** Properties of an Encode. */
                            interface IEncode {

                                /** Encode x */
                                x?: (string|null);

                                /** Encode y */
                                y?: (string|null);

                                /** Encode value */
                                value?: (string|null);

                                /** Encode itemName */
                                itemName?: (string|null);
                            }

                            /** Represents an Encode. */
                            class Encode implements IEncode {

                                /**
                                 * Constructs a new Encode.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IEncode);

                                /** Encode x. */
                                public x: string;

                                /** Encode y. */
                                public y: string;

                                /** Encode value. */
                                public value: string;

                                /** Encode itemName. */
                                public itemName: string;

                                /**
                                 * Creates a new Encode instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns Encode instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IEncode): google.cloud.chronicle.v1.DashboardChart.Visualization.Series.Encode;

                                /**
                                 * Encodes the specified Encode message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.Encode.verify|verify} messages.
                                 * @param message Encode message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IEncode, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified Encode message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.Encode.verify|verify} messages.
                                 * @param message Encode message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IEncode, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

                            /** Properties of a DataLabel. */
                            interface IDataLabel {

                                /** DataLabel show */
                                show?: (boolean|null);
                            }

                            /** Represents a DataLabel. */
                            class DataLabel implements IDataLabel {

                                /**
                                 * Constructs a new DataLabel.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IDataLabel);

                                /** DataLabel show. */
                                public show: boolean;

                                /**
                                 * Creates a new DataLabel instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns DataLabel instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IDataLabel): google.cloud.chronicle.v1.DashboardChart.Visualization.Series.DataLabel;

                                /**
                                 * Encodes the specified DataLabel message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.DataLabel.verify|verify} messages.
                                 * @param message DataLabel message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IDataLabel, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified DataLabel message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.DataLabel.verify|verify} messages.
                                 * @param message DataLabel message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IDataLabel, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                            /** Properties of an ItemStyle. */
                            interface IItemStyle {

                                /** ItemStyle borderWidth */
                                borderWidth?: (number|null);

                                /** ItemStyle borderColor */
                                borderColor?: (string|null);

                                /** ItemStyle color */
                                color?: (string|null);
                            }

                            /** Represents an ItemStyle. */
                            class ItemStyle implements IItemStyle {

                                /**
                                 * Constructs a new ItemStyle.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IItemStyle);

                                /** ItemStyle borderWidth. */
                                public borderWidth: number;

                                /** ItemStyle borderColor. */
                                public borderColor: string;

                                /** ItemStyle color. */
                                public color: string;

                                /**
                                 * Creates a new ItemStyle instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns ItemStyle instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IItemStyle): google.cloud.chronicle.v1.DashboardChart.Visualization.Series.ItemStyle;

                                /**
                                 * Encodes the specified ItemStyle message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.ItemStyle.verify|verify} messages.
                                 * @param message ItemStyle message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IItemStyle, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified ItemStyle message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.ItemStyle.verify|verify} messages.
                                 * @param message ItemStyle message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IItemStyle, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

                            /** Properties of an AreaStyle. */
                            interface IAreaStyle {

                                /** AreaStyle color */
                                color?: (string|null);

                                /** AreaStyle origin */
                                origin?: (string|null);

                                /** AreaStyle shadowBlur */
                                shadowBlur?: (number|null);

                                /** AreaStyle shadowColor */
                                shadowColor?: (string|null);

                                /** AreaStyle shadowOffsetX */
                                shadowOffsetX?: (number|null);

                                /** AreaStyle shadowOffsetY */
                                shadowOffsetY?: (number|null);

                                /** AreaStyle opacity */
                                opacity?: (number|null);
                            }

                            /** Represents an AreaStyle. */
                            class AreaStyle implements IAreaStyle {

                                /**
                                 * Constructs a new AreaStyle.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IAreaStyle);

                                /** AreaStyle color. */
                                public color: string;

                                /** AreaStyle origin. */
                                public origin: string;

                                /** AreaStyle shadowBlur. */
                                public shadowBlur: number;

                                /** AreaStyle shadowColor. */
                                public shadowColor: string;

                                /** AreaStyle shadowOffsetX. */
                                public shadowOffsetX: number;

                                /** AreaStyle shadowOffsetY. */
                                public shadowOffsetY: number;

                                /** AreaStyle opacity. */
                                public opacity: number;

                                /**
                                 * Creates a new AreaStyle instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns AreaStyle instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IAreaStyle): google.cloud.chronicle.v1.DashboardChart.Visualization.Series.AreaStyle;

                                /**
                                 * Encodes the specified AreaStyle message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.AreaStyle.verify|verify} messages.
                                 * @param message AreaStyle message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IAreaStyle, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified AreaStyle message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.AreaStyle.verify|verify} messages.
                                 * @param message AreaStyle message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IAreaStyle, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

                            /** Properties of a UserSelectedValues. */
                            interface IUserSelectedValues {

                                /** UserSelectedValues color */
                                color?: (string|null);

                                /** UserSelectedValues label */
                                label?: (string|null);
                            }

                            /** Represents a UserSelectedValues. */
                            class UserSelectedValues implements IUserSelectedValues {

                                /**
                                 * Constructs a new UserSelectedValues.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IUserSelectedValues);

                                /** UserSelectedValues color. */
                                public color: string;

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

                                /**
                                 * Creates a new UserSelectedValues instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns UserSelectedValues instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IUserSelectedValues): google.cloud.chronicle.v1.DashboardChart.Visualization.Series.UserSelectedValues;

                                /**
                                 * Encodes the specified UserSelectedValues message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.UserSelectedValues.verify|verify} messages.
                                 * @param message UserSelectedValues message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IUserSelectedValues, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified UserSelectedValues message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.UserSelectedValues.verify|verify} messages.
                                 * @param message UserSelectedValues message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IUserSelectedValues, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                            /** Properties of a ChartSliceColor. */
                            interface IChartSliceColor {

                                /** ChartSliceColor key */
                                key?: (string|null);

                                /** ChartSliceColor value */
                                value?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IUserSelectedValues|null);
                            }

                            /** Represents a ChartSliceColor. */
                            class ChartSliceColor implements IChartSliceColor {

                                /**
                                 * Constructs a new ChartSliceColor.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IChartSliceColor);

                                /** ChartSliceColor key. */
                                public key: string;

                                /** ChartSliceColor value. */
                                public value?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IUserSelectedValues|null);

                                /**
                                 * Creates a new ChartSliceColor instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns ChartSliceColor instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IChartSliceColor): google.cloud.chronicle.v1.DashboardChart.Visualization.Series.ChartSliceColor;

                                /**
                                 * Encodes the specified ChartSliceColor message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.ChartSliceColor.verify|verify} messages.
                                 * @param message ChartSliceColor message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IChartSliceColor, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified ChartSliceColor message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.ChartSliceColor.verify|verify} messages.
                                 * @param message ChartSliceColor message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IChartSliceColor, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                            /** Properties of an ItemColors. */
                            interface IItemColors {

                                /** ItemColors colors */
                                colors?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IChartSliceColor[]|null);
                            }

                            /** Represents an ItemColors. */
                            class ItemColors implements IItemColors {

                                /**
                                 * Constructs a new ItemColors.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IItemColors);

                                /** ItemColors colors. */
                                public colors: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IChartSliceColor[];

                                /**
                                 * Creates a new ItemColors instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns ItemColors instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IItemColors): google.cloud.chronicle.v1.DashboardChart.Visualization.Series.ItemColors;

                                /**
                                 * Encodes the specified ItemColors message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.ItemColors.verify|verify} messages.
                                 * @param message ItemColors message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IItemColors, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified ItemColors message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.ItemColors.verify|verify} messages.
                                 * @param message ItemColors message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IItemColors, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

                            /** Properties of a GaugeValue. */
                            interface IGaugeValue {

                                /** GaugeValue value */
                                value?: (number|null);

                                /** GaugeValue color */
                                color?: (string|null);
                            }

                            /** Represents a GaugeValue. */
                            class GaugeValue implements IGaugeValue {

                                /**
                                 * Constructs a new GaugeValue.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeValue);

                                /** GaugeValue value. */
                                public value: number;

                                /** GaugeValue color. */
                                public color: string;

                                /**
                                 * Creates a new GaugeValue instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns GaugeValue instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeValue): google.cloud.chronicle.v1.DashboardChart.Visualization.Series.GaugeValue;

                                /**
                                 * Encodes the specified GaugeValue message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.GaugeValue.verify|verify} messages.
                                 * @param message GaugeValue message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeValue, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified GaugeValue message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.GaugeValue.verify|verify} messages.
                                 * @param message GaugeValue message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeValue, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                            /** Properties of a GaugeConfig. */
                            interface IGaugeConfig {

                                /** GaugeConfig baseValue */
                                baseValue?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeValue|null);

                                /** GaugeConfig limitValue */
                                limitValue?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeValue|null);

                                /** GaugeConfig thresholdValues */
                                thresholdValues?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeValue[]|null);
                            }

                            /** Represents a GaugeConfig. */
                            class GaugeConfig implements IGaugeConfig {

                                /**
                                 * Constructs a new GaugeConfig.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeConfig);

                                /** GaugeConfig baseValue. */
                                public baseValue?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeValue|null);

                                /** GaugeConfig limitValue. */
                                public limitValue?: (google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeValue|null);

                                /** GaugeConfig thresholdValues. */
                                public thresholdValues: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeValue[];

                                /**
                                 * Creates a new GaugeConfig instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns GaugeConfig instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeConfig): google.cloud.chronicle.v1.DashboardChart.Visualization.Series.GaugeConfig;

                                /**
                                 * Encodes the specified GaugeConfig message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.GaugeConfig.verify|verify} messages.
                                 * @param message GaugeConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified GaugeConfig message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.GaugeConfig.verify|verify} messages.
                                 * @param message GaugeConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IGaugeConfig, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                            /** Properties of a MetricTrendConfig. */
                            interface IMetricTrendConfig {

                                /** MetricTrendConfig metricFormat */
                                metricFormat?: (google.cloud.chronicle.v1.MetricFormat|keyof typeof google.cloud.chronicle.v1.MetricFormat|null);

                                /** MetricTrendConfig showMetricTrend */
                                showMetricTrend?: (boolean|null);

                                /** MetricTrendConfig metricDisplayTrend */
                                metricDisplayTrend?: (google.cloud.chronicle.v1.MetricDisplayTrend|keyof typeof google.cloud.chronicle.v1.MetricDisplayTrend|null);

                                /** MetricTrendConfig metricTrendType */
                                metricTrendType?: (google.cloud.chronicle.v1.MetricTrendType|keyof typeof google.cloud.chronicle.v1.MetricTrendType|null);
                            }

                            /** Represents a MetricTrendConfig. */
                            class MetricTrendConfig implements IMetricTrendConfig {

                                /**
                                 * Constructs a new MetricTrendConfig.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IMetricTrendConfig);

                                /** MetricTrendConfig metricFormat. */
                                public metricFormat: (google.cloud.chronicle.v1.MetricFormat|keyof typeof google.cloud.chronicle.v1.MetricFormat);

                                /** MetricTrendConfig showMetricTrend. */
                                public showMetricTrend: boolean;

                                /** MetricTrendConfig metricDisplayTrend. */
                                public metricDisplayTrend: (google.cloud.chronicle.v1.MetricDisplayTrend|keyof typeof google.cloud.chronicle.v1.MetricDisplayTrend);

                                /** MetricTrendConfig metricTrendType. */
                                public metricTrendType: (google.cloud.chronicle.v1.MetricTrendType|keyof typeof google.cloud.chronicle.v1.MetricTrendType);

                                /**
                                 * Creates a new MetricTrendConfig instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns MetricTrendConfig instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IMetricTrendConfig): google.cloud.chronicle.v1.DashboardChart.Visualization.Series.MetricTrendConfig;

                                /**
                                 * Encodes the specified MetricTrendConfig message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.MetricTrendConfig.verify|verify} messages.
                                 * @param message MetricTrendConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IMetricTrendConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified MetricTrendConfig message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.Series.MetricTrendConfig.verify|verify} messages.
                                 * @param message MetricTrendConfig message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.Visualization.Series.IMetricTrendConfig, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                        /** Properties of a Tooltip. */
                        interface ITooltip {

                            /** Tooltip show */
                            show?: (boolean|null);

                            /** Tooltip tooltipTrigger */
                            tooltipTrigger?: (google.cloud.chronicle.v1.ToolTipTrigger|keyof typeof google.cloud.chronicle.v1.ToolTipTrigger|null);
                        }

                        /** Represents a Tooltip. */
                        class Tooltip implements ITooltip {

                            /**
                             * Constructs a new Tooltip.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.ITooltip);

                            /** Tooltip show. */
                            public show: boolean;

                            /** Tooltip tooltipTrigger. */
                            public tooltipTrigger: (google.cloud.chronicle.v1.ToolTipTrigger|keyof typeof google.cloud.chronicle.v1.ToolTipTrigger);

                            /**
                             * Creates a new Tooltip instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Tooltip instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.ITooltip): google.cloud.chronicle.v1.DashboardChart.Visualization.Tooltip;

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

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

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

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

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

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

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

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

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

                        /** Properties of a Legend. */
                        interface ILegend {

                            /** Legend id */
                            id?: (string|null);

                            /** Legend show */
                            show?: (boolean|null);

                            /** Legend zLevel */
                            zLevel?: (number|null);

                            /** Legend z */
                            z?: (number|null);

                            /** Legend left */
                            left?: (number|null);

                            /** Legend top */
                            top?: (number|null);

                            /** Legend right */
                            right?: (number|null);

                            /** Legend bottom */
                            bottom?: (number|null);

                            /** Legend legendOrient */
                            legendOrient?: (google.cloud.chronicle.v1.LegendOrient|keyof typeof google.cloud.chronicle.v1.LegendOrient|null);

                            /** Legend legendAlign */
                            legendAlign?: (google.cloud.chronicle.v1.LegendAlign|keyof typeof google.cloud.chronicle.v1.LegendAlign|null);

                            /** Legend padding */
                            padding?: (number[]|null);
                        }

                        /** Represents a Legend. */
                        class Legend implements ILegend {

                            /**
                             * Constructs a new Legend.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.ILegend);

                            /** Legend id. */
                            public id: string;

                            /** Legend show. */
                            public show: boolean;

                            /** Legend zLevel. */
                            public zLevel: number;

                            /** Legend z. */
                            public z: number;

                            /** Legend left. */
                            public left: number;

                            /** Legend top. */
                            public top: number;

                            /** Legend right. */
                            public right: number;

                            /** Legend bottom. */
                            public bottom: number;

                            /** Legend legendOrient. */
                            public legendOrient: (google.cloud.chronicle.v1.LegendOrient|keyof typeof google.cloud.chronicle.v1.LegendOrient);

                            /** Legend legendAlign. */
                            public legendAlign: (google.cloud.chronicle.v1.LegendAlign|keyof typeof google.cloud.chronicle.v1.LegendAlign);

                            /** Legend padding. */
                            public padding: number[];

                            /**
                             * Creates a new Legend instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Legend instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.ILegend): google.cloud.chronicle.v1.DashboardChart.Visualization.Legend;

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

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

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

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

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

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

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

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

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

                        /** Properties of a ColumnDef. */
                        interface IColumnDef {

                            /** ColumnDef field */
                            field?: (string|null);

                            /** ColumnDef header */
                            header?: (string|null);
                        }

                        /** Represents a ColumnDef. */
                        class ColumnDef implements IColumnDef {

                            /**
                             * Constructs a new ColumnDef.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.IColumnDef);

                            /** ColumnDef field. */
                            public field: string;

                            /** ColumnDef header. */
                            public header: string;

                            /**
                             * Creates a new ColumnDef instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ColumnDef instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.IColumnDef): google.cloud.chronicle.v1.DashboardChart.Visualization.ColumnDef;

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

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

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

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

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

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

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

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

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

                        /** Properties of a ColumnRenderTypeSettings. */
                        interface IColumnRenderTypeSettings {

                            /** ColumnRenderTypeSettings field */
                            field?: (string|null);

                            /** ColumnRenderTypeSettings columnRenderType */
                            columnRenderType?: (google.cloud.chronicle.v1.RenderType|keyof typeof google.cloud.chronicle.v1.RenderType|null);
                        }

                        /** Represents a ColumnRenderTypeSettings. */
                        class ColumnRenderTypeSettings implements IColumnRenderTypeSettings {

                            /**
                             * Constructs a new ColumnRenderTypeSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.IColumnRenderTypeSettings);

                            /** ColumnRenderTypeSettings field. */
                            public field: string;

                            /** ColumnRenderTypeSettings columnRenderType. */
                            public columnRenderType: (google.cloud.chronicle.v1.RenderType|keyof typeof google.cloud.chronicle.v1.RenderType);

                            /**
                             * Creates a new ColumnRenderTypeSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ColumnRenderTypeSettings instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.IColumnRenderTypeSettings): google.cloud.chronicle.v1.DashboardChart.Visualization.ColumnRenderTypeSettings;

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

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

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

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

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

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

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

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

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

                        /** Properties of a ColumnTooltipSettings. */
                        interface IColumnTooltipSettings {

                            /** ColumnTooltipSettings field */
                            field?: (string|null);

                            /** ColumnTooltipSettings headerTooltipText */
                            headerTooltipText?: (string|null);

                            /** ColumnTooltipSettings cellTooltipText */
                            cellTooltipText?: (string|null);
                        }

                        /** Represents a ColumnTooltipSettings. */
                        class ColumnTooltipSettings implements IColumnTooltipSettings {

                            /**
                             * Constructs a new ColumnTooltipSettings.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.IColumnTooltipSettings);

                            /** ColumnTooltipSettings field. */
                            public field: string;

                            /** ColumnTooltipSettings headerTooltipText. */
                            public headerTooltipText: string;

                            /** ColumnTooltipSettings cellTooltipText. */
                            public cellTooltipText: string;

                            /**
                             * Creates a new ColumnTooltipSettings instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ColumnTooltipSettings instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.IColumnTooltipSettings): google.cloud.chronicle.v1.DashboardChart.Visualization.ColumnTooltipSettings;

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

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

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

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

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

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

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

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

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

                        /** Properties of a TableConfig. */
                        interface ITableConfig {

                            /** TableConfig enableTextWrap */
                            enableTextWrap?: (boolean|null);

                            /** TableConfig columnRenderTypeSettings */
                            columnRenderTypeSettings?: (google.cloud.chronicle.v1.DashboardChart.Visualization.IColumnRenderTypeSettings[]|null);

                            /** TableConfig columnTooltipSettings */
                            columnTooltipSettings?: (google.cloud.chronicle.v1.DashboardChart.Visualization.IColumnTooltipSettings[]|null);
                        }

                        /** Represents a TableConfig. */
                        class TableConfig implements ITableConfig {

                            /**
                             * Constructs a new TableConfig.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.ITableConfig);

                            /** TableConfig enableTextWrap. */
                            public enableTextWrap: boolean;

                            /** TableConfig columnRenderTypeSettings. */
                            public columnRenderTypeSettings: google.cloud.chronicle.v1.DashboardChart.Visualization.IColumnRenderTypeSettings[];

                            /** TableConfig columnTooltipSettings. */
                            public columnTooltipSettings: google.cloud.chronicle.v1.DashboardChart.Visualization.IColumnTooltipSettings[];

                            /**
                             * Creates a new TableConfig instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns TableConfig instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.ITableConfig): google.cloud.chronicle.v1.DashboardChart.Visualization.TableConfig;

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

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

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

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

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

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

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

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

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

                        /** Properties of a GoogleMapsConfig. */
                        interface IGoogleMapsConfig {

                            /** GoogleMapsConfig dataSettings */
                            dataSettings?: (google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IDataSettings|null);

                            /** GoogleMapsConfig plotMode */
                            plotMode?: (google.cloud.chronicle.v1.PlotMode|keyof typeof google.cloud.chronicle.v1.PlotMode|null);

                            /** GoogleMapsConfig mapPosition */
                            mapPosition?: (google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IMapPosition|null);

                            /** GoogleMapsConfig pointSettings */
                            pointSettings?: (google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IPointSettings|null);
                        }

                        /** Represents a GoogleMapsConfig. */
                        class GoogleMapsConfig implements IGoogleMapsConfig {

                            /**
                             * Constructs a new GoogleMapsConfig.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.IGoogleMapsConfig);

                            /** GoogleMapsConfig dataSettings. */
                            public dataSettings?: (google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IDataSettings|null);

                            /** GoogleMapsConfig plotMode. */
                            public plotMode: (google.cloud.chronicle.v1.PlotMode|keyof typeof google.cloud.chronicle.v1.PlotMode);

                            /** GoogleMapsConfig mapPosition. */
                            public mapPosition?: (google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IMapPosition|null);

                            /** GoogleMapsConfig pointSettings. */
                            public pointSettings?: (google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IPointSettings|null);

                            /**
                             * Creates a new GoogleMapsConfig instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns GoogleMapsConfig instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.IGoogleMapsConfig): google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig;

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

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

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

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

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

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

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

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

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

                        namespace GoogleMapsConfig {

                            /** Properties of a DataSettings. */
                            interface IDataSettings {

                                /** DataSettings latitudeColumn */
                                latitudeColumn?: (string|null);

                                /** DataSettings longitudeColumn */
                                longitudeColumn?: (string|null);

                                /** DataSettings countColumn */
                                countColumn?: (string|null);
                            }

                            /** Represents a DataSettings. */
                            class DataSettings implements IDataSettings {

                                /**
                                 * Constructs a new DataSettings.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IDataSettings);

                                /** DataSettings latitudeColumn. */
                                public latitudeColumn: string;

                                /** DataSettings longitudeColumn. */
                                public longitudeColumn: string;

                                /** DataSettings countColumn. */
                                public countColumn: string;

                                /**
                                 * Creates a new DataSettings instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns DataSettings instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IDataSettings): google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.DataSettings;

                                /**
                                 * Encodes the specified DataSettings message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.DataSettings.verify|verify} messages.
                                 * @param message DataSettings message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IDataSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified DataSettings message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.DataSettings.verify|verify} messages.
                                 * @param message DataSettings message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IDataSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                            /** Properties of a MapPosition. */
                            interface IMapPosition {

                                /** MapPosition fitData */
                                fitData?: (boolean|null);

                                /** MapPosition latitudeValue */
                                latitudeValue?: (number|null);

                                /** MapPosition longitudeValue */
                                longitudeValue?: (number|null);

                                /** MapPosition zoomScaleValue */
                                zoomScaleValue?: (number|null);
                            }

                            /** Represents a MapPosition. */
                            class MapPosition implements IMapPosition {

                                /**
                                 * Constructs a new MapPosition.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IMapPosition);

                                /** MapPosition fitData. */
                                public fitData: boolean;

                                /** MapPosition latitudeValue. */
                                public latitudeValue: number;

                                /** MapPosition longitudeValue. */
                                public longitudeValue: number;

                                /** MapPosition zoomScaleValue. */
                                public zoomScaleValue: number;

                                /**
                                 * Creates a new MapPosition instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns MapPosition instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IMapPosition): google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.MapPosition;

                                /**
                                 * Encodes the specified MapPosition message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.MapPosition.verify|verify} messages.
                                 * @param message MapPosition message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IMapPosition, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified MapPosition message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.MapPosition.verify|verify} messages.
                                 * @param message MapPosition message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IMapPosition, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                            /** Properties of a PointSettings. */
                            interface IPointSettings {

                                /** PointSettings pointSizeType */
                                pointSizeType?: (google.cloud.chronicle.v1.PointSizeType|keyof typeof google.cloud.chronicle.v1.PointSizeType|null);

                                /** PointSettings color */
                                color?: (string|null);
                            }

                            /** Represents a PointSettings. */
                            class PointSettings implements IPointSettings {

                                /**
                                 * Constructs a new PointSettings.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IPointSettings);

                                /** PointSettings pointSizeType. */
                                public pointSizeType: (google.cloud.chronicle.v1.PointSizeType|keyof typeof google.cloud.chronicle.v1.PointSizeType);

                                /** PointSettings color. */
                                public color: string;

                                /**
                                 * Creates a new PointSettings instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns PointSettings instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IPointSettings): google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.PointSettings;

                                /**
                                 * Encodes the specified PointSettings message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.PointSettings.verify|verify} messages.
                                 * @param message PointSettings message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IPointSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified PointSettings message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.PointSettings.verify|verify} messages.
                                 * @param message PointSettings message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.Visualization.GoogleMapsConfig.IPointSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                        /** Properties of a VisualMap. */
                        interface IVisualMap {

                            /** VisualMap visualMapType */
                            visualMapType?: (google.cloud.chronicle.v1.VisualMapType|keyof typeof google.cloud.chronicle.v1.VisualMapType|null);

                            /** VisualMap pieces */
                            pieces?: (google.cloud.chronicle.v1.DashboardChart.Visualization.VisualMap.IVisualMapPiece[]|null);
                        }

                        /** Represents a VisualMap. */
                        class VisualMap implements IVisualMap {

                            /**
                             * Constructs a new VisualMap.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.IVisualMap);

                            /** VisualMap visualMapType. */
                            public visualMapType: (google.cloud.chronicle.v1.VisualMapType|keyof typeof google.cloud.chronicle.v1.VisualMapType);

                            /** VisualMap pieces. */
                            public pieces: google.cloud.chronicle.v1.DashboardChart.Visualization.VisualMap.IVisualMapPiece[];

                            /**
                             * Creates a new VisualMap instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns VisualMap instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.IVisualMap): google.cloud.chronicle.v1.DashboardChart.Visualization.VisualMap;

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

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

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

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

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

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

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

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

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

                        namespace VisualMap {

                            /** Properties of a VisualMapPiece. */
                            interface IVisualMapPiece {

                                /** VisualMapPiece min */
                                min?: (number|Long|string|null);

                                /** VisualMapPiece max */
                                max?: (number|Long|string|null);

                                /** VisualMapPiece color */
                                color?: (string|null);

                                /** VisualMapPiece label */
                                label?: (string|null);
                            }

                            /** Represents a VisualMapPiece. */
                            class VisualMapPiece implements IVisualMapPiece {

                                /**
                                 * Constructs a new VisualMapPiece.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.VisualMap.IVisualMapPiece);

                                /** VisualMapPiece min. */
                                public min?: (number|Long|string|null);

                                /** VisualMapPiece max. */
                                public max?: (number|Long|string|null);

                                /** VisualMapPiece color. */
                                public color: string;

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

                                /**
                                 * Creates a new VisualMapPiece instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns VisualMapPiece instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.Visualization.VisualMap.IVisualMapPiece): google.cloud.chronicle.v1.DashboardChart.Visualization.VisualMap.VisualMapPiece;

                                /**
                                 * Encodes the specified VisualMapPiece message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.VisualMap.VisualMapPiece.verify|verify} messages.
                                 * @param message VisualMapPiece message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.Visualization.VisualMap.IVisualMapPiece, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified VisualMapPiece message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.Visualization.VisualMap.VisualMapPiece.verify|verify} messages.
                                 * @param message VisualMapPiece message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.Visualization.VisualMap.IVisualMapPiece, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                    /** Properties of a DrillDownConfig. */
                    interface IDrillDownConfig {

                        /** DrillDownConfig leftDrillDowns */
                        leftDrillDowns?: (google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.IDrillDown[]|null);

                        /** DrillDownConfig rightDrillDowns */
                        rightDrillDowns?: (google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.IDrillDown[]|null);
                    }

                    /** Represents a DrillDownConfig. */
                    class DrillDownConfig implements IDrillDownConfig {

                        /**
                         * Constructs a new DrillDownConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.DashboardChart.IDrillDownConfig);

                        /** DrillDownConfig leftDrillDowns. */
                        public leftDrillDowns: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.IDrillDown[];

                        /** DrillDownConfig rightDrillDowns. */
                        public rightDrillDowns: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.IDrillDown[];

                        /**
                         * Creates a new DrillDownConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns DrillDownConfig instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.DashboardChart.IDrillDownConfig): google.cloud.chronicle.v1.DashboardChart.DrillDownConfig;

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

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

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

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

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

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

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

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

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

                    namespace DrillDownConfig {

                        /** Properties of a DrillDown. */
                        interface IDrillDown {

                            /** DrillDown defaultSettings */
                            defaultSettings?: (google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.IDefaultDrillDownSettings|null);

                            /** DrillDown customSettings */
                            customSettings?: (google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.ICustomDrillDownSettings|null);

                            /** DrillDown id */
                            id?: (string|null);

                            /** DrillDown displayName */
                            displayName?: (string|null);
                        }

                        /** Represents a DrillDown. */
                        class DrillDown implements IDrillDown {

                            /**
                             * Constructs a new DrillDown.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.IDrillDown);

                            /** DrillDown defaultSettings. */
                            public defaultSettings?: (google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.IDefaultDrillDownSettings|null);

                            /** DrillDown customSettings. */
                            public customSettings?: (google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.ICustomDrillDownSettings|null);

                            /** DrillDown id. */
                            public id: string;

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

                            /** DrillDown settings. */
                            public settings?: ("defaultSettings"|"customSettings");

                            /**
                             * Creates a new DrillDown instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns DrillDown instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.IDrillDown): google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown;

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

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

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

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

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

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

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

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

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

                        namespace DrillDown {

                            /** Properties of a DefaultDrillDownSettings. */
                            interface IDefaultDrillDownSettings {

                                /** DefaultDrillDownSettings enabled */
                                enabled?: (boolean|null);
                            }

                            /** Represents a DefaultDrillDownSettings. */
                            class DefaultDrillDownSettings implements IDefaultDrillDownSettings {

                                /**
                                 * Constructs a new DefaultDrillDownSettings.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.IDefaultDrillDownSettings);

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

                                /**
                                 * Creates a new DefaultDrillDownSettings instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns DefaultDrillDownSettings instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.IDefaultDrillDownSettings): google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.DefaultDrillDownSettings;

                                /**
                                 * Encodes the specified DefaultDrillDownSettings message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.DefaultDrillDownSettings.verify|verify} messages.
                                 * @param message DefaultDrillDownSettings message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.IDefaultDrillDownSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified DefaultDrillDownSettings message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.DefaultDrillDownSettings.verify|verify} messages.
                                 * @param message DefaultDrillDownSettings message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.IDefaultDrillDownSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                            /** Properties of a CustomDrillDownSettings. */
                            interface ICustomDrillDownSettings {

                                /** CustomDrillDownSettings query */
                                query?: (google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownQuery|null);

                                /** CustomDrillDownSettings filter */
                                filter?: (google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownFilter|null);

                                /** CustomDrillDownSettings externalLink */
                                externalLink?: (google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownExternalLink|null);

                                /** CustomDrillDownSettings newTab */
                                newTab?: (boolean|null);

                                /** CustomDrillDownSettings leftClickColumn */
                                leftClickColumn?: (string|null);
                            }

                            /** Represents a CustomDrillDownSettings. */
                            class CustomDrillDownSettings implements ICustomDrillDownSettings {

                                /**
                                 * Constructs a new CustomDrillDownSettings.
                                 * @param [properties] Properties to set
                                 */
                                constructor(properties?: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.ICustomDrillDownSettings);

                                /** CustomDrillDownSettings query. */
                                public query?: (google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownQuery|null);

                                /** CustomDrillDownSettings filter. */
                                public filter?: (google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownFilter|null);

                                /** CustomDrillDownSettings externalLink. */
                                public externalLink?: (google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownExternalLink|null);

                                /** CustomDrillDownSettings newTab. */
                                public newTab: boolean;

                                /** CustomDrillDownSettings leftClickColumn. */
                                public leftClickColumn: string;

                                /** CustomDrillDownSettings action. */
                                public action?: ("query"|"filter"|"externalLink");

                                /**
                                 * Creates a new CustomDrillDownSettings instance using the specified properties.
                                 * @param [properties] Properties to set
                                 * @returns CustomDrillDownSettings instance
                                 */
                                public static create(properties?: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.ICustomDrillDownSettings): google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings;

                                /**
                                 * Encodes the specified CustomDrillDownSettings message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.verify|verify} messages.
                                 * @param message CustomDrillDownSettings message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encode(message: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.ICustomDrillDownSettings, writer?: $protobuf.Writer): $protobuf.Writer;

                                /**
                                 * Encodes the specified CustomDrillDownSettings message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.verify|verify} messages.
                                 * @param message CustomDrillDownSettings message or plain object to encode
                                 * @param [writer] Writer to encode to
                                 * @returns Writer
                                 */
                                public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.ICustomDrillDownSettings, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

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

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

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

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

                            namespace CustomDrillDownSettings {

                                /** Properties of a DrillDownQuery. */
                                interface IDrillDownQuery {

                                    /** DrillDownQuery query */
                                    query?: (string|null);
                                }

                                /** Represents a DrillDownQuery. */
                                class DrillDownQuery implements IDrillDownQuery {

                                    /**
                                     * Constructs a new DrillDownQuery.
                                     * @param [properties] Properties to set
                                     */
                                    constructor(properties?: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownQuery);

                                    /** DrillDownQuery query. */
                                    public query: string;

                                    /**
                                     * Creates a new DrillDownQuery instance using the specified properties.
                                     * @param [properties] Properties to set
                                     * @returns DrillDownQuery instance
                                     */
                                    public static create(properties?: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownQuery): google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownQuery;

                                    /**
                                     * Encodes the specified DrillDownQuery message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownQuery.verify|verify} messages.
                                     * @param message DrillDownQuery message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encode(message: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownQuery, writer?: $protobuf.Writer): $protobuf.Writer;

                                    /**
                                     * Encodes the specified DrillDownQuery message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownQuery.verify|verify} messages.
                                     * @param message DrillDownQuery message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownQuery, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                                    /**
                                     * Creates a DrillDownQuery message from a plain object. Also converts values to their respective internal types.
                                     * @param object Plain object
                                     * @returns DrillDownQuery
                                     */
                                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownQuery;

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

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

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

                                /** Properties of a DrillDownFilter. */
                                interface IDrillDownFilter {

                                    /** DrillDownFilter dashboardFilters */
                                    dashboardFilters?: (google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownFilter.IDrillDownDashboardFilter[]|null);
                                }

                                /** Represents a DrillDownFilter. */
                                class DrillDownFilter implements IDrillDownFilter {

                                    /**
                                     * Constructs a new DrillDownFilter.
                                     * @param [properties] Properties to set
                                     */
                                    constructor(properties?: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownFilter);

                                    /** DrillDownFilter dashboardFilters. */
                                    public dashboardFilters: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownFilter.IDrillDownDashboardFilter[];

                                    /**
                                     * Creates a new DrillDownFilter instance using the specified properties.
                                     * @param [properties] Properties to set
                                     * @returns DrillDownFilter instance
                                     */
                                    public static create(properties?: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownFilter): google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownFilter;

                                    /**
                                     * Encodes the specified DrillDownFilter message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownFilter.verify|verify} messages.
                                     * @param message DrillDownFilter message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encode(message: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownFilter, writer?: $protobuf.Writer): $protobuf.Writer;

                                    /**
                                     * Encodes the specified DrillDownFilter message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownFilter.verify|verify} messages.
                                     * @param message DrillDownFilter message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownFilter, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                                    /**
                                     * Creates a DrillDownFilter message from a plain object. Also converts values to their respective internal types.
                                     * @param object Plain object
                                     * @returns DrillDownFilter
                                     */
                                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownFilter;

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

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

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

                                namespace DrillDownFilter {

                                    /** Properties of a DrillDownDashboardFilter. */
                                    interface IDrillDownDashboardFilter {

                                        /** DrillDownDashboardFilter dashboardFilterId */
                                        dashboardFilterId?: (string|null);

                                        /** DrillDownDashboardFilter filterOperatorAndValues */
                                        filterOperatorAndValues?: (google.cloud.chronicle.v1.IFilterOperatorAndValues[]|null);
                                    }

                                    /** Represents a DrillDownDashboardFilter. */
                                    class DrillDownDashboardFilter implements IDrillDownDashboardFilter {

                                        /**
                                         * Constructs a new DrillDownDashboardFilter.
                                         * @param [properties] Properties to set
                                         */
                                        constructor(properties?: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownFilter.IDrillDownDashboardFilter);

                                        /** DrillDownDashboardFilter dashboardFilterId. */
                                        public dashboardFilterId: string;

                                        /** DrillDownDashboardFilter filterOperatorAndValues. */
                                        public filterOperatorAndValues: google.cloud.chronicle.v1.IFilterOperatorAndValues[];

                                        /**
                                         * Creates a new DrillDownDashboardFilter instance using the specified properties.
                                         * @param [properties] Properties to set
                                         * @returns DrillDownDashboardFilter instance
                                         */
                                        public static create(properties?: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownFilter.IDrillDownDashboardFilter): google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownFilter.DrillDownDashboardFilter;

                                        /**
                                         * Encodes the specified DrillDownDashboardFilter message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownFilter.DrillDownDashboardFilter.verify|verify} messages.
                                         * @param message DrillDownDashboardFilter message or plain object to encode
                                         * @param [writer] Writer to encode to
                                         * @returns Writer
                                         */
                                        public static encode(message: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownFilter.IDrillDownDashboardFilter, writer?: $protobuf.Writer): $protobuf.Writer;

                                        /**
                                         * Encodes the specified DrillDownDashboardFilter message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownFilter.DrillDownDashboardFilter.verify|verify} messages.
                                         * @param message DrillDownDashboardFilter message or plain object to encode
                                         * @param [writer] Writer to encode to
                                         * @returns Writer
                                         */
                                        public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownFilter.IDrillDownDashboardFilter, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                                        /**
                                         * Creates a DrillDownDashboardFilter message from a plain object. Also converts values to their respective internal types.
                                         * @param object Plain object
                                         * @returns DrillDownDashboardFilter
                                         */
                                        public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownFilter.DrillDownDashboardFilter;

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

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

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

                                /** Properties of a DrillDownExternalLink. */
                                interface IDrillDownExternalLink {

                                    /** DrillDownExternalLink link */
                                    link?: (string|null);

                                    /** DrillDownExternalLink description */
                                    description?: (string|null);
                                }

                                /** Represents a DrillDownExternalLink. */
                                class DrillDownExternalLink implements IDrillDownExternalLink {

                                    /**
                                     * Constructs a new DrillDownExternalLink.
                                     * @param [properties] Properties to set
                                     */
                                    constructor(properties?: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownExternalLink);

                                    /** DrillDownExternalLink link. */
                                    public link: string;

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

                                    /**
                                     * Creates a new DrillDownExternalLink instance using the specified properties.
                                     * @param [properties] Properties to set
                                     * @returns DrillDownExternalLink instance
                                     */
                                    public static create(properties?: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownExternalLink): google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownExternalLink;

                                    /**
                                     * Encodes the specified DrillDownExternalLink message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownExternalLink.verify|verify} messages.
                                     * @param message DrillDownExternalLink message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encode(message: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownExternalLink, writer?: $protobuf.Writer): $protobuf.Writer;

                                    /**
                                     * Encodes the specified DrillDownExternalLink message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownExternalLink.verify|verify} messages.
                                     * @param message DrillDownExternalLink message or plain object to encode
                                     * @param [writer] Writer to encode to
                                     * @returns Writer
                                     */
                                    public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.IDrillDownExternalLink, writer?: $protobuf.Writer): $protobuf.Writer;

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

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

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

                                    /**
                                     * Creates a DrillDownExternalLink message from a plain object. Also converts values to their respective internal types.
                                     * @param object Plain object
                                     * @returns DrillDownExternalLink
                                     */
                                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DashboardChart.DrillDownConfig.DrillDown.CustomDrillDownSettings.DrillDownExternalLink;

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

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

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

                /** Properties of a Button. */
                interface IButton {

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

                    /** Button hyperlink */
                    hyperlink?: (string|null);

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

                    /** Button newTab */
                    newTab?: (boolean|null);

                    /** Button properties */
                    properties?: (google.cloud.chronicle.v1.Button.IProperties|null);
                }

                /** Represents a Button. */
                class Button implements IButton {

                    /**
                     * Constructs a new Button.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IButton);

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

                    /** Button hyperlink. */
                    public hyperlink: string;

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

                    /** Button newTab. */
                    public newTab: boolean;

                    /** Button properties. */
                    public properties?: (google.cloud.chronicle.v1.Button.IProperties|null);

                    /**
                     * Creates a new Button instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Button instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IButton): google.cloud.chronicle.v1.Button;

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

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

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

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

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

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

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

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

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

                namespace Button {

                    /** Properties of a Properties. */
                    interface IProperties {

                        /** Properties color */
                        color?: (string|null);

                        /** Properties buttonStyle */
                        buttonStyle?: (google.cloud.chronicle.v1.ButtonStyle|keyof typeof google.cloud.chronicle.v1.ButtonStyle|null);
                    }

                    /** Represents a Properties. */
                    class Properties implements IProperties {

                        /**
                         * Constructs a new Properties.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.Button.IProperties);

                        /** Properties color. */
                        public color: string;

                        /** Properties buttonStyle. */
                        public buttonStyle: (google.cloud.chronicle.v1.ButtonStyle|keyof typeof google.cloud.chronicle.v1.ButtonStyle);

                        /**
                         * Creates a new Properties instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Properties instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.Button.IProperties): google.cloud.chronicle.v1.Button.Properties;

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

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

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

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

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

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

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

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

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

                /** Properties of a Markdown. */
                interface IMarkdown {

                    /** Markdown content */
                    content?: (string|null);

                    /** Markdown properties */
                    properties?: (google.cloud.chronicle.v1.Markdown.IMarkdownProperties|null);
                }

                /** Represents a Markdown. */
                class Markdown implements IMarkdown {

                    /**
                     * Constructs a new Markdown.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IMarkdown);

                    /** Markdown content. */
                    public content: string;

                    /** Markdown properties. */
                    public properties?: (google.cloud.chronicle.v1.Markdown.IMarkdownProperties|null);

                    /**
                     * Creates a new Markdown instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Markdown instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IMarkdown): google.cloud.chronicle.v1.Markdown;

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

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

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

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

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

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

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

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

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

                namespace Markdown {

                    /** Properties of a MarkdownProperties. */
                    interface IMarkdownProperties {

                        /** MarkdownProperties backgroundColor */
                        backgroundColor?: (string|null);
                    }

                    /** Represents a MarkdownProperties. */
                    class MarkdownProperties implements IMarkdownProperties {

                        /**
                         * Constructs a new MarkdownProperties.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.Markdown.IMarkdownProperties);

                        /** MarkdownProperties backgroundColor. */
                        public backgroundColor: string;

                        /**
                         * Creates a new MarkdownProperties instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns MarkdownProperties instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.Markdown.IMarkdownProperties): google.cloud.chronicle.v1.Markdown.MarkdownProperties;

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

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

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

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

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

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

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

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

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

                /** Properties of a GetDashboardChartRequest. */
                interface IGetDashboardChartRequest {

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

                /** Represents a GetDashboardChartRequest. */
                class GetDashboardChartRequest implements IGetDashboardChartRequest {

                    /**
                     * Constructs a new GetDashboardChartRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetDashboardChartRequest);

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

                    /**
                     * Creates a new GetDashboardChartRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetDashboardChartRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetDashboardChartRequest): google.cloud.chronicle.v1.GetDashboardChartRequest;

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

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

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

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

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

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

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

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

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

                /** Properties of a BatchGetDashboardChartsRequest. */
                interface IBatchGetDashboardChartsRequest {

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

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

                /** Represents a BatchGetDashboardChartsRequest. */
                class BatchGetDashboardChartsRequest implements IBatchGetDashboardChartsRequest {

                    /**
                     * Constructs a new BatchGetDashboardChartsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IBatchGetDashboardChartsRequest);

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

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

                    /**
                     * Creates a new BatchGetDashboardChartsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchGetDashboardChartsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IBatchGetDashboardChartsRequest): google.cloud.chronicle.v1.BatchGetDashboardChartsRequest;

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

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

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

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

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

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

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

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

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

                /** Properties of a BatchGetDashboardChartsResponse. */
                interface IBatchGetDashboardChartsResponse {

                    /** BatchGetDashboardChartsResponse dashboardCharts */
                    dashboardCharts?: (google.cloud.chronicle.v1.IDashboardChart[]|null);
                }

                /** Represents a BatchGetDashboardChartsResponse. */
                class BatchGetDashboardChartsResponse implements IBatchGetDashboardChartsResponse {

                    /**
                     * Constructs a new BatchGetDashboardChartsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IBatchGetDashboardChartsResponse);

                    /** BatchGetDashboardChartsResponse dashboardCharts. */
                    public dashboardCharts: google.cloud.chronicle.v1.IDashboardChart[];

                    /**
                     * Creates a new BatchGetDashboardChartsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BatchGetDashboardChartsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IBatchGetDashboardChartsResponse): google.cloud.chronicle.v1.BatchGetDashboardChartsResponse;

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

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

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

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

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

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

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

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

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

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

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

                    /**
                     * Calls GetDashboardQuery.
                     * @param request GetDashboardQueryRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DashboardQuery
                     */
                    public getDashboardQuery(request: google.cloud.chronicle.v1.IGetDashboardQueryRequest, callback: google.cloud.chronicle.v1.DashboardQueryService.GetDashboardQueryCallback): void;

                    /**
                     * Calls GetDashboardQuery.
                     * @param request GetDashboardQueryRequest message or plain object
                     * @returns Promise
                     */
                    public getDashboardQuery(request: google.cloud.chronicle.v1.IGetDashboardQueryRequest): Promise<google.cloud.chronicle.v1.DashboardQuery>;

                    /**
                     * Calls ExecuteDashboardQuery.
                     * @param request ExecuteDashboardQueryRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ExecuteDashboardQueryResponse
                     */
                    public executeDashboardQuery(request: google.cloud.chronicle.v1.IExecuteDashboardQueryRequest, callback: google.cloud.chronicle.v1.DashboardQueryService.ExecuteDashboardQueryCallback): void;

                    /**
                     * Calls ExecuteDashboardQuery.
                     * @param request ExecuteDashboardQueryRequest message or plain object
                     * @returns Promise
                     */
                    public executeDashboardQuery(request: google.cloud.chronicle.v1.IExecuteDashboardQueryRequest): Promise<google.cloud.chronicle.v1.ExecuteDashboardQueryResponse>;
                }

                namespace DashboardQueryService {

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DashboardQueryService|getDashboardQuery}.
                     * @param error Error, if any
                     * @param [response] DashboardQuery
                     */
                    type GetDashboardQueryCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DashboardQuery) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DashboardQueryService|executeDashboardQuery}.
                     * @param error Error, if any
                     * @param [response] ExecuteDashboardQueryResponse
                     */
                    type ExecuteDashboardQueryCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ExecuteDashboardQueryResponse) => void;
                }

                /** LanguageFeature enum. */
                enum LanguageFeature {
                    LANGUAGE_FEATURE_UNSPECIFIED = 0,
                    JOINS = 1,
                    STAGES = 2,
                    DATA_TABLES = 3
                }

                /** FilterOperator enum. */
                enum FilterOperator {
                    FILTER_OPERATOR_UNSPECIFIED = 0,
                    EQUAL = 1,
                    NOT_EQUAL = 2,
                    IN = 3,
                    GREATER_THAN = 4,
                    GREATER_THAN_OR_EQUAL_TO = 5,
                    LESS_THAN = 6,
                    LESS_THAN_OR_EQUAL_TO = 7,
                    BETWEEN = 8,
                    PAST = 9,
                    IS_NULL = 10,
                    IS_NOT_NULL = 11,
                    STARTS_WITH = 12,
                    ENDS_WITH = 13,
                    DOES_NOT_STARTS_WITH = 14,
                    DOES_NOT_ENDS_WITH = 15,
                    NOT_IN = 16,
                    CONTAINS = 17,
                    DOES_NOT_CONTAIN = 18
                }

                /** DataSource enum. */
                enum DataSource {
                    DATA_SOURCE_UNSPECIFIED = 0,
                    UDM = 1,
                    ENTITY = 2,
                    INGESTION_METRICS = 3,
                    RULE_DETECTIONS = 4,
                    RULESETS = 5,
                    GLOBAL = 6,
                    IOC_MATCHES = 7,
                    RULES = 8,
                    SOAR_CASES = 9,
                    SOAR_PLAYBOOKS = 10,
                    SOAR_CASE_HISTORY = 11,
                    DATA_TABLE = 12,
                    INVESTIGATION = 13,
                    INVESTIGATION_FEEDBACK = 14
                }

                /** TimeUnit enum. */
                enum TimeUnit {
                    TIME_UNIT_UNSPECIFIED = 0,
                    SECOND = 1,
                    MINUTE = 2,
                    HOUR = 3,
                    DAY = 4,
                    WEEK = 5,
                    MONTH = 6,
                    YEAR = 7
                }

                /** Properties of a DashboardQuery. */
                interface IDashboardQuery {

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

                    /** DashboardQuery query */
                    query?: (string|null);

                    /** DashboardQuery input */
                    input?: (google.cloud.chronicle.v1.DashboardQuery.IInput|null);

                    /** DashboardQuery dashboardChart */
                    dashboardChart?: (string|null);

                    /** DashboardQuery etag */
                    etag?: (string|null);
                }

                /** Represents a DashboardQuery. */
                class DashboardQuery implements IDashboardQuery {

                    /**
                     * Constructs a new DashboardQuery.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDashboardQuery);

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

                    /** DashboardQuery query. */
                    public query: string;

                    /** DashboardQuery input. */
                    public input?: (google.cloud.chronicle.v1.DashboardQuery.IInput|null);

                    /** DashboardQuery dashboardChart. */
                    public dashboardChart: string;

                    /** DashboardQuery etag. */
                    public etag: string;

                    /**
                     * Creates a new DashboardQuery instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DashboardQuery instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDashboardQuery): google.cloud.chronicle.v1.DashboardQuery;

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

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

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

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

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

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

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

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

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

                namespace DashboardQuery {

                    /** Properties of an Input. */
                    interface IInput {

                        /** Input timeWindow */
                        timeWindow?: (google.type.IInterval|null);

                        /** Input relativeTime */
                        relativeTime?: (google.cloud.chronicle.v1.DashboardQuery.Input.IRelativeTime|null);
                    }

                    /** Represents an Input. */
                    class Input implements IInput {

                        /**
                         * Constructs a new Input.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.DashboardQuery.IInput);

                        /** Input timeWindow. */
                        public timeWindow?: (google.type.IInterval|null);

                        /** Input relativeTime. */
                        public relativeTime?: (google.cloud.chronicle.v1.DashboardQuery.Input.IRelativeTime|null);

                        /** Input timeInput. */
                        public timeInput?: ("timeWindow"|"relativeTime");

                        /**
                         * Creates a new Input instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns Input instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.DashboardQuery.IInput): google.cloud.chronicle.v1.DashboardQuery.Input;

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

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

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

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

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

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

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

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

                    namespace Input {

                        /** Properties of a RelativeTime. */
                        interface IRelativeTime {

                            /** RelativeTime timeUnit */
                            timeUnit?: (google.cloud.chronicle.v1.TimeUnit|keyof typeof google.cloud.chronicle.v1.TimeUnit|null);

                            /** RelativeTime startTimeVal */
                            startTimeVal?: (number|Long|string|null);
                        }

                        /** Represents a RelativeTime. */
                        class RelativeTime implements IRelativeTime {

                            /**
                             * Constructs a new RelativeTime.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.DashboardQuery.Input.IRelativeTime);

                            /** RelativeTime timeUnit. */
                            public timeUnit: (google.cloud.chronicle.v1.TimeUnit|keyof typeof google.cloud.chronicle.v1.TimeUnit);

                            /** RelativeTime startTimeVal. */
                            public startTimeVal: (number|Long|string);

                            /**
                             * Creates a new RelativeTime instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns RelativeTime instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.DashboardQuery.Input.IRelativeTime): google.cloud.chronicle.v1.DashboardQuery.Input.RelativeTime;

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

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

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

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

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

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

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

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

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

                /** Properties of a GetDashboardQueryRequest. */
                interface IGetDashboardQueryRequest {

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

                /** Represents a GetDashboardQueryRequest. */
                class GetDashboardQueryRequest implements IGetDashboardQueryRequest {

                    /**
                     * Constructs a new GetDashboardQueryRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetDashboardQueryRequest);

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

                    /**
                     * Creates a new GetDashboardQueryRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetDashboardQueryRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetDashboardQueryRequest): google.cloud.chronicle.v1.GetDashboardQueryRequest;

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

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

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

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

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

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

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

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

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

                /** Properties of an ExecuteDashboardQueryRequest. */
                interface IExecuteDashboardQueryRequest {

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

                    /** ExecuteDashboardQueryRequest query */
                    query?: (google.cloud.chronicle.v1.IDashboardQuery|null);

                    /** ExecuteDashboardQueryRequest filters */
                    filters?: (google.cloud.chronicle.v1.IDashboardFilter[]|null);

                    /** ExecuteDashboardQueryRequest clearCache */
                    clearCache?: (boolean|null);

                    /** ExecuteDashboardQueryRequest usePreviousTimeRange */
                    usePreviousTimeRange?: (boolean|null);
                }

                /** Represents an ExecuteDashboardQueryRequest. */
                class ExecuteDashboardQueryRequest implements IExecuteDashboardQueryRequest {

                    /**
                     * Constructs a new ExecuteDashboardQueryRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IExecuteDashboardQueryRequest);

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

                    /** ExecuteDashboardQueryRequest query. */
                    public query?: (google.cloud.chronicle.v1.IDashboardQuery|null);

                    /** ExecuteDashboardQueryRequest filters. */
                    public filters: google.cloud.chronicle.v1.IDashboardFilter[];

                    /** ExecuteDashboardQueryRequest clearCache. */
                    public clearCache: boolean;

                    /** ExecuteDashboardQueryRequest usePreviousTimeRange. */
                    public usePreviousTimeRange: boolean;

                    /**
                     * Creates a new ExecuteDashboardQueryRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ExecuteDashboardQueryRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IExecuteDashboardQueryRequest): google.cloud.chronicle.v1.ExecuteDashboardQueryRequest;

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

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

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

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

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

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

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

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

                /** Properties of a QueryRuntimeError. */
                interface IQueryRuntimeError {

                    /** QueryRuntimeError errorTitle */
                    errorTitle?: (string|null);

                    /** QueryRuntimeError errorDescription */
                    errorDescription?: (string|null);

                    /** QueryRuntimeError errorSeverity */
                    errorSeverity?: (google.cloud.chronicle.v1.QueryRuntimeError.ErrorSeverity|keyof typeof google.cloud.chronicle.v1.QueryRuntimeError.ErrorSeverity|null);

                    /** QueryRuntimeError metadata */
                    metadata?: (google.cloud.chronicle.v1.QueryRuntimeError.IQueryRuntimeErrorMetadata[]|null);

                    /** QueryRuntimeError warningReason */
                    warningReason?: (google.cloud.chronicle.v1.QueryRuntimeError.WarningReason|keyof typeof google.cloud.chronicle.v1.QueryRuntimeError.WarningReason|null);
                }

                /** Represents a QueryRuntimeError. */
                class QueryRuntimeError implements IQueryRuntimeError {

                    /**
                     * Constructs a new QueryRuntimeError.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IQueryRuntimeError);

                    /** QueryRuntimeError errorTitle. */
                    public errorTitle: string;

                    /** QueryRuntimeError errorDescription. */
                    public errorDescription: string;

                    /** QueryRuntimeError errorSeverity. */
                    public errorSeverity: (google.cloud.chronicle.v1.QueryRuntimeError.ErrorSeverity|keyof typeof google.cloud.chronicle.v1.QueryRuntimeError.ErrorSeverity);

                    /** QueryRuntimeError metadata. */
                    public metadata: google.cloud.chronicle.v1.QueryRuntimeError.IQueryRuntimeErrorMetadata[];

                    /** QueryRuntimeError warningReason. */
                    public warningReason: (google.cloud.chronicle.v1.QueryRuntimeError.WarningReason|keyof typeof google.cloud.chronicle.v1.QueryRuntimeError.WarningReason);

                    /**
                     * Creates a new QueryRuntimeError instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns QueryRuntimeError instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IQueryRuntimeError): google.cloud.chronicle.v1.QueryRuntimeError;

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

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

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

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

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

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

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

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

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

                namespace QueryRuntimeError {

                    /** Properties of a QueryRuntimeErrorMetadata. */
                    interface IQueryRuntimeErrorMetadata {

                        /** QueryRuntimeErrorMetadata key */
                        key?: (google.cloud.chronicle.v1.QueryRuntimeError.MetadataKey|keyof typeof google.cloud.chronicle.v1.QueryRuntimeError.MetadataKey|null);

                        /** QueryRuntimeErrorMetadata value */
                        value?: (string|null);
                    }

                    /** Represents a QueryRuntimeErrorMetadata. */
                    class QueryRuntimeErrorMetadata implements IQueryRuntimeErrorMetadata {

                        /**
                         * Constructs a new QueryRuntimeErrorMetadata.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.QueryRuntimeError.IQueryRuntimeErrorMetadata);

                        /** QueryRuntimeErrorMetadata key. */
                        public key: (google.cloud.chronicle.v1.QueryRuntimeError.MetadataKey|keyof typeof google.cloud.chronicle.v1.QueryRuntimeError.MetadataKey);

                        /** QueryRuntimeErrorMetadata value. */
                        public value: string;

                        /**
                         * Creates a new QueryRuntimeErrorMetadata instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns QueryRuntimeErrorMetadata instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.QueryRuntimeError.IQueryRuntimeErrorMetadata): google.cloud.chronicle.v1.QueryRuntimeError.QueryRuntimeErrorMetadata;

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

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

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

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

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

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

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

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

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

                    /** ErrorSeverity enum. */
                    enum ErrorSeverity {
                        ERROR_SEVERITY_UNSPECIFIED = 0,
                        WARNING = 1,
                        SEVERE = 2
                    }

                    /** MetadataKey enum. */
                    enum MetadataKey {
                        METADATA_KEY_UNSPECIFIED = 0,
                        ROW_LIMIT = 1
                    }

                    /** WarningReason enum. */
                    enum WarningReason {
                        WARNING_REASON_UNSPECIFIED = 0,
                        ROW_LIMIT_EXCEEDED = 1,
                        DEFAULT_ROW_LIMIT_EXCEEDED = 2,
                        CURATED_QUERY_DEFAULT_ROW_LIMIT_EXCEEDED = 3
                    }
                }

                /** Properties of an ExecuteDashboardQueryResponse. */
                interface IExecuteDashboardQueryResponse {

                    /** ExecuteDashboardQueryResponse results */
                    results?: (google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.IColumnData[]|null);

                    /** ExecuteDashboardQueryResponse dataSources */
                    dataSources?: (google.cloud.chronicle.v1.DataSource[]|null);

                    /** ExecuteDashboardQueryResponse lastBackendCacheRefreshedTime */
                    lastBackendCacheRefreshedTime?: (google.protobuf.ITimestamp|null);

                    /** ExecuteDashboardQueryResponse timeWindow */
                    timeWindow?: (google.type.IInterval|null);

                    /** ExecuteDashboardQueryResponse queryRuntimeErrors */
                    queryRuntimeErrors?: (google.cloud.chronicle.v1.IQueryRuntimeError[]|null);

                    /** ExecuteDashboardQueryResponse languageFeatures */
                    languageFeatures?: (google.cloud.chronicle.v1.LanguageFeature[]|null);
                }

                /** Represents an ExecuteDashboardQueryResponse. */
                class ExecuteDashboardQueryResponse implements IExecuteDashboardQueryResponse {

                    /**
                     * Constructs a new ExecuteDashboardQueryResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IExecuteDashboardQueryResponse);

                    /** ExecuteDashboardQueryResponse results. */
                    public results: google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.IColumnData[];

                    /** ExecuteDashboardQueryResponse dataSources. */
                    public dataSources: google.cloud.chronicle.v1.DataSource[];

                    /** ExecuteDashboardQueryResponse lastBackendCacheRefreshedTime. */
                    public lastBackendCacheRefreshedTime?: (google.protobuf.ITimestamp|null);

                    /** ExecuteDashboardQueryResponse timeWindow. */
                    public timeWindow?: (google.type.IInterval|null);

                    /** ExecuteDashboardQueryResponse queryRuntimeErrors. */
                    public queryRuntimeErrors: google.cloud.chronicle.v1.IQueryRuntimeError[];

                    /** ExecuteDashboardQueryResponse languageFeatures. */
                    public languageFeatures: google.cloud.chronicle.v1.LanguageFeature[];

                    /**
                     * Creates a new ExecuteDashboardQueryResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ExecuteDashboardQueryResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IExecuteDashboardQueryResponse): google.cloud.chronicle.v1.ExecuteDashboardQueryResponse;

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

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

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

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

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

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

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

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

                namespace ExecuteDashboardQueryResponse {

                    /** Properties of a ColumnValue. */
                    interface IColumnValue {

                        /** ColumnValue nullVal */
                        nullVal?: (boolean|null);

                        /** ColumnValue boolVal */
                        boolVal?: (boolean|null);

                        /** ColumnValue bytesVal */
                        bytesVal?: (Uint8Array|Buffer|string|null);

                        /** ColumnValue doubleVal */
                        doubleVal?: (number|null);

                        /** ColumnValue int64Val */
                        int64Val?: (number|Long|string|null);

                        /** ColumnValue uint64Val */
                        uint64Val?: (number|Long|string|null);

                        /** ColumnValue stringVal */
                        stringVal?: (string|null);

                        /** ColumnValue timestampVal */
                        timestampVal?: (google.protobuf.ITimestamp|null);

                        /** ColumnValue dateVal */
                        dateVal?: (google.type.IDate|null);

                        /** ColumnValue protoVal */
                        protoVal?: (google.protobuf.IAny|null);

                        /** ColumnValue metadata */
                        metadata?: (google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.ColumnValue.IValueMetadata|null);
                    }

                    /** Represents a ColumnValue. */
                    class ColumnValue implements IColumnValue {

                        /**
                         * Constructs a new ColumnValue.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.IColumnValue);

                        /** ColumnValue nullVal. */
                        public nullVal?: (boolean|null);

                        /** ColumnValue boolVal. */
                        public boolVal?: (boolean|null);

                        /** ColumnValue bytesVal. */
                        public bytesVal?: (Uint8Array|Buffer|string|null);

                        /** ColumnValue doubleVal. */
                        public doubleVal?: (number|null);

                        /** ColumnValue int64Val. */
                        public int64Val?: (number|Long|string|null);

                        /** ColumnValue uint64Val. */
                        public uint64Val?: (number|Long|string|null);

                        /** ColumnValue stringVal. */
                        public stringVal?: (string|null);

                        /** ColumnValue timestampVal. */
                        public timestampVal?: (google.protobuf.ITimestamp|null);

                        /** ColumnValue dateVal. */
                        public dateVal?: (google.type.IDate|null);

                        /** ColumnValue protoVal. */
                        public protoVal?: (google.protobuf.IAny|null);

                        /** ColumnValue metadata. */
                        public metadata?: (google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.ColumnValue.IValueMetadata|null);

                        /** ColumnValue value. */
                        public value?: ("nullVal"|"boolVal"|"bytesVal"|"doubleVal"|"int64Val"|"uint64Val"|"stringVal"|"timestampVal"|"dateVal"|"protoVal");

                        /**
                         * Creates a new ColumnValue instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ColumnValue instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.IColumnValue): google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.ColumnValue;

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

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

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

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

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

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

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

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

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

                    namespace ColumnValue {

                        /** Properties of a ValueMetadata. */
                        interface IValueMetadata {

                            /** ValueMetadata links */
                            links?: (google.cloud.chronicle.v1.IInAppLink[]|null);

                            /** ValueMetadata fieldPaths */
                            fieldPaths?: (string[]|null);

                            /** ValueMetadata timestampVal */
                            timestampVal?: (google.protobuf.ITimestamp|null);
                        }

                        /** Represents a ValueMetadata. */
                        class ValueMetadata implements IValueMetadata {

                            /**
                             * Constructs a new ValueMetadata.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.ColumnValue.IValueMetadata);

                            /** ValueMetadata links. */
                            public links: google.cloud.chronicle.v1.IInAppLink[];

                            /** ValueMetadata fieldPaths. */
                            public fieldPaths: string[];

                            /** ValueMetadata timestampVal. */
                            public timestampVal?: (google.protobuf.ITimestamp|null);

                            /**
                             * Creates a new ValueMetadata instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ValueMetadata instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.ColumnValue.IValueMetadata): google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.ColumnValue.ValueMetadata;

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

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

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

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

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

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

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

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

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

                    /** Properties of a ColumnType. */
                    interface IColumnType {

                        /** ColumnType value */
                        value?: (google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.IColumnValue|null);

                        /** ColumnType list */
                        list?: (google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.ColumnType.IList|null);
                    }

                    /** Represents a ColumnType. */
                    class ColumnType implements IColumnType {

                        /**
                         * Constructs a new ColumnType.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.IColumnType);

                        /** ColumnType value. */
                        public value?: (google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.IColumnValue|null);

                        /** ColumnType list. */
                        public list?: (google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.ColumnType.IList|null);

                        /** ColumnType type. */
                        public type?: ("value"|"list");

                        /**
                         * Creates a new ColumnType instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ColumnType instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.IColumnType): google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.ColumnType;

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

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

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

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

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

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

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

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

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

                    namespace ColumnType {

                        /** Properties of a List. */
                        interface IList {

                            /** List values */
                            values?: (google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.IColumnValue[]|null);
                        }

                        /** Represents a List. */
                        class List implements IList {

                            /**
                             * Constructs a new List.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.ColumnType.IList);

                            /** List values. */
                            public values: google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.IColumnValue[];

                            /**
                             * Creates a new List instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns List instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.ColumnType.IList): google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.ColumnType.List;

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

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

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

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

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

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

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

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

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

                    /** Properties of a ColumnData. */
                    interface IColumnData {

                        /** ColumnData column */
                        column?: (string|null);

                        /** ColumnData values */
                        values?: (google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.IColumnType[]|null);

                        /** ColumnData metadata */
                        metadata?: (google.cloud.chronicle.v1.IColumnMetadata|null);
                    }

                    /** Represents a ColumnData. */
                    class ColumnData implements IColumnData {

                        /**
                         * Constructs a new ColumnData.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.IColumnData);

                        /** ColumnData column. */
                        public column: string;

                        /** ColumnData values. */
                        public values: google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.IColumnType[];

                        /** ColumnData metadata. */
                        public metadata?: (google.cloud.chronicle.v1.IColumnMetadata|null);

                        /**
                         * Creates a new ColumnData instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ColumnData instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.IColumnData): google.cloud.chronicle.v1.ExecuteDashboardQueryResponse.ColumnData;

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

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

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

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

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

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

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

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

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

                /** Properties of a DashboardFilter. */
                interface IDashboardFilter {

                    /** DashboardFilter id */
                    id?: (string|null);

                    /** DashboardFilter dataSource */
                    dataSource?: (google.cloud.chronicle.v1.DataSource|keyof typeof google.cloud.chronicle.v1.DataSource|null);

                    /** DashboardFilter fieldPath */
                    fieldPath?: (string|null);

                    /** DashboardFilter filterOperatorAndFieldValues */
                    filterOperatorAndFieldValues?: (google.cloud.chronicle.v1.IFilterOperatorAndValues[]|null);

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

                    /** DashboardFilter chartIds */
                    chartIds?: (string[]|null);

                    /** DashboardFilter isStandardTimeRangeFilter */
                    isStandardTimeRangeFilter?: (boolean|null);

                    /** DashboardFilter isMandatory */
                    isMandatory?: (boolean|null);

                    /** DashboardFilter isStandardTimeRangeFilterEnabled */
                    isStandardTimeRangeFilterEnabled?: (boolean|null);

                    /** DashboardFilter advancedFilterConfig */
                    advancedFilterConfig?: (google.cloud.chronicle.v1.IAdvancedFilterConfig|null);
                }

                /** Represents a DashboardFilter. */
                class DashboardFilter implements IDashboardFilter {

                    /**
                     * Constructs a new DashboardFilter.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDashboardFilter);

                    /** DashboardFilter id. */
                    public id: string;

                    /** DashboardFilter dataSource. */
                    public dataSource: (google.cloud.chronicle.v1.DataSource|keyof typeof google.cloud.chronicle.v1.DataSource);

                    /** DashboardFilter fieldPath. */
                    public fieldPath: string;

                    /** DashboardFilter filterOperatorAndFieldValues. */
                    public filterOperatorAndFieldValues: google.cloud.chronicle.v1.IFilterOperatorAndValues[];

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

                    /** DashboardFilter chartIds. */
                    public chartIds: string[];

                    /** DashboardFilter isStandardTimeRangeFilter. */
                    public isStandardTimeRangeFilter: boolean;

                    /** DashboardFilter isMandatory. */
                    public isMandatory: boolean;

                    /** DashboardFilter isStandardTimeRangeFilterEnabled. */
                    public isStandardTimeRangeFilterEnabled?: (boolean|null);

                    /** DashboardFilter advancedFilterConfig. */
                    public advancedFilterConfig?: (google.cloud.chronicle.v1.IAdvancedFilterConfig|null);

                    /**
                     * Creates a new DashboardFilter instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DashboardFilter instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDashboardFilter): google.cloud.chronicle.v1.DashboardFilter;

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

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

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

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

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

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

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

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

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

                /** Properties of a FilterOperatorAndValues. */
                interface IFilterOperatorAndValues {

                    /** FilterOperatorAndValues filterOperator */
                    filterOperator?: (google.cloud.chronicle.v1.FilterOperator|keyof typeof google.cloud.chronicle.v1.FilterOperator|null);

                    /** FilterOperatorAndValues fieldValues */
                    fieldValues?: (string[]|null);
                }

                /** Represents a FilterOperatorAndValues. */
                class FilterOperatorAndValues implements IFilterOperatorAndValues {

                    /**
                     * Constructs a new FilterOperatorAndValues.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IFilterOperatorAndValues);

                    /** FilterOperatorAndValues filterOperator. */
                    public filterOperator: (google.cloud.chronicle.v1.FilterOperator|keyof typeof google.cloud.chronicle.v1.FilterOperator);

                    /** FilterOperatorAndValues fieldValues. */
                    public fieldValues: string[];

                    /**
                     * Creates a new FilterOperatorAndValues instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns FilterOperatorAndValues instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IFilterOperatorAndValues): google.cloud.chronicle.v1.FilterOperatorAndValues;

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

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

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

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

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

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

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

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

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

                /** Properties of an AdvancedFilterConfig. */
                interface IAdvancedFilterConfig {

                    /** AdvancedFilterConfig token */
                    token?: (string|null);

                    /** AdvancedFilterConfig prefix */
                    prefix?: (string|null);

                    /** AdvancedFilterConfig suffix */
                    suffix?: (string|null);

                    /** AdvancedFilterConfig separator */
                    separator?: (string|null);

                    /** AdvancedFilterConfig multipleAllowed */
                    multipleAllowed?: (boolean|null);

                    /** AdvancedFilterConfig defaultValues */
                    defaultValues?: (string[]|null);

                    /** AdvancedFilterConfig skipDefaultAffixes */
                    skipDefaultAffixes?: (boolean|null);

                    /** AdvancedFilterConfig valueSource */
                    valueSource?: (google.cloud.chronicle.v1.AdvancedFilterConfig.IValueSource|null);
                }

                /** Represents an AdvancedFilterConfig. */
                class AdvancedFilterConfig implements IAdvancedFilterConfig {

                    /**
                     * Constructs a new AdvancedFilterConfig.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IAdvancedFilterConfig);

                    /** AdvancedFilterConfig token. */
                    public token: string;

                    /** AdvancedFilterConfig prefix. */
                    public prefix: string;

                    /** AdvancedFilterConfig suffix. */
                    public suffix: string;

                    /** AdvancedFilterConfig separator. */
                    public separator: string;

                    /** AdvancedFilterConfig multipleAllowed. */
                    public multipleAllowed: boolean;

                    /** AdvancedFilterConfig defaultValues. */
                    public defaultValues: string[];

                    /** AdvancedFilterConfig skipDefaultAffixes. */
                    public skipDefaultAffixes: boolean;

                    /** AdvancedFilterConfig valueSource. */
                    public valueSource?: (google.cloud.chronicle.v1.AdvancedFilterConfig.IValueSource|null);

                    /**
                     * Creates a new AdvancedFilterConfig instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AdvancedFilterConfig instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IAdvancedFilterConfig): google.cloud.chronicle.v1.AdvancedFilterConfig;

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

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

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

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

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

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

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

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

                namespace AdvancedFilterConfig {

                    /** Properties of a ValueSource. */
                    interface IValueSource {

                        /** ValueSource manualOptions */
                        manualOptions?: (google.cloud.chronicle.v1.AdvancedFilterConfig.IManualOptions|null);

                        /** ValueSource queryOptions */
                        queryOptions?: (google.cloud.chronicle.v1.AdvancedFilterConfig.IQueryOptions|null);
                    }

                    /** Represents a ValueSource. */
                    class ValueSource implements IValueSource {

                        /**
                         * Constructs a new ValueSource.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.AdvancedFilterConfig.IValueSource);

                        /** ValueSource manualOptions. */
                        public manualOptions?: (google.cloud.chronicle.v1.AdvancedFilterConfig.IManualOptions|null);

                        /** ValueSource queryOptions. */
                        public queryOptions?: (google.cloud.chronicle.v1.AdvancedFilterConfig.IQueryOptions|null);

                        /** ValueSource source. */
                        public source?: ("manualOptions"|"queryOptions");

                        /**
                         * Creates a new ValueSource instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ValueSource instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.AdvancedFilterConfig.IValueSource): google.cloud.chronicle.v1.AdvancedFilterConfig.ValueSource;

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

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

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

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

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

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

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

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

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

                    /** Properties of a ManualOptions. */
                    interface IManualOptions {

                        /** ManualOptions options */
                        options?: (string[]|null);
                    }

                    /** Represents a ManualOptions. */
                    class ManualOptions implements IManualOptions {

                        /**
                         * Constructs a new ManualOptions.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.AdvancedFilterConfig.IManualOptions);

                        /** ManualOptions options. */
                        public options: string[];

                        /**
                         * Creates a new ManualOptions instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ManualOptions instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.AdvancedFilterConfig.IManualOptions): google.cloud.chronicle.v1.AdvancedFilterConfig.ManualOptions;

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

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

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

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

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

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

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

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

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

                    /** Properties of a QueryOptions. */
                    interface IQueryOptions {

                        /** QueryOptions query */
                        query?: (string|null);

                        /** QueryOptions column */
                        column?: (string|null);

                        /** QueryOptions globalTimeFilterEnabled */
                        globalTimeFilterEnabled?: (boolean|null);

                        /** QueryOptions input */
                        input?: (google.cloud.chronicle.v1.DashboardQuery.IInput|null);
                    }

                    /** Represents a QueryOptions. */
                    class QueryOptions implements IQueryOptions {

                        /**
                         * Constructs a new QueryOptions.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.AdvancedFilterConfig.IQueryOptions);

                        /** QueryOptions query. */
                        public query: string;

                        /** QueryOptions column. */
                        public column: string;

                        /** QueryOptions globalTimeFilterEnabled. */
                        public globalTimeFilterEnabled: boolean;

                        /** QueryOptions input. */
                        public input?: (google.cloud.chronicle.v1.DashboardQuery.IInput|null);

                        /**
                         * Creates a new QueryOptions instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns QueryOptions instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.AdvancedFilterConfig.IQueryOptions): google.cloud.chronicle.v1.AdvancedFilterConfig.QueryOptions;

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

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

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

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

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

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

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

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

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

                /** Properties of an InAppLink. */
                interface IInAppLink {

                    /** InAppLink url */
                    url?: (string|null);

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

                    /** InAppLink iconUrl */
                    iconUrl?: (string|null);
                }

                /** Represents an InAppLink. */
                class InAppLink implements IInAppLink {

                    /**
                     * Constructs a new InAppLink.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IInAppLink);

                    /** InAppLink url. */
                    public url: string;

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

                    /** InAppLink iconUrl. */
                    public iconUrl: string;

                    /**
                     * Creates a new InAppLink instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns InAppLink instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IInAppLink): google.cloud.chronicle.v1.InAppLink;

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

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

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

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

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

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

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

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

                /** Properties of a ColumnMetadata. */
                interface IColumnMetadata {

                    /** ColumnMetadata column */
                    column?: (string|null);

                    /** ColumnMetadata fieldPath */
                    fieldPath?: (string|null);

                    /** ColumnMetadata functionName */
                    functionName?: (string|null);

                    /** ColumnMetadata functionModule */
                    functionModule?: (string|null);

                    /** ColumnMetadata dataSource */
                    dataSource?: (google.cloud.chronicle.v1.DataSource|keyof typeof google.cloud.chronicle.v1.DataSource|null);

                    /** ColumnMetadata timestampMetadata */
                    timestampMetadata?: (google.cloud.chronicle.v1.ITimestampMetadata|null);

                    /** ColumnMetadata longitude */
                    longitude?: (boolean|null);

                    /** ColumnMetadata latitude */
                    latitude?: (boolean|null);

                    /** ColumnMetadata selected */
                    selected?: (boolean|null);

                    /** ColumnMetadata unselected */
                    unselected?: (boolean|null);
                }

                /** Represents a ColumnMetadata. */
                class ColumnMetadata implements IColumnMetadata {

                    /**
                     * Constructs a new ColumnMetadata.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IColumnMetadata);

                    /** ColumnMetadata column. */
                    public column: string;

                    /** ColumnMetadata fieldPath. */
                    public fieldPath: string;

                    /** ColumnMetadata functionName. */
                    public functionName: string;

                    /** ColumnMetadata functionModule. */
                    public functionModule: string;

                    /** ColumnMetadata dataSource. */
                    public dataSource: (google.cloud.chronicle.v1.DataSource|keyof typeof google.cloud.chronicle.v1.DataSource);

                    /** ColumnMetadata timestampMetadata. */
                    public timestampMetadata?: (google.cloud.chronicle.v1.ITimestampMetadata|null);

                    /** ColumnMetadata longitude. */
                    public longitude: boolean;

                    /** ColumnMetadata latitude. */
                    public latitude: boolean;

                    /** ColumnMetadata selected. */
                    public selected: boolean;

                    /** ColumnMetadata unselected. */
                    public unselected: boolean;

                    /**
                     * Creates a new ColumnMetadata instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ColumnMetadata instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IColumnMetadata): google.cloud.chronicle.v1.ColumnMetadata;

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

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

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

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

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

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

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

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

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

                /** Properties of a TimestampMetadata. */
                interface ITimestampMetadata {

                    /** TimestampMetadata timeFormat */
                    timeFormat?: (string|null);

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

                    /** TimestampMetadata timeGranularity */
                    timeGranularity?: (string|null);

                    /** TimestampMetadata isSortable */
                    isSortable?: (boolean|null);

                    /** TimestampMetadata isInterpolable */
                    isInterpolable?: (boolean|null);
                }

                /** Represents a TimestampMetadata. */
                class TimestampMetadata implements ITimestampMetadata {

                    /**
                     * Constructs a new TimestampMetadata.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.ITimestampMetadata);

                    /** TimestampMetadata timeFormat. */
                    public timeFormat: string;

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

                    /** TimestampMetadata timeGranularity. */
                    public timeGranularity: string;

                    /** TimestampMetadata isSortable. */
                    public isSortable: boolean;

                    /** TimestampMetadata isInterpolable. */
                    public isInterpolable: boolean;

                    /**
                     * Creates a new TimestampMetadata instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns TimestampMetadata instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.ITimestampMetadata): google.cloud.chronicle.v1.TimestampMetadata;

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

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

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

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

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

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

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

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

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

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

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

                    /**
                     * Calls CreateDataAccessLabel.
                     * @param request CreateDataAccessLabelRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DataAccessLabel
                     */
                    public createDataAccessLabel(request: google.cloud.chronicle.v1.ICreateDataAccessLabelRequest, callback: google.cloud.chronicle.v1.DataAccessControlService.CreateDataAccessLabelCallback): void;

                    /**
                     * Calls CreateDataAccessLabel.
                     * @param request CreateDataAccessLabelRequest message or plain object
                     * @returns Promise
                     */
                    public createDataAccessLabel(request: google.cloud.chronicle.v1.ICreateDataAccessLabelRequest): Promise<google.cloud.chronicle.v1.DataAccessLabel>;

                    /**
                     * Calls GetDataAccessLabel.
                     * @param request GetDataAccessLabelRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DataAccessLabel
                     */
                    public getDataAccessLabel(request: google.cloud.chronicle.v1.IGetDataAccessLabelRequest, callback: google.cloud.chronicle.v1.DataAccessControlService.GetDataAccessLabelCallback): void;

                    /**
                     * Calls GetDataAccessLabel.
                     * @param request GetDataAccessLabelRequest message or plain object
                     * @returns Promise
                     */
                    public getDataAccessLabel(request: google.cloud.chronicle.v1.IGetDataAccessLabelRequest): Promise<google.cloud.chronicle.v1.DataAccessLabel>;

                    /**
                     * Calls ListDataAccessLabels.
                     * @param request ListDataAccessLabelsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListDataAccessLabelsResponse
                     */
                    public listDataAccessLabels(request: google.cloud.chronicle.v1.IListDataAccessLabelsRequest, callback: google.cloud.chronicle.v1.DataAccessControlService.ListDataAccessLabelsCallback): void;

                    /**
                     * Calls ListDataAccessLabels.
                     * @param request ListDataAccessLabelsRequest message or plain object
                     * @returns Promise
                     */
                    public listDataAccessLabels(request: google.cloud.chronicle.v1.IListDataAccessLabelsRequest): Promise<google.cloud.chronicle.v1.ListDataAccessLabelsResponse>;

                    /**
                     * Calls UpdateDataAccessLabel.
                     * @param request UpdateDataAccessLabelRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DataAccessLabel
                     */
                    public updateDataAccessLabel(request: google.cloud.chronicle.v1.IUpdateDataAccessLabelRequest, callback: google.cloud.chronicle.v1.DataAccessControlService.UpdateDataAccessLabelCallback): void;

                    /**
                     * Calls UpdateDataAccessLabel.
                     * @param request UpdateDataAccessLabelRequest message or plain object
                     * @returns Promise
                     */
                    public updateDataAccessLabel(request: google.cloud.chronicle.v1.IUpdateDataAccessLabelRequest): Promise<google.cloud.chronicle.v1.DataAccessLabel>;

                    /**
                     * Calls DeleteDataAccessLabel.
                     * @param request DeleteDataAccessLabelRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Empty
                     */
                    public deleteDataAccessLabel(request: google.cloud.chronicle.v1.IDeleteDataAccessLabelRequest, callback: google.cloud.chronicle.v1.DataAccessControlService.DeleteDataAccessLabelCallback): void;

                    /**
                     * Calls DeleteDataAccessLabel.
                     * @param request DeleteDataAccessLabelRequest message or plain object
                     * @returns Promise
                     */
                    public deleteDataAccessLabel(request: google.cloud.chronicle.v1.IDeleteDataAccessLabelRequest): Promise<google.protobuf.Empty>;

                    /**
                     * Calls CreateDataAccessScope.
                     * @param request CreateDataAccessScopeRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DataAccessScope
                     */
                    public createDataAccessScope(request: google.cloud.chronicle.v1.ICreateDataAccessScopeRequest, callback: google.cloud.chronicle.v1.DataAccessControlService.CreateDataAccessScopeCallback): void;

                    /**
                     * Calls CreateDataAccessScope.
                     * @param request CreateDataAccessScopeRequest message or plain object
                     * @returns Promise
                     */
                    public createDataAccessScope(request: google.cloud.chronicle.v1.ICreateDataAccessScopeRequest): Promise<google.cloud.chronicle.v1.DataAccessScope>;

                    /**
                     * Calls GetDataAccessScope.
                     * @param request GetDataAccessScopeRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DataAccessScope
                     */
                    public getDataAccessScope(request: google.cloud.chronicle.v1.IGetDataAccessScopeRequest, callback: google.cloud.chronicle.v1.DataAccessControlService.GetDataAccessScopeCallback): void;

                    /**
                     * Calls GetDataAccessScope.
                     * @param request GetDataAccessScopeRequest message or plain object
                     * @returns Promise
                     */
                    public getDataAccessScope(request: google.cloud.chronicle.v1.IGetDataAccessScopeRequest): Promise<google.cloud.chronicle.v1.DataAccessScope>;

                    /**
                     * Calls ListDataAccessScopes.
                     * @param request ListDataAccessScopesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListDataAccessScopesResponse
                     */
                    public listDataAccessScopes(request: google.cloud.chronicle.v1.IListDataAccessScopesRequest, callback: google.cloud.chronicle.v1.DataAccessControlService.ListDataAccessScopesCallback): void;

                    /**
                     * Calls ListDataAccessScopes.
                     * @param request ListDataAccessScopesRequest message or plain object
                     * @returns Promise
                     */
                    public listDataAccessScopes(request: google.cloud.chronicle.v1.IListDataAccessScopesRequest): Promise<google.cloud.chronicle.v1.ListDataAccessScopesResponse>;

                    /**
                     * Calls UpdateDataAccessScope.
                     * @param request UpdateDataAccessScopeRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DataAccessScope
                     */
                    public updateDataAccessScope(request: google.cloud.chronicle.v1.IUpdateDataAccessScopeRequest, callback: google.cloud.chronicle.v1.DataAccessControlService.UpdateDataAccessScopeCallback): void;

                    /**
                     * Calls UpdateDataAccessScope.
                     * @param request UpdateDataAccessScopeRequest message or plain object
                     * @returns Promise
                     */
                    public updateDataAccessScope(request: google.cloud.chronicle.v1.IUpdateDataAccessScopeRequest): Promise<google.cloud.chronicle.v1.DataAccessScope>;

                    /**
                     * Calls DeleteDataAccessScope.
                     * @param request DeleteDataAccessScopeRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Empty
                     */
                    public deleteDataAccessScope(request: google.cloud.chronicle.v1.IDeleteDataAccessScopeRequest, callback: google.cloud.chronicle.v1.DataAccessControlService.DeleteDataAccessScopeCallback): void;

                    /**
                     * Calls DeleteDataAccessScope.
                     * @param request DeleteDataAccessScopeRequest message or plain object
                     * @returns Promise
                     */
                    public deleteDataAccessScope(request: google.cloud.chronicle.v1.IDeleteDataAccessScopeRequest): Promise<google.protobuf.Empty>;
                }

                namespace DataAccessControlService {

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataAccessControlService|createDataAccessLabel}.
                     * @param error Error, if any
                     * @param [response] DataAccessLabel
                     */
                    type CreateDataAccessLabelCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DataAccessLabel) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataAccessControlService|getDataAccessLabel}.
                     * @param error Error, if any
                     * @param [response] DataAccessLabel
                     */
                    type GetDataAccessLabelCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DataAccessLabel) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataAccessControlService|listDataAccessLabels}.
                     * @param error Error, if any
                     * @param [response] ListDataAccessLabelsResponse
                     */
                    type ListDataAccessLabelsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ListDataAccessLabelsResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataAccessControlService|updateDataAccessLabel}.
                     * @param error Error, if any
                     * @param [response] DataAccessLabel
                     */
                    type UpdateDataAccessLabelCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DataAccessLabel) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataAccessControlService|deleteDataAccessLabel}.
                     * @param error Error, if any
                     * @param [response] Empty
                     */
                    type DeleteDataAccessLabelCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataAccessControlService|createDataAccessScope}.
                     * @param error Error, if any
                     * @param [response] DataAccessScope
                     */
                    type CreateDataAccessScopeCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DataAccessScope) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataAccessControlService|getDataAccessScope}.
                     * @param error Error, if any
                     * @param [response] DataAccessScope
                     */
                    type GetDataAccessScopeCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DataAccessScope) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataAccessControlService|listDataAccessScopes}.
                     * @param error Error, if any
                     * @param [response] ListDataAccessScopesResponse
                     */
                    type ListDataAccessScopesCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ListDataAccessScopesResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataAccessControlService|updateDataAccessScope}.
                     * @param error Error, if any
                     * @param [response] DataAccessScope
                     */
                    type UpdateDataAccessScopeCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DataAccessScope) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataAccessControlService|deleteDataAccessScope}.
                     * @param error Error, if any
                     * @param [response] Empty
                     */
                    type DeleteDataAccessScopeCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                }

                /** Properties of a CreateDataAccessLabelRequest. */
                interface ICreateDataAccessLabelRequest {

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

                    /** CreateDataAccessLabelRequest dataAccessLabel */
                    dataAccessLabel?: (google.cloud.chronicle.v1.IDataAccessLabel|null);

                    /** CreateDataAccessLabelRequest dataAccessLabelId */
                    dataAccessLabelId?: (string|null);
                }

                /** Represents a CreateDataAccessLabelRequest. */
                class CreateDataAccessLabelRequest implements ICreateDataAccessLabelRequest {

                    /**
                     * Constructs a new CreateDataAccessLabelRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.ICreateDataAccessLabelRequest);

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

                    /** CreateDataAccessLabelRequest dataAccessLabel. */
                    public dataAccessLabel?: (google.cloud.chronicle.v1.IDataAccessLabel|null);

                    /** CreateDataAccessLabelRequest dataAccessLabelId. */
                    public dataAccessLabelId: string;

                    /**
                     * Creates a new CreateDataAccessLabelRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateDataAccessLabelRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.ICreateDataAccessLabelRequest): google.cloud.chronicle.v1.CreateDataAccessLabelRequest;

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

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

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

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

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

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

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

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

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

                /** Properties of a GetDataAccessLabelRequest. */
                interface IGetDataAccessLabelRequest {

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

                /** Represents a GetDataAccessLabelRequest. */
                class GetDataAccessLabelRequest implements IGetDataAccessLabelRequest {

                    /**
                     * Constructs a new GetDataAccessLabelRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetDataAccessLabelRequest);

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

                    /**
                     * Creates a new GetDataAccessLabelRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetDataAccessLabelRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetDataAccessLabelRequest): google.cloud.chronicle.v1.GetDataAccessLabelRequest;

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

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

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

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

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

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

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

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

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

                /** Properties of a ListDataAccessLabelsRequest. */
                interface IListDataAccessLabelsRequest {

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

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

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

                    /** ListDataAccessLabelsRequest filter */
                    filter?: (string|null);
                }

                /** Represents a ListDataAccessLabelsRequest. */
                class ListDataAccessLabelsRequest implements IListDataAccessLabelsRequest {

                    /**
                     * Constructs a new ListDataAccessLabelsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListDataAccessLabelsRequest);

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

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

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

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

                    /**
                     * Creates a new ListDataAccessLabelsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListDataAccessLabelsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListDataAccessLabelsRequest): google.cloud.chronicle.v1.ListDataAccessLabelsRequest;

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

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

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

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

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

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

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

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

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

                /** Properties of a ListDataAccessLabelsResponse. */
                interface IListDataAccessLabelsResponse {

                    /** ListDataAccessLabelsResponse dataAccessLabels */
                    dataAccessLabels?: (google.cloud.chronicle.v1.IDataAccessLabel[]|null);

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

                /** Represents a ListDataAccessLabelsResponse. */
                class ListDataAccessLabelsResponse implements IListDataAccessLabelsResponse {

                    /**
                     * Constructs a new ListDataAccessLabelsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListDataAccessLabelsResponse);

                    /** ListDataAccessLabelsResponse dataAccessLabels. */
                    public dataAccessLabels: google.cloud.chronicle.v1.IDataAccessLabel[];

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

                    /**
                     * Creates a new ListDataAccessLabelsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListDataAccessLabelsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListDataAccessLabelsResponse): google.cloud.chronicle.v1.ListDataAccessLabelsResponse;

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

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

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

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

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

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

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

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

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

                /** Properties of an UpdateDataAccessLabelRequest. */
                interface IUpdateDataAccessLabelRequest {

                    /** UpdateDataAccessLabelRequest dataAccessLabel */
                    dataAccessLabel?: (google.cloud.chronicle.v1.IDataAccessLabel|null);

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

                /** Represents an UpdateDataAccessLabelRequest. */
                class UpdateDataAccessLabelRequest implements IUpdateDataAccessLabelRequest {

                    /**
                     * Constructs a new UpdateDataAccessLabelRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IUpdateDataAccessLabelRequest);

                    /** UpdateDataAccessLabelRequest dataAccessLabel. */
                    public dataAccessLabel?: (google.cloud.chronicle.v1.IDataAccessLabel|null);

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

                    /**
                     * Creates a new UpdateDataAccessLabelRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateDataAccessLabelRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IUpdateDataAccessLabelRequest): google.cloud.chronicle.v1.UpdateDataAccessLabelRequest;

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

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

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

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

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

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

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

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

                /** Properties of a DeleteDataAccessLabelRequest. */
                interface IDeleteDataAccessLabelRequest {

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

                /** Represents a DeleteDataAccessLabelRequest. */
                class DeleteDataAccessLabelRequest implements IDeleteDataAccessLabelRequest {

                    /**
                     * Constructs a new DeleteDataAccessLabelRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDeleteDataAccessLabelRequest);

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

                    /**
                     * Creates a new DeleteDataAccessLabelRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DeleteDataAccessLabelRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDeleteDataAccessLabelRequest): google.cloud.chronicle.v1.DeleteDataAccessLabelRequest;

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

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

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

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

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

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

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

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

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

                /** Properties of a CreateDataAccessScopeRequest. */
                interface ICreateDataAccessScopeRequest {

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

                    /** CreateDataAccessScopeRequest dataAccessScope */
                    dataAccessScope?: (google.cloud.chronicle.v1.IDataAccessScope|null);

                    /** CreateDataAccessScopeRequest dataAccessScopeId */
                    dataAccessScopeId?: (string|null);
                }

                /** Represents a CreateDataAccessScopeRequest. */
                class CreateDataAccessScopeRequest implements ICreateDataAccessScopeRequest {

                    /**
                     * Constructs a new CreateDataAccessScopeRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.ICreateDataAccessScopeRequest);

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

                    /** CreateDataAccessScopeRequest dataAccessScope. */
                    public dataAccessScope?: (google.cloud.chronicle.v1.IDataAccessScope|null);

                    /** CreateDataAccessScopeRequest dataAccessScopeId. */
                    public dataAccessScopeId: string;

                    /**
                     * Creates a new CreateDataAccessScopeRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateDataAccessScopeRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.ICreateDataAccessScopeRequest): google.cloud.chronicle.v1.CreateDataAccessScopeRequest;

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

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

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

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

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

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

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

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

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

                /** Properties of a GetDataAccessScopeRequest. */
                interface IGetDataAccessScopeRequest {

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

                /** Represents a GetDataAccessScopeRequest. */
                class GetDataAccessScopeRequest implements IGetDataAccessScopeRequest {

                    /**
                     * Constructs a new GetDataAccessScopeRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetDataAccessScopeRequest);

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

                    /**
                     * Creates a new GetDataAccessScopeRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetDataAccessScopeRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetDataAccessScopeRequest): google.cloud.chronicle.v1.GetDataAccessScopeRequest;

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

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

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

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

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

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

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

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

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

                /** Properties of a ListDataAccessScopesRequest. */
                interface IListDataAccessScopesRequest {

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

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

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

                    /** ListDataAccessScopesRequest filter */
                    filter?: (string|null);
                }

                /** Represents a ListDataAccessScopesRequest. */
                class ListDataAccessScopesRequest implements IListDataAccessScopesRequest {

                    /**
                     * Constructs a new ListDataAccessScopesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListDataAccessScopesRequest);

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

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

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

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

                    /**
                     * Creates a new ListDataAccessScopesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListDataAccessScopesRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListDataAccessScopesRequest): google.cloud.chronicle.v1.ListDataAccessScopesRequest;

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

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

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

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

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

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

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

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

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

                /** Properties of a ListDataAccessScopesResponse. */
                interface IListDataAccessScopesResponse {

                    /** ListDataAccessScopesResponse dataAccessScopes */
                    dataAccessScopes?: (google.cloud.chronicle.v1.IDataAccessScope[]|null);

                    /** ListDataAccessScopesResponse globalDataAccessScopeGranted */
                    globalDataAccessScopeGranted?: (boolean|null);

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

                /** Represents a ListDataAccessScopesResponse. */
                class ListDataAccessScopesResponse implements IListDataAccessScopesResponse {

                    /**
                     * Constructs a new ListDataAccessScopesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListDataAccessScopesResponse);

                    /** ListDataAccessScopesResponse dataAccessScopes. */
                    public dataAccessScopes: google.cloud.chronicle.v1.IDataAccessScope[];

                    /** ListDataAccessScopesResponse globalDataAccessScopeGranted. */
                    public globalDataAccessScopeGranted?: (boolean|null);

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

                    /**
                     * Creates a new ListDataAccessScopesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListDataAccessScopesResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListDataAccessScopesResponse): google.cloud.chronicle.v1.ListDataAccessScopesResponse;

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

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

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

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

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

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

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

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

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

                /** Properties of an UpdateDataAccessScopeRequest. */
                interface IUpdateDataAccessScopeRequest {

                    /** UpdateDataAccessScopeRequest dataAccessScope */
                    dataAccessScope?: (google.cloud.chronicle.v1.IDataAccessScope|null);

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

                /** Represents an UpdateDataAccessScopeRequest. */
                class UpdateDataAccessScopeRequest implements IUpdateDataAccessScopeRequest {

                    /**
                     * Constructs a new UpdateDataAccessScopeRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IUpdateDataAccessScopeRequest);

                    /** UpdateDataAccessScopeRequest dataAccessScope. */
                    public dataAccessScope?: (google.cloud.chronicle.v1.IDataAccessScope|null);

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

                    /**
                     * Creates a new UpdateDataAccessScopeRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateDataAccessScopeRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IUpdateDataAccessScopeRequest): google.cloud.chronicle.v1.UpdateDataAccessScopeRequest;

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

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

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

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

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

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

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

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

                /** Properties of a DeleteDataAccessScopeRequest. */
                interface IDeleteDataAccessScopeRequest {

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

                /** Represents a DeleteDataAccessScopeRequest. */
                class DeleteDataAccessScopeRequest implements IDeleteDataAccessScopeRequest {

                    /**
                     * Constructs a new DeleteDataAccessScopeRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDeleteDataAccessScopeRequest);

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

                    /**
                     * Creates a new DeleteDataAccessScopeRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DeleteDataAccessScopeRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDeleteDataAccessScopeRequest): google.cloud.chronicle.v1.DeleteDataAccessScopeRequest;

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

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

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

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

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

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

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

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

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

                /** Properties of a DataAccessLabel. */
                interface IDataAccessLabel {

                    /** DataAccessLabel udmQuery */
                    udmQuery?: (string|null);

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

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

                    /** DataAccessLabel createTime */
                    createTime?: (google.protobuf.ITimestamp|null);

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

                    /** DataAccessLabel author */
                    author?: (string|null);

                    /** DataAccessLabel lastEditor */
                    lastEditor?: (string|null);

                    /** DataAccessLabel description */
                    description?: (string|null);
                }

                /** Represents a DataAccessLabel. */
                class DataAccessLabel implements IDataAccessLabel {

                    /**
                     * Constructs a new DataAccessLabel.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDataAccessLabel);

                    /** DataAccessLabel udmQuery. */
                    public udmQuery?: (string|null);

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

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

                    /** DataAccessLabel createTime. */
                    public createTime?: (google.protobuf.ITimestamp|null);

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

                    /** DataAccessLabel author. */
                    public author: string;

                    /** DataAccessLabel lastEditor. */
                    public lastEditor: string;

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

                    /** DataAccessLabel definition. */
                    public definition?: "udmQuery";

                    /**
                     * Creates a new DataAccessLabel instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DataAccessLabel instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDataAccessLabel): google.cloud.chronicle.v1.DataAccessLabel;

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

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

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

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

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

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

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

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

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

                /** Properties of a DataAccessScope. */
                interface IDataAccessScope {

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

                    /** DataAccessScope allowedDataAccessLabels */
                    allowedDataAccessLabels?: (google.cloud.chronicle.v1.IDataAccessLabelReference[]|null);

                    /** DataAccessScope deniedDataAccessLabels */
                    deniedDataAccessLabels?: (google.cloud.chronicle.v1.IDataAccessLabelReference[]|null);

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

                    /** DataAccessScope createTime */
                    createTime?: (google.protobuf.ITimestamp|null);

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

                    /** DataAccessScope author */
                    author?: (string|null);

                    /** DataAccessScope lastEditor */
                    lastEditor?: (string|null);

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

                    /** DataAccessScope allowAll */
                    allowAll?: (boolean|null);
                }

                /** Represents a DataAccessScope. */
                class DataAccessScope implements IDataAccessScope {

                    /**
                     * Constructs a new DataAccessScope.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDataAccessScope);

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

                    /** DataAccessScope allowedDataAccessLabels. */
                    public allowedDataAccessLabels: google.cloud.chronicle.v1.IDataAccessLabelReference[];

                    /** DataAccessScope deniedDataAccessLabels. */
                    public deniedDataAccessLabels: google.cloud.chronicle.v1.IDataAccessLabelReference[];

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

                    /** DataAccessScope createTime. */
                    public createTime?: (google.protobuf.ITimestamp|null);

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

                    /** DataAccessScope author. */
                    public author: string;

                    /** DataAccessScope lastEditor. */
                    public lastEditor: string;

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

                    /** DataAccessScope allowAll. */
                    public allowAll: boolean;

                    /**
                     * Creates a new DataAccessScope instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DataAccessScope instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDataAccessScope): google.cloud.chronicle.v1.DataAccessScope;

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

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

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

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

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

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

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

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

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

                /** Properties of a DataAccessLabelReference. */
                interface IDataAccessLabelReference {

                    /** DataAccessLabelReference dataAccessLabel */
                    dataAccessLabel?: (string|null);

                    /** DataAccessLabelReference logType */
                    logType?: (string|null);

                    /** DataAccessLabelReference assetNamespace */
                    assetNamespace?: (string|null);

                    /** DataAccessLabelReference ingestionLabel */
                    ingestionLabel?: (google.cloud.chronicle.v1.IIngestionLabel|null);

                    /** DataAccessLabelReference displayName */
                    displayName?: (string|null);
                }

                /** Represents a DataAccessLabelReference. */
                class DataAccessLabelReference implements IDataAccessLabelReference {

                    /**
                     * Constructs a new DataAccessLabelReference.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDataAccessLabelReference);

                    /** DataAccessLabelReference dataAccessLabel. */
                    public dataAccessLabel?: (string|null);

                    /** DataAccessLabelReference logType. */
                    public logType?: (string|null);

                    /** DataAccessLabelReference assetNamespace. */
                    public assetNamespace?: (string|null);

                    /** DataAccessLabelReference ingestionLabel. */
                    public ingestionLabel?: (google.cloud.chronicle.v1.IIngestionLabel|null);

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

                    /** DataAccessLabelReference label. */
                    public label?: ("dataAccessLabel"|"logType"|"assetNamespace"|"ingestionLabel");

                    /**
                     * Creates a new DataAccessLabelReference instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DataAccessLabelReference instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDataAccessLabelReference): google.cloud.chronicle.v1.DataAccessLabelReference;

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

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

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

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

                    /**
                     * Verifies a DataAccessLabelReference message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DataAccessLabelReference message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DataAccessLabelReference
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DataAccessLabelReference;

                    /**
                     * Creates a plain object from a DataAccessLabelReference message. Also converts values to other types if specified.
                     * @param message DataAccessLabelReference
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DataAccessLabelReference, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DataAccessLabelReference to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DataAccessLabelReference
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an IngestionLabel. */
                interface IIngestionLabel {

                    /** IngestionLabel ingestionLabelKey */
                    ingestionLabelKey?: (string|null);

                    /** IngestionLabel ingestionLabelValue */
                    ingestionLabelValue?: (string|null);
                }

                /** Represents an IngestionLabel. */
                class IngestionLabel implements IIngestionLabel {

                    /**
                     * Constructs a new IngestionLabel.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IIngestionLabel);

                    /** IngestionLabel ingestionLabelKey. */
                    public ingestionLabelKey: string;

                    /** IngestionLabel ingestionLabelValue. */
                    public ingestionLabelValue: string;

                    /**
                     * Creates a new IngestionLabel instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns IngestionLabel instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IIngestionLabel): google.cloud.chronicle.v1.IngestionLabel;

                    /**
                     * Encodes the specified IngestionLabel message. Does not implicitly {@link google.cloud.chronicle.v1.IngestionLabel.verify|verify} messages.
                     * @param message IngestionLabel message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IIngestionLabel, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified IngestionLabel message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.IngestionLabel.verify|verify} messages.
                     * @param message IngestionLabel message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IIngestionLabel, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an IngestionLabel message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns IngestionLabel
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.IngestionLabel;

                    /**
                     * Decodes an IngestionLabel message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns IngestionLabel
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.IngestionLabel;

                    /**
                     * Verifies an IngestionLabel message.
                     * @param message Plain 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 IngestionLabel message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns IngestionLabel
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.IngestionLabel;

                    /**
                     * Creates a plain object from an IngestionLabel message. Also converts values to other types if specified.
                     * @param message IngestionLabel
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.IngestionLabel, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this IngestionLabel to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for IngestionLabel
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a DataTableService */
                class DataTableService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new DataTableService 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 DataTableService 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): DataTableService;

                    /**
                     * Calls CreateDataTable.
                     * @param request CreateDataTableRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DataTable
                     */
                    public createDataTable(request: google.cloud.chronicle.v1.ICreateDataTableRequest, callback: google.cloud.chronicle.v1.DataTableService.CreateDataTableCallback): void;

                    /**
                     * Calls CreateDataTable.
                     * @param request CreateDataTableRequest message or plain object
                     * @returns Promise
                     */
                    public createDataTable(request: google.cloud.chronicle.v1.ICreateDataTableRequest): Promise<google.cloud.chronicle.v1.DataTable>;

                    /**
                     * Calls ListDataTables.
                     * @param request ListDataTablesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListDataTablesResponse
                     */
                    public listDataTables(request: google.cloud.chronicle.v1.IListDataTablesRequest, callback: google.cloud.chronicle.v1.DataTableService.ListDataTablesCallback): void;

                    /**
                     * Calls ListDataTables.
                     * @param request ListDataTablesRequest message or plain object
                     * @returns Promise
                     */
                    public listDataTables(request: google.cloud.chronicle.v1.IListDataTablesRequest): Promise<google.cloud.chronicle.v1.ListDataTablesResponse>;

                    /**
                     * Calls GetDataTable.
                     * @param request GetDataTableRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DataTable
                     */
                    public getDataTable(request: google.cloud.chronicle.v1.IGetDataTableRequest, callback: google.cloud.chronicle.v1.DataTableService.GetDataTableCallback): void;

                    /**
                     * Calls GetDataTable.
                     * @param request GetDataTableRequest message or plain object
                     * @returns Promise
                     */
                    public getDataTable(request: google.cloud.chronicle.v1.IGetDataTableRequest): Promise<google.cloud.chronicle.v1.DataTable>;

                    /**
                     * Calls UpdateDataTable.
                     * @param request UpdateDataTableRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DataTable
                     */
                    public updateDataTable(request: google.cloud.chronicle.v1.IUpdateDataTableRequest, callback: google.cloud.chronicle.v1.DataTableService.UpdateDataTableCallback): void;

                    /**
                     * Calls UpdateDataTable.
                     * @param request UpdateDataTableRequest message or plain object
                     * @returns Promise
                     */
                    public updateDataTable(request: google.cloud.chronicle.v1.IUpdateDataTableRequest): Promise<google.cloud.chronicle.v1.DataTable>;

                    /**
                     * Calls DeleteDataTable.
                     * @param request DeleteDataTableRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Empty
                     */
                    public deleteDataTable(request: google.cloud.chronicle.v1.IDeleteDataTableRequest, callback: google.cloud.chronicle.v1.DataTableService.DeleteDataTableCallback): void;

                    /**
                     * Calls DeleteDataTable.
                     * @param request DeleteDataTableRequest message or plain object
                     * @returns Promise
                     */
                    public deleteDataTable(request: google.cloud.chronicle.v1.IDeleteDataTableRequest): Promise<google.protobuf.Empty>;

                    /**
                     * Calls CreateDataTableRow.
                     * @param request CreateDataTableRowRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DataTableRow
                     */
                    public createDataTableRow(request: google.cloud.chronicle.v1.ICreateDataTableRowRequest, callback: google.cloud.chronicle.v1.DataTableService.CreateDataTableRowCallback): void;

                    /**
                     * Calls CreateDataTableRow.
                     * @param request CreateDataTableRowRequest message or plain object
                     * @returns Promise
                     */
                    public createDataTableRow(request: google.cloud.chronicle.v1.ICreateDataTableRowRequest): Promise<google.cloud.chronicle.v1.DataTableRow>;

                    /**
                     * Calls UpdateDataTableRow.
                     * @param request UpdateDataTableRowRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DataTableRow
                     */
                    public updateDataTableRow(request: google.cloud.chronicle.v1.IUpdateDataTableRowRequest, callback: google.cloud.chronicle.v1.DataTableService.UpdateDataTableRowCallback): void;

                    /**
                     * Calls UpdateDataTableRow.
                     * @param request UpdateDataTableRowRequest message or plain object
                     * @returns Promise
                     */
                    public updateDataTableRow(request: google.cloud.chronicle.v1.IUpdateDataTableRowRequest): Promise<google.cloud.chronicle.v1.DataTableRow>;

                    /**
                     * Calls ListDataTableRows.
                     * @param request ListDataTableRowsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListDataTableRowsResponse
                     */
                    public listDataTableRows(request: google.cloud.chronicle.v1.IListDataTableRowsRequest, callback: google.cloud.chronicle.v1.DataTableService.ListDataTableRowsCallback): void;

                    /**
                     * Calls ListDataTableRows.
                     * @param request ListDataTableRowsRequest message or plain object
                     * @returns Promise
                     */
                    public listDataTableRows(request: google.cloud.chronicle.v1.IListDataTableRowsRequest): Promise<google.cloud.chronicle.v1.ListDataTableRowsResponse>;

                    /**
                     * Calls GetDataTableRow.
                     * @param request GetDataTableRowRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DataTableRow
                     */
                    public getDataTableRow(request: google.cloud.chronicle.v1.IGetDataTableRowRequest, callback: google.cloud.chronicle.v1.DataTableService.GetDataTableRowCallback): void;

                    /**
                     * Calls GetDataTableRow.
                     * @param request GetDataTableRowRequest message or plain object
                     * @returns Promise
                     */
                    public getDataTableRow(request: google.cloud.chronicle.v1.IGetDataTableRowRequest): Promise<google.cloud.chronicle.v1.DataTableRow>;

                    /**
                     * Calls DeleteDataTableRow.
                     * @param request DeleteDataTableRowRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Empty
                     */
                    public deleteDataTableRow(request: google.cloud.chronicle.v1.IDeleteDataTableRowRequest, callback: google.cloud.chronicle.v1.DataTableService.DeleteDataTableRowCallback): void;

                    /**
                     * Calls DeleteDataTableRow.
                     * @param request DeleteDataTableRowRequest message or plain object
                     * @returns Promise
                     */
                    public deleteDataTableRow(request: google.cloud.chronicle.v1.IDeleteDataTableRowRequest): Promise<google.protobuf.Empty>;

                    /**
                     * Calls BulkCreateDataTableRows.
                     * @param request BulkCreateDataTableRowsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BulkCreateDataTableRowsResponse
                     */
                    public bulkCreateDataTableRows(request: google.cloud.chronicle.v1.IBulkCreateDataTableRowsRequest, callback: google.cloud.chronicle.v1.DataTableService.BulkCreateDataTableRowsCallback): void;

                    /**
                     * Calls BulkCreateDataTableRows.
                     * @param request BulkCreateDataTableRowsRequest message or plain object
                     * @returns Promise
                     */
                    public bulkCreateDataTableRows(request: google.cloud.chronicle.v1.IBulkCreateDataTableRowsRequest): Promise<google.cloud.chronicle.v1.BulkCreateDataTableRowsResponse>;

                    /**
                     * Calls BulkGetDataTableRows.
                     * @param request BulkGetDataTableRowsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BulkGetDataTableRowsResponse
                     */
                    public bulkGetDataTableRows(request: google.cloud.chronicle.v1.IBulkGetDataTableRowsRequest, callback: google.cloud.chronicle.v1.DataTableService.BulkGetDataTableRowsCallback): void;

                    /**
                     * Calls BulkGetDataTableRows.
                     * @param request BulkGetDataTableRowsRequest message or plain object
                     * @returns Promise
                     */
                    public bulkGetDataTableRows(request: google.cloud.chronicle.v1.IBulkGetDataTableRowsRequest): Promise<google.cloud.chronicle.v1.BulkGetDataTableRowsResponse>;

                    /**
                     * Calls BulkReplaceDataTableRows.
                     * @param request BulkReplaceDataTableRowsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BulkReplaceDataTableRowsResponse
                     */
                    public bulkReplaceDataTableRows(request: google.cloud.chronicle.v1.IBulkReplaceDataTableRowsRequest, callback: google.cloud.chronicle.v1.DataTableService.BulkReplaceDataTableRowsCallback): void;

                    /**
                     * Calls BulkReplaceDataTableRows.
                     * @param request BulkReplaceDataTableRowsRequest message or plain object
                     * @returns Promise
                     */
                    public bulkReplaceDataTableRows(request: google.cloud.chronicle.v1.IBulkReplaceDataTableRowsRequest): Promise<google.cloud.chronicle.v1.BulkReplaceDataTableRowsResponse>;

                    /**
                     * Calls BulkUpdateDataTableRows.
                     * @param request BulkUpdateDataTableRowsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and BulkUpdateDataTableRowsResponse
                     */
                    public bulkUpdateDataTableRows(request: google.cloud.chronicle.v1.IBulkUpdateDataTableRowsRequest, callback: google.cloud.chronicle.v1.DataTableService.BulkUpdateDataTableRowsCallback): void;

                    /**
                     * Calls BulkUpdateDataTableRows.
                     * @param request BulkUpdateDataTableRowsRequest message or plain object
                     * @returns Promise
                     */
                    public bulkUpdateDataTableRows(request: google.cloud.chronicle.v1.IBulkUpdateDataTableRowsRequest): Promise<google.cloud.chronicle.v1.BulkUpdateDataTableRowsResponse>;

                    /**
                     * Calls GetDataTableOperationErrors.
                     * @param request GetDataTableOperationErrorsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DataTableOperationErrors
                     */
                    public getDataTableOperationErrors(request: google.cloud.chronicle.v1.IGetDataTableOperationErrorsRequest, callback: google.cloud.chronicle.v1.DataTableService.GetDataTableOperationErrorsCallback): void;

                    /**
                     * Calls GetDataTableOperationErrors.
                     * @param request GetDataTableOperationErrorsRequest message or plain object
                     * @returns Promise
                     */
                    public getDataTableOperationErrors(request: google.cloud.chronicle.v1.IGetDataTableOperationErrorsRequest): Promise<google.cloud.chronicle.v1.DataTableOperationErrors>;
                }

                namespace DataTableService {

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataTableService|createDataTable}.
                     * @param error Error, if any
                     * @param [response] DataTable
                     */
                    type CreateDataTableCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DataTable) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataTableService|listDataTables}.
                     * @param error Error, if any
                     * @param [response] ListDataTablesResponse
                     */
                    type ListDataTablesCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ListDataTablesResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataTableService|getDataTable}.
                     * @param error Error, if any
                     * @param [response] DataTable
                     */
                    type GetDataTableCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DataTable) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataTableService|updateDataTable}.
                     * @param error Error, if any
                     * @param [response] DataTable
                     */
                    type UpdateDataTableCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DataTable) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataTableService|deleteDataTable}.
                     * @param error Error, if any
                     * @param [response] Empty
                     */
                    type DeleteDataTableCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataTableService|createDataTableRow}.
                     * @param error Error, if any
                     * @param [response] DataTableRow
                     */
                    type CreateDataTableRowCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DataTableRow) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataTableService|updateDataTableRow}.
                     * @param error Error, if any
                     * @param [response] DataTableRow
                     */
                    type UpdateDataTableRowCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DataTableRow) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataTableService|listDataTableRows}.
                     * @param error Error, if any
                     * @param [response] ListDataTableRowsResponse
                     */
                    type ListDataTableRowsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ListDataTableRowsResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataTableService|getDataTableRow}.
                     * @param error Error, if any
                     * @param [response] DataTableRow
                     */
                    type GetDataTableRowCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DataTableRow) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataTableService|deleteDataTableRow}.
                     * @param error Error, if any
                     * @param [response] Empty
                     */
                    type DeleteDataTableRowCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataTableService|bulkCreateDataTableRows}.
                     * @param error Error, if any
                     * @param [response] BulkCreateDataTableRowsResponse
                     */
                    type BulkCreateDataTableRowsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.BulkCreateDataTableRowsResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataTableService|bulkGetDataTableRows}.
                     * @param error Error, if any
                     * @param [response] BulkGetDataTableRowsResponse
                     */
                    type BulkGetDataTableRowsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.BulkGetDataTableRowsResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataTableService|bulkReplaceDataTableRows}.
                     * @param error Error, if any
                     * @param [response] BulkReplaceDataTableRowsResponse
                     */
                    type BulkReplaceDataTableRowsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.BulkReplaceDataTableRowsResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataTableService|bulkUpdateDataTableRows}.
                     * @param error Error, if any
                     * @param [response] BulkUpdateDataTableRowsResponse
                     */
                    type BulkUpdateDataTableRowsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.BulkUpdateDataTableRowsResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.DataTableService|getDataTableOperationErrors}.
                     * @param error Error, if any
                     * @param [response] DataTableOperationErrors
                     */
                    type GetDataTableOperationErrorsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DataTableOperationErrors) => void;
                }

                /** DataTableUpdateSource enum. */
                enum DataTableUpdateSource {
                    DATA_TABLE_UPDATE_SOURCE_UNSPECIFIED = 0,
                    USER = 1,
                    RULE = 2,
                    SEARCH = 3
                }

                /** Properties of a CreateDataTableRequest. */
                interface ICreateDataTableRequest {

                    /** CreateDataTableRequest parent */
                    parent?: (string|null);

                    /** CreateDataTableRequest dataTable */
                    dataTable?: (google.cloud.chronicle.v1.IDataTable|null);

                    /** CreateDataTableRequest dataTableId */
                    dataTableId?: (string|null);
                }

                /** Represents a CreateDataTableRequest. */
                class CreateDataTableRequest implements ICreateDataTableRequest {

                    /**
                     * Constructs a new CreateDataTableRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.ICreateDataTableRequest);

                    /** CreateDataTableRequest parent. */
                    public parent: string;

                    /** CreateDataTableRequest dataTable. */
                    public dataTable?: (google.cloud.chronicle.v1.IDataTable|null);

                    /** CreateDataTableRequest dataTableId. */
                    public dataTableId: string;

                    /**
                     * Creates a new CreateDataTableRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateDataTableRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.ICreateDataTableRequest): google.cloud.chronicle.v1.CreateDataTableRequest;

                    /**
                     * Encodes the specified CreateDataTableRequest message. Does not implicitly {@link google.cloud.chronicle.v1.CreateDataTableRequest.verify|verify} messages.
                     * @param message CreateDataTableRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.ICreateDataTableRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateDataTableRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.CreateDataTableRequest.verify|verify} messages.
                     * @param message CreateDataTableRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.ICreateDataTableRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateDataTableRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateDataTableRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.CreateDataTableRequest;

                    /**
                     * Decodes a CreateDataTableRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateDataTableRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.CreateDataTableRequest;

                    /**
                     * Verifies a CreateDataTableRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateDataTableRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateDataTableRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.CreateDataTableRequest;

                    /**
                     * Creates a plain object from a CreateDataTableRequest message. Also converts values to other types if specified.
                     * @param message CreateDataTableRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.CreateDataTableRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateDataTableRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateDataTableRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a GetDataTableRequest. */
                interface IGetDataTableRequest {

                    /** GetDataTableRequest name */
                    name?: (string|null);
                }

                /** Represents a GetDataTableRequest. */
                class GetDataTableRequest implements IGetDataTableRequest {

                    /**
                     * Constructs a new GetDataTableRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetDataTableRequest);

                    /** GetDataTableRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetDataTableRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetDataTableRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetDataTableRequest): google.cloud.chronicle.v1.GetDataTableRequest;

                    /**
                     * Encodes the specified GetDataTableRequest message. Does not implicitly {@link google.cloud.chronicle.v1.GetDataTableRequest.verify|verify} messages.
                     * @param message GetDataTableRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IGetDataTableRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetDataTableRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.GetDataTableRequest.verify|verify} messages.
                     * @param message GetDataTableRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IGetDataTableRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetDataTableRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetDataTableRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.GetDataTableRequest;

                    /**
                     * Decodes a GetDataTableRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetDataTableRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.GetDataTableRequest;

                    /**
                     * Verifies a GetDataTableRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetDataTableRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetDataTableRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.GetDataTableRequest;

                    /**
                     * Creates a plain object from a GetDataTableRequest message. Also converts values to other types if specified.
                     * @param message GetDataTableRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.GetDataTableRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetDataTableRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetDataTableRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateDataTableRequest. */
                interface IUpdateDataTableRequest {

                    /** UpdateDataTableRequest dataTable */
                    dataTable?: (google.cloud.chronicle.v1.IDataTable|null);

                    /** UpdateDataTableRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateDataTableRequest. */
                class UpdateDataTableRequest implements IUpdateDataTableRequest {

                    /**
                     * Constructs a new UpdateDataTableRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IUpdateDataTableRequest);

                    /** UpdateDataTableRequest dataTable. */
                    public dataTable?: (google.cloud.chronicle.v1.IDataTable|null);

                    /** UpdateDataTableRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateDataTableRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateDataTableRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IUpdateDataTableRequest): google.cloud.chronicle.v1.UpdateDataTableRequest;

                    /**
                     * Encodes the specified UpdateDataTableRequest message. Does not implicitly {@link google.cloud.chronicle.v1.UpdateDataTableRequest.verify|verify} messages.
                     * @param message UpdateDataTableRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IUpdateDataTableRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateDataTableRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.UpdateDataTableRequest.verify|verify} messages.
                     * @param message UpdateDataTableRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IUpdateDataTableRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateDataTableRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateDataTableRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.UpdateDataTableRequest;

                    /**
                     * Decodes an UpdateDataTableRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateDataTableRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.UpdateDataTableRequest;

                    /**
                     * Verifies an UpdateDataTableRequest message.
                     * @param message Plain 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 UpdateDataTableRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateDataTableRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.UpdateDataTableRequest;

                    /**
                     * Creates a plain object from an UpdateDataTableRequest message. Also converts values to other types if specified.
                     * @param message UpdateDataTableRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.UpdateDataTableRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateDataTableRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateDataTableRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListDataTablesRequest. */
                interface IListDataTablesRequest {

                    /** ListDataTablesRequest parent */
                    parent?: (string|null);

                    /** ListDataTablesRequest pageSize */
                    pageSize?: (number|null);

                    /** ListDataTablesRequest pageToken */
                    pageToken?: (string|null);

                    /** ListDataTablesRequest orderBy */
                    orderBy?: (string|null);
                }

                /** Represents a ListDataTablesRequest. */
                class ListDataTablesRequest implements IListDataTablesRequest {

                    /**
                     * Constructs a new ListDataTablesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListDataTablesRequest);

                    /** ListDataTablesRequest parent. */
                    public parent: string;

                    /** ListDataTablesRequest pageSize. */
                    public pageSize: number;

                    /** ListDataTablesRequest pageToken. */
                    public pageToken: string;

                    /** ListDataTablesRequest orderBy. */
                    public orderBy: string;

                    /**
                     * Creates a new ListDataTablesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListDataTablesRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListDataTablesRequest): google.cloud.chronicle.v1.ListDataTablesRequest;

                    /**
                     * Encodes the specified ListDataTablesRequest message. Does not implicitly {@link google.cloud.chronicle.v1.ListDataTablesRequest.verify|verify} messages.
                     * @param message ListDataTablesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListDataTablesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListDataTablesRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListDataTablesRequest.verify|verify} messages.
                     * @param message ListDataTablesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListDataTablesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListDataTablesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListDataTablesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListDataTablesRequest;

                    /**
                     * Decodes a ListDataTablesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListDataTablesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListDataTablesRequest;

                    /**
                     * Verifies a ListDataTablesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListDataTablesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListDataTablesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListDataTablesRequest;

                    /**
                     * Creates a plain object from a ListDataTablesRequest message. Also converts values to other types if specified.
                     * @param message ListDataTablesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListDataTablesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListDataTablesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListDataTablesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DeleteDataTableRequest. */
                interface IDeleteDataTableRequest {

                    /** DeleteDataTableRequest name */
                    name?: (string|null);

                    /** DeleteDataTableRequest force */
                    force?: (boolean|null);
                }

                /** Represents a DeleteDataTableRequest. */
                class DeleteDataTableRequest implements IDeleteDataTableRequest {

                    /**
                     * Constructs a new DeleteDataTableRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDeleteDataTableRequest);

                    /** DeleteDataTableRequest name. */
                    public name: string;

                    /** DeleteDataTableRequest force. */
                    public force: boolean;

                    /**
                     * Creates a new DeleteDataTableRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DeleteDataTableRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDeleteDataTableRequest): google.cloud.chronicle.v1.DeleteDataTableRequest;

                    /**
                     * Encodes the specified DeleteDataTableRequest message. Does not implicitly {@link google.cloud.chronicle.v1.DeleteDataTableRequest.verify|verify} messages.
                     * @param message DeleteDataTableRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IDeleteDataTableRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DeleteDataTableRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DeleteDataTableRequest.verify|verify} messages.
                     * @param message DeleteDataTableRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IDeleteDataTableRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DeleteDataTableRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DeleteDataTableRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DeleteDataTableRequest;

                    /**
                     * Decodes a DeleteDataTableRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DeleteDataTableRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DeleteDataTableRequest;

                    /**
                     * Verifies a DeleteDataTableRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DeleteDataTableRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DeleteDataTableRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DeleteDataTableRequest;

                    /**
                     * Creates a plain object from a DeleteDataTableRequest message. Also converts values to other types if specified.
                     * @param message DeleteDataTableRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DeleteDataTableRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DeleteDataTableRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DeleteDataTableRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListDataTablesResponse. */
                interface IListDataTablesResponse {

                    /** ListDataTablesResponse dataTables */
                    dataTables?: (google.cloud.chronicle.v1.IDataTable[]|null);

                    /** ListDataTablesResponse nextPageToken */
                    nextPageToken?: (string|null);
                }

                /** Represents a ListDataTablesResponse. */
                class ListDataTablesResponse implements IListDataTablesResponse {

                    /**
                     * Constructs a new ListDataTablesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListDataTablesResponse);

                    /** ListDataTablesResponse dataTables. */
                    public dataTables: google.cloud.chronicle.v1.IDataTable[];

                    /** ListDataTablesResponse nextPageToken. */
                    public nextPageToken: string;

                    /**
                     * Creates a new ListDataTablesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListDataTablesResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListDataTablesResponse): google.cloud.chronicle.v1.ListDataTablesResponse;

                    /**
                     * Encodes the specified ListDataTablesResponse message. Does not implicitly {@link google.cloud.chronicle.v1.ListDataTablesResponse.verify|verify} messages.
                     * @param message ListDataTablesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListDataTablesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListDataTablesResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListDataTablesResponse.verify|verify} messages.
                     * @param message ListDataTablesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListDataTablesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListDataTablesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListDataTablesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListDataTablesResponse;

                    /**
                     * Decodes a ListDataTablesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListDataTablesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListDataTablesResponse;

                    /**
                     * Verifies a ListDataTablesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListDataTablesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListDataTablesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListDataTablesResponse;

                    /**
                     * Creates a plain object from a ListDataTablesResponse message. Also converts values to other types if specified.
                     * @param message ListDataTablesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListDataTablesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListDataTablesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListDataTablesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreateDataTableRowRequest. */
                interface ICreateDataTableRowRequest {

                    /** CreateDataTableRowRequest parent */
                    parent?: (string|null);

                    /** CreateDataTableRowRequest dataTableRow */
                    dataTableRow?: (google.cloud.chronicle.v1.IDataTableRow|null);
                }

                /** Represents a CreateDataTableRowRequest. */
                class CreateDataTableRowRequest implements ICreateDataTableRowRequest {

                    /**
                     * Constructs a new CreateDataTableRowRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.ICreateDataTableRowRequest);

                    /** CreateDataTableRowRequest parent. */
                    public parent: string;

                    /** CreateDataTableRowRequest dataTableRow. */
                    public dataTableRow?: (google.cloud.chronicle.v1.IDataTableRow|null);

                    /**
                     * Creates a new CreateDataTableRowRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateDataTableRowRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.ICreateDataTableRowRequest): google.cloud.chronicle.v1.CreateDataTableRowRequest;

                    /**
                     * Encodes the specified CreateDataTableRowRequest message. Does not implicitly {@link google.cloud.chronicle.v1.CreateDataTableRowRequest.verify|verify} messages.
                     * @param message CreateDataTableRowRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.ICreateDataTableRowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateDataTableRowRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.CreateDataTableRowRequest.verify|verify} messages.
                     * @param message CreateDataTableRowRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.ICreateDataTableRowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateDataTableRowRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateDataTableRowRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.CreateDataTableRowRequest;

                    /**
                     * Decodes a CreateDataTableRowRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateDataTableRowRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.CreateDataTableRowRequest;

                    /**
                     * Verifies a CreateDataTableRowRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateDataTableRowRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateDataTableRowRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.CreateDataTableRowRequest;

                    /**
                     * Creates a plain object from a CreateDataTableRowRequest message. Also converts values to other types if specified.
                     * @param message CreateDataTableRowRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.CreateDataTableRowRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateDataTableRowRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateDataTableRowRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateDataTableRowRequest. */
                interface IUpdateDataTableRowRequest {

                    /** UpdateDataTableRowRequest dataTableRow */
                    dataTableRow?: (google.cloud.chronicle.v1.IDataTableRow|null);

                    /** UpdateDataTableRowRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateDataTableRowRequest. */
                class UpdateDataTableRowRequest implements IUpdateDataTableRowRequest {

                    /**
                     * Constructs a new UpdateDataTableRowRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IUpdateDataTableRowRequest);

                    /** UpdateDataTableRowRequest dataTableRow. */
                    public dataTableRow?: (google.cloud.chronicle.v1.IDataTableRow|null);

                    /** UpdateDataTableRowRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateDataTableRowRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateDataTableRowRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IUpdateDataTableRowRequest): google.cloud.chronicle.v1.UpdateDataTableRowRequest;

                    /**
                     * Encodes the specified UpdateDataTableRowRequest message. Does not implicitly {@link google.cloud.chronicle.v1.UpdateDataTableRowRequest.verify|verify} messages.
                     * @param message UpdateDataTableRowRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IUpdateDataTableRowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateDataTableRowRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.UpdateDataTableRowRequest.verify|verify} messages.
                     * @param message UpdateDataTableRowRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IUpdateDataTableRowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateDataTableRowRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateDataTableRowRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.UpdateDataTableRowRequest;

                    /**
                     * Decodes an UpdateDataTableRowRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateDataTableRowRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.UpdateDataTableRowRequest;

                    /**
                     * Verifies an UpdateDataTableRowRequest message.
                     * @param message Plain 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 UpdateDataTableRowRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateDataTableRowRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.UpdateDataTableRowRequest;

                    /**
                     * Creates a plain object from an UpdateDataTableRowRequest message. Also converts values to other types if specified.
                     * @param message UpdateDataTableRowRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.UpdateDataTableRowRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateDataTableRowRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateDataTableRowRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListDataTableRowsRequest. */
                interface IListDataTableRowsRequest {

                    /** ListDataTableRowsRequest parent */
                    parent?: (string|null);

                    /** ListDataTableRowsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListDataTableRowsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListDataTableRowsRequest orderBy */
                    orderBy?: (string|null);

                    /** ListDataTableRowsRequest filter */
                    filter?: (string|null);
                }

                /** Represents a ListDataTableRowsRequest. */
                class ListDataTableRowsRequest implements IListDataTableRowsRequest {

                    /**
                     * Constructs a new ListDataTableRowsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListDataTableRowsRequest);

                    /** ListDataTableRowsRequest parent. */
                    public parent: string;

                    /** ListDataTableRowsRequest pageSize. */
                    public pageSize: number;

                    /** ListDataTableRowsRequest pageToken. */
                    public pageToken: string;

                    /** ListDataTableRowsRequest orderBy. */
                    public orderBy: string;

                    /** ListDataTableRowsRequest filter. */
                    public filter: string;

                    /**
                     * Creates a new ListDataTableRowsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListDataTableRowsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListDataTableRowsRequest): google.cloud.chronicle.v1.ListDataTableRowsRequest;

                    /**
                     * Encodes the specified ListDataTableRowsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.ListDataTableRowsRequest.verify|verify} messages.
                     * @param message ListDataTableRowsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListDataTableRowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListDataTableRowsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListDataTableRowsRequest.verify|verify} messages.
                     * @param message ListDataTableRowsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListDataTableRowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListDataTableRowsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListDataTableRowsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListDataTableRowsRequest;

                    /**
                     * Decodes a ListDataTableRowsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListDataTableRowsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListDataTableRowsRequest;

                    /**
                     * Verifies a ListDataTableRowsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListDataTableRowsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListDataTableRowsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListDataTableRowsRequest;

                    /**
                     * Creates a plain object from a ListDataTableRowsRequest message. Also converts values to other types if specified.
                     * @param message ListDataTableRowsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListDataTableRowsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListDataTableRowsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListDataTableRowsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListDataTableRowsResponse. */
                interface IListDataTableRowsResponse {

                    /** ListDataTableRowsResponse dataTableRows */
                    dataTableRows?: (google.cloud.chronicle.v1.IDataTableRow[]|null);

                    /** ListDataTableRowsResponse nextPageToken */
                    nextPageToken?: (string|null);
                }

                /** Represents a ListDataTableRowsResponse. */
                class ListDataTableRowsResponse implements IListDataTableRowsResponse {

                    /**
                     * Constructs a new ListDataTableRowsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListDataTableRowsResponse);

                    /** ListDataTableRowsResponse dataTableRows. */
                    public dataTableRows: google.cloud.chronicle.v1.IDataTableRow[];

                    /** ListDataTableRowsResponse nextPageToken. */
                    public nextPageToken: string;

                    /**
                     * Creates a new ListDataTableRowsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListDataTableRowsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListDataTableRowsResponse): google.cloud.chronicle.v1.ListDataTableRowsResponse;

                    /**
                     * Encodes the specified ListDataTableRowsResponse message. Does not implicitly {@link google.cloud.chronicle.v1.ListDataTableRowsResponse.verify|verify} messages.
                     * @param message ListDataTableRowsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListDataTableRowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListDataTableRowsResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListDataTableRowsResponse.verify|verify} messages.
                     * @param message ListDataTableRowsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListDataTableRowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListDataTableRowsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListDataTableRowsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListDataTableRowsResponse;

                    /**
                     * Decodes a ListDataTableRowsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListDataTableRowsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListDataTableRowsResponse;

                    /**
                     * Verifies a ListDataTableRowsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListDataTableRowsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListDataTableRowsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListDataTableRowsResponse;

                    /**
                     * Creates a plain object from a ListDataTableRowsResponse message. Also converts values to other types if specified.
                     * @param message ListDataTableRowsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListDataTableRowsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListDataTableRowsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListDataTableRowsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a GetDataTableRowRequest. */
                interface IGetDataTableRowRequest {

                    /** GetDataTableRowRequest name */
                    name?: (string|null);
                }

                /** Represents a GetDataTableRowRequest. */
                class GetDataTableRowRequest implements IGetDataTableRowRequest {

                    /**
                     * Constructs a new GetDataTableRowRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetDataTableRowRequest);

                    /** GetDataTableRowRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetDataTableRowRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetDataTableRowRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetDataTableRowRequest): google.cloud.chronicle.v1.GetDataTableRowRequest;

                    /**
                     * Encodes the specified GetDataTableRowRequest message. Does not implicitly {@link google.cloud.chronicle.v1.GetDataTableRowRequest.verify|verify} messages.
                     * @param message GetDataTableRowRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IGetDataTableRowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetDataTableRowRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.GetDataTableRowRequest.verify|verify} messages.
                     * @param message GetDataTableRowRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IGetDataTableRowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetDataTableRowRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetDataTableRowRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.GetDataTableRowRequest;

                    /**
                     * Decodes a GetDataTableRowRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetDataTableRowRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.GetDataTableRowRequest;

                    /**
                     * Verifies a GetDataTableRowRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetDataTableRowRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetDataTableRowRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.GetDataTableRowRequest;

                    /**
                     * Creates a plain object from a GetDataTableRowRequest message. Also converts values to other types if specified.
                     * @param message GetDataTableRowRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.GetDataTableRowRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetDataTableRowRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetDataTableRowRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DeleteDataTableRowRequest. */
                interface IDeleteDataTableRowRequest {

                    /** DeleteDataTableRowRequest name */
                    name?: (string|null);
                }

                /** Represents a DeleteDataTableRowRequest. */
                class DeleteDataTableRowRequest implements IDeleteDataTableRowRequest {

                    /**
                     * Constructs a new DeleteDataTableRowRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDeleteDataTableRowRequest);

                    /** DeleteDataTableRowRequest name. */
                    public name: string;

                    /**
                     * Creates a new DeleteDataTableRowRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DeleteDataTableRowRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDeleteDataTableRowRequest): google.cloud.chronicle.v1.DeleteDataTableRowRequest;

                    /**
                     * Encodes the specified DeleteDataTableRowRequest message. Does not implicitly {@link google.cloud.chronicle.v1.DeleteDataTableRowRequest.verify|verify} messages.
                     * @param message DeleteDataTableRowRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IDeleteDataTableRowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DeleteDataTableRowRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DeleteDataTableRowRequest.verify|verify} messages.
                     * @param message DeleteDataTableRowRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IDeleteDataTableRowRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DeleteDataTableRowRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DeleteDataTableRowRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DeleteDataTableRowRequest;

                    /**
                     * Decodes a DeleteDataTableRowRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DeleteDataTableRowRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DeleteDataTableRowRequest;

                    /**
                     * Verifies a DeleteDataTableRowRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DeleteDataTableRowRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DeleteDataTableRowRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DeleteDataTableRowRequest;

                    /**
                     * Creates a plain object from a DeleteDataTableRowRequest message. Also converts values to other types if specified.
                     * @param message DeleteDataTableRowRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DeleteDataTableRowRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DeleteDataTableRowRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DeleteDataTableRowRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BulkCreateDataTableRowsRequest. */
                interface IBulkCreateDataTableRowsRequest {

                    /** BulkCreateDataTableRowsRequest parent */
                    parent?: (string|null);

                    /** BulkCreateDataTableRowsRequest requests */
                    requests?: (google.cloud.chronicle.v1.ICreateDataTableRowRequest[]|null);
                }

                /** Represents a BulkCreateDataTableRowsRequest. */
                class BulkCreateDataTableRowsRequest implements IBulkCreateDataTableRowsRequest {

                    /**
                     * Constructs a new BulkCreateDataTableRowsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IBulkCreateDataTableRowsRequest);

                    /** BulkCreateDataTableRowsRequest parent. */
                    public parent: string;

                    /** BulkCreateDataTableRowsRequest requests. */
                    public requests: google.cloud.chronicle.v1.ICreateDataTableRowRequest[];

                    /**
                     * Creates a new BulkCreateDataTableRowsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BulkCreateDataTableRowsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IBulkCreateDataTableRowsRequest): google.cloud.chronicle.v1.BulkCreateDataTableRowsRequest;

                    /**
                     * Encodes the specified BulkCreateDataTableRowsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.BulkCreateDataTableRowsRequest.verify|verify} messages.
                     * @param message BulkCreateDataTableRowsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IBulkCreateDataTableRowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BulkCreateDataTableRowsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.BulkCreateDataTableRowsRequest.verify|verify} messages.
                     * @param message BulkCreateDataTableRowsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IBulkCreateDataTableRowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BulkCreateDataTableRowsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BulkCreateDataTableRowsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.BulkCreateDataTableRowsRequest;

                    /**
                     * Decodes a BulkCreateDataTableRowsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BulkCreateDataTableRowsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.BulkCreateDataTableRowsRequest;

                    /**
                     * Verifies a BulkCreateDataTableRowsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BulkCreateDataTableRowsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BulkCreateDataTableRowsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.BulkCreateDataTableRowsRequest;

                    /**
                     * Creates a plain object from a BulkCreateDataTableRowsRequest message. Also converts values to other types if specified.
                     * @param message BulkCreateDataTableRowsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.BulkCreateDataTableRowsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BulkCreateDataTableRowsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BulkCreateDataTableRowsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BulkCreateDataTableRowsResponse. */
                interface IBulkCreateDataTableRowsResponse {

                    /** BulkCreateDataTableRowsResponse dataTableRows */
                    dataTableRows?: (google.cloud.chronicle.v1.IDataTableRow[]|null);
                }

                /** Represents a BulkCreateDataTableRowsResponse. */
                class BulkCreateDataTableRowsResponse implements IBulkCreateDataTableRowsResponse {

                    /**
                     * Constructs a new BulkCreateDataTableRowsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IBulkCreateDataTableRowsResponse);

                    /** BulkCreateDataTableRowsResponse dataTableRows. */
                    public dataTableRows: google.cloud.chronicle.v1.IDataTableRow[];

                    /**
                     * Creates a new BulkCreateDataTableRowsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BulkCreateDataTableRowsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IBulkCreateDataTableRowsResponse): google.cloud.chronicle.v1.BulkCreateDataTableRowsResponse;

                    /**
                     * Encodes the specified BulkCreateDataTableRowsResponse message. Does not implicitly {@link google.cloud.chronicle.v1.BulkCreateDataTableRowsResponse.verify|verify} messages.
                     * @param message BulkCreateDataTableRowsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IBulkCreateDataTableRowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BulkCreateDataTableRowsResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.BulkCreateDataTableRowsResponse.verify|verify} messages.
                     * @param message BulkCreateDataTableRowsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IBulkCreateDataTableRowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BulkCreateDataTableRowsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BulkCreateDataTableRowsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.BulkCreateDataTableRowsResponse;

                    /**
                     * Decodes a BulkCreateDataTableRowsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BulkCreateDataTableRowsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.BulkCreateDataTableRowsResponse;

                    /**
                     * Verifies a BulkCreateDataTableRowsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BulkCreateDataTableRowsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BulkCreateDataTableRowsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.BulkCreateDataTableRowsResponse;

                    /**
                     * Creates a plain object from a BulkCreateDataTableRowsResponse message. Also converts values to other types if specified.
                     * @param message BulkCreateDataTableRowsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.BulkCreateDataTableRowsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BulkCreateDataTableRowsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BulkCreateDataTableRowsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BulkGetDataTableRowsRequest. */
                interface IBulkGetDataTableRowsRequest {

                    /** BulkGetDataTableRowsRequest parent */
                    parent?: (string|null);

                    /** BulkGetDataTableRowsRequest requests */
                    requests?: (google.cloud.chronicle.v1.IGetDataTableRowRequest[]|null);
                }

                /** Represents a BulkGetDataTableRowsRequest. */
                class BulkGetDataTableRowsRequest implements IBulkGetDataTableRowsRequest {

                    /**
                     * Constructs a new BulkGetDataTableRowsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IBulkGetDataTableRowsRequest);

                    /** BulkGetDataTableRowsRequest parent. */
                    public parent: string;

                    /** BulkGetDataTableRowsRequest requests. */
                    public requests: google.cloud.chronicle.v1.IGetDataTableRowRequest[];

                    /**
                     * Creates a new BulkGetDataTableRowsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BulkGetDataTableRowsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IBulkGetDataTableRowsRequest): google.cloud.chronicle.v1.BulkGetDataTableRowsRequest;

                    /**
                     * Encodes the specified BulkGetDataTableRowsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.BulkGetDataTableRowsRequest.verify|verify} messages.
                     * @param message BulkGetDataTableRowsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IBulkGetDataTableRowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BulkGetDataTableRowsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.BulkGetDataTableRowsRequest.verify|verify} messages.
                     * @param message BulkGetDataTableRowsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IBulkGetDataTableRowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BulkGetDataTableRowsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BulkGetDataTableRowsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.BulkGetDataTableRowsRequest;

                    /**
                     * Decodes a BulkGetDataTableRowsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BulkGetDataTableRowsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.BulkGetDataTableRowsRequest;

                    /**
                     * Verifies a BulkGetDataTableRowsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BulkGetDataTableRowsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BulkGetDataTableRowsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.BulkGetDataTableRowsRequest;

                    /**
                     * Creates a plain object from a BulkGetDataTableRowsRequest message. Also converts values to other types if specified.
                     * @param message BulkGetDataTableRowsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.BulkGetDataTableRowsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BulkGetDataTableRowsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BulkGetDataTableRowsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BulkGetDataTableRowsResponse. */
                interface IBulkGetDataTableRowsResponse {

                    /** BulkGetDataTableRowsResponse dataTableRows */
                    dataTableRows?: (google.cloud.chronicle.v1.IDataTableRow[]|null);
                }

                /** Represents a BulkGetDataTableRowsResponse. */
                class BulkGetDataTableRowsResponse implements IBulkGetDataTableRowsResponse {

                    /**
                     * Constructs a new BulkGetDataTableRowsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IBulkGetDataTableRowsResponse);

                    /** BulkGetDataTableRowsResponse dataTableRows. */
                    public dataTableRows: google.cloud.chronicle.v1.IDataTableRow[];

                    /**
                     * Creates a new BulkGetDataTableRowsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BulkGetDataTableRowsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IBulkGetDataTableRowsResponse): google.cloud.chronicle.v1.BulkGetDataTableRowsResponse;

                    /**
                     * Encodes the specified BulkGetDataTableRowsResponse message. Does not implicitly {@link google.cloud.chronicle.v1.BulkGetDataTableRowsResponse.verify|verify} messages.
                     * @param message BulkGetDataTableRowsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IBulkGetDataTableRowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BulkGetDataTableRowsResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.BulkGetDataTableRowsResponse.verify|verify} messages.
                     * @param message BulkGetDataTableRowsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IBulkGetDataTableRowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BulkGetDataTableRowsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BulkGetDataTableRowsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.BulkGetDataTableRowsResponse;

                    /**
                     * Decodes a BulkGetDataTableRowsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BulkGetDataTableRowsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.BulkGetDataTableRowsResponse;

                    /**
                     * Verifies a BulkGetDataTableRowsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BulkGetDataTableRowsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BulkGetDataTableRowsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.BulkGetDataTableRowsResponse;

                    /**
                     * Creates a plain object from a BulkGetDataTableRowsResponse message. Also converts values to other types if specified.
                     * @param message BulkGetDataTableRowsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.BulkGetDataTableRowsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BulkGetDataTableRowsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BulkGetDataTableRowsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BulkReplaceDataTableRowsRequest. */
                interface IBulkReplaceDataTableRowsRequest {

                    /** BulkReplaceDataTableRowsRequest parent */
                    parent?: (string|null);

                    /** BulkReplaceDataTableRowsRequest requests */
                    requests?: (google.cloud.chronicle.v1.ICreateDataTableRowRequest[]|null);
                }

                /** Represents a BulkReplaceDataTableRowsRequest. */
                class BulkReplaceDataTableRowsRequest implements IBulkReplaceDataTableRowsRequest {

                    /**
                     * Constructs a new BulkReplaceDataTableRowsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IBulkReplaceDataTableRowsRequest);

                    /** BulkReplaceDataTableRowsRequest parent. */
                    public parent: string;

                    /** BulkReplaceDataTableRowsRequest requests. */
                    public requests: google.cloud.chronicle.v1.ICreateDataTableRowRequest[];

                    /**
                     * Creates a new BulkReplaceDataTableRowsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BulkReplaceDataTableRowsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IBulkReplaceDataTableRowsRequest): google.cloud.chronicle.v1.BulkReplaceDataTableRowsRequest;

                    /**
                     * Encodes the specified BulkReplaceDataTableRowsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.BulkReplaceDataTableRowsRequest.verify|verify} messages.
                     * @param message BulkReplaceDataTableRowsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IBulkReplaceDataTableRowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BulkReplaceDataTableRowsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.BulkReplaceDataTableRowsRequest.verify|verify} messages.
                     * @param message BulkReplaceDataTableRowsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IBulkReplaceDataTableRowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BulkReplaceDataTableRowsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BulkReplaceDataTableRowsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.BulkReplaceDataTableRowsRequest;

                    /**
                     * Decodes a BulkReplaceDataTableRowsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BulkReplaceDataTableRowsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.BulkReplaceDataTableRowsRequest;

                    /**
                     * Verifies a BulkReplaceDataTableRowsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BulkReplaceDataTableRowsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BulkReplaceDataTableRowsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.BulkReplaceDataTableRowsRequest;

                    /**
                     * Creates a plain object from a BulkReplaceDataTableRowsRequest message. Also converts values to other types if specified.
                     * @param message BulkReplaceDataTableRowsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.BulkReplaceDataTableRowsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BulkReplaceDataTableRowsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BulkReplaceDataTableRowsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BulkReplaceDataTableRowsResponse. */
                interface IBulkReplaceDataTableRowsResponse {

                    /** BulkReplaceDataTableRowsResponse dataTableRows */
                    dataTableRows?: (google.cloud.chronicle.v1.IDataTableRow[]|null);
                }

                /** Represents a BulkReplaceDataTableRowsResponse. */
                class BulkReplaceDataTableRowsResponse implements IBulkReplaceDataTableRowsResponse {

                    /**
                     * Constructs a new BulkReplaceDataTableRowsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IBulkReplaceDataTableRowsResponse);

                    /** BulkReplaceDataTableRowsResponse dataTableRows. */
                    public dataTableRows: google.cloud.chronicle.v1.IDataTableRow[];

                    /**
                     * Creates a new BulkReplaceDataTableRowsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BulkReplaceDataTableRowsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IBulkReplaceDataTableRowsResponse): google.cloud.chronicle.v1.BulkReplaceDataTableRowsResponse;

                    /**
                     * Encodes the specified BulkReplaceDataTableRowsResponse message. Does not implicitly {@link google.cloud.chronicle.v1.BulkReplaceDataTableRowsResponse.verify|verify} messages.
                     * @param message BulkReplaceDataTableRowsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IBulkReplaceDataTableRowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BulkReplaceDataTableRowsResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.BulkReplaceDataTableRowsResponse.verify|verify} messages.
                     * @param message BulkReplaceDataTableRowsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IBulkReplaceDataTableRowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BulkReplaceDataTableRowsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BulkReplaceDataTableRowsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.BulkReplaceDataTableRowsResponse;

                    /**
                     * Decodes a BulkReplaceDataTableRowsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BulkReplaceDataTableRowsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.BulkReplaceDataTableRowsResponse;

                    /**
                     * Verifies a BulkReplaceDataTableRowsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BulkReplaceDataTableRowsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BulkReplaceDataTableRowsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.BulkReplaceDataTableRowsResponse;

                    /**
                     * Creates a plain object from a BulkReplaceDataTableRowsResponse message. Also converts values to other types if specified.
                     * @param message BulkReplaceDataTableRowsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.BulkReplaceDataTableRowsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BulkReplaceDataTableRowsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BulkReplaceDataTableRowsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BulkUpdateDataTableRowsRequest. */
                interface IBulkUpdateDataTableRowsRequest {

                    /** BulkUpdateDataTableRowsRequest parent */
                    parent?: (string|null);

                    /** BulkUpdateDataTableRowsRequest requests */
                    requests?: (google.cloud.chronicle.v1.IUpdateDataTableRowRequest[]|null);
                }

                /** Represents a BulkUpdateDataTableRowsRequest. */
                class BulkUpdateDataTableRowsRequest implements IBulkUpdateDataTableRowsRequest {

                    /**
                     * Constructs a new BulkUpdateDataTableRowsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IBulkUpdateDataTableRowsRequest);

                    /** BulkUpdateDataTableRowsRequest parent. */
                    public parent: string;

                    /** BulkUpdateDataTableRowsRequest requests. */
                    public requests: google.cloud.chronicle.v1.IUpdateDataTableRowRequest[];

                    /**
                     * Creates a new BulkUpdateDataTableRowsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BulkUpdateDataTableRowsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IBulkUpdateDataTableRowsRequest): google.cloud.chronicle.v1.BulkUpdateDataTableRowsRequest;

                    /**
                     * Encodes the specified BulkUpdateDataTableRowsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.BulkUpdateDataTableRowsRequest.verify|verify} messages.
                     * @param message BulkUpdateDataTableRowsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IBulkUpdateDataTableRowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BulkUpdateDataTableRowsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.BulkUpdateDataTableRowsRequest.verify|verify} messages.
                     * @param message BulkUpdateDataTableRowsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IBulkUpdateDataTableRowsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BulkUpdateDataTableRowsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BulkUpdateDataTableRowsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.BulkUpdateDataTableRowsRequest;

                    /**
                     * Decodes a BulkUpdateDataTableRowsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BulkUpdateDataTableRowsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.BulkUpdateDataTableRowsRequest;

                    /**
                     * Verifies a BulkUpdateDataTableRowsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BulkUpdateDataTableRowsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BulkUpdateDataTableRowsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.BulkUpdateDataTableRowsRequest;

                    /**
                     * Creates a plain object from a BulkUpdateDataTableRowsRequest message. Also converts values to other types if specified.
                     * @param message BulkUpdateDataTableRowsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.BulkUpdateDataTableRowsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BulkUpdateDataTableRowsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BulkUpdateDataTableRowsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a BulkUpdateDataTableRowsResponse. */
                interface IBulkUpdateDataTableRowsResponse {

                    /** BulkUpdateDataTableRowsResponse dataTableRows */
                    dataTableRows?: (google.cloud.chronicle.v1.IDataTableRow[]|null);
                }

                /** Represents a BulkUpdateDataTableRowsResponse. */
                class BulkUpdateDataTableRowsResponse implements IBulkUpdateDataTableRowsResponse {

                    /**
                     * Constructs a new BulkUpdateDataTableRowsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IBulkUpdateDataTableRowsResponse);

                    /** BulkUpdateDataTableRowsResponse dataTableRows. */
                    public dataTableRows: google.cloud.chronicle.v1.IDataTableRow[];

                    /**
                     * Creates a new BulkUpdateDataTableRowsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns BulkUpdateDataTableRowsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IBulkUpdateDataTableRowsResponse): google.cloud.chronicle.v1.BulkUpdateDataTableRowsResponse;

                    /**
                     * Encodes the specified BulkUpdateDataTableRowsResponse message. Does not implicitly {@link google.cloud.chronicle.v1.BulkUpdateDataTableRowsResponse.verify|verify} messages.
                     * @param message BulkUpdateDataTableRowsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IBulkUpdateDataTableRowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified BulkUpdateDataTableRowsResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.BulkUpdateDataTableRowsResponse.verify|verify} messages.
                     * @param message BulkUpdateDataTableRowsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IBulkUpdateDataTableRowsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a BulkUpdateDataTableRowsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns BulkUpdateDataTableRowsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.BulkUpdateDataTableRowsResponse;

                    /**
                     * Decodes a BulkUpdateDataTableRowsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns BulkUpdateDataTableRowsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.BulkUpdateDataTableRowsResponse;

                    /**
                     * Verifies a BulkUpdateDataTableRowsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a BulkUpdateDataTableRowsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns BulkUpdateDataTableRowsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.BulkUpdateDataTableRowsResponse;

                    /**
                     * Creates a plain object from a BulkUpdateDataTableRowsResponse message. Also converts values to other types if specified.
                     * @param message BulkUpdateDataTableRowsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.BulkUpdateDataTableRowsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this BulkUpdateDataTableRowsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for BulkUpdateDataTableRowsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DataTableScopeInfo. */
                interface IDataTableScopeInfo {

                    /** DataTableScopeInfo dataAccessScopes */
                    dataAccessScopes?: (string[]|null);
                }

                /** Represents a DataTableScopeInfo. */
                class DataTableScopeInfo implements IDataTableScopeInfo {

                    /**
                     * Constructs a new DataTableScopeInfo.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDataTableScopeInfo);

                    /** DataTableScopeInfo dataAccessScopes. */
                    public dataAccessScopes: string[];

                    /**
                     * Creates a new DataTableScopeInfo instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DataTableScopeInfo instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDataTableScopeInfo): google.cloud.chronicle.v1.DataTableScopeInfo;

                    /**
                     * Encodes the specified DataTableScopeInfo message. Does not implicitly {@link google.cloud.chronicle.v1.DataTableScopeInfo.verify|verify} messages.
                     * @param message DataTableScopeInfo message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IDataTableScopeInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DataTableScopeInfo message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DataTableScopeInfo.verify|verify} messages.
                     * @param message DataTableScopeInfo message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IDataTableScopeInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DataTableScopeInfo message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DataTableScopeInfo
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DataTableScopeInfo;

                    /**
                     * Decodes a DataTableScopeInfo message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DataTableScopeInfo
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DataTableScopeInfo;

                    /**
                     * Verifies a DataTableScopeInfo message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DataTableScopeInfo message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DataTableScopeInfo
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DataTableScopeInfo;

                    /**
                     * Creates a plain object from a DataTableScopeInfo message. Also converts values to other types if specified.
                     * @param message DataTableScopeInfo
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DataTableScopeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DataTableScopeInfo to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DataTableScopeInfo
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DataTable. */
                interface IDataTable {

                    /** DataTable name */
                    name?: (string|null);

                    /** DataTable displayName */
                    displayName?: (string|null);

                    /** DataTable description */
                    description?: (string|null);

                    /** DataTable createTime */
                    createTime?: (google.protobuf.ITimestamp|null);

                    /** DataTable updateTime */
                    updateTime?: (google.protobuf.ITimestamp|null);

                    /** DataTable columnInfo */
                    columnInfo?: (google.cloud.chronicle.v1.IDataTableColumnInfo[]|null);

                    /** DataTable dataTableUuid */
                    dataTableUuid?: (string|null);

                    /** DataTable rules */
                    rules?: (string[]|null);

                    /** DataTable ruleAssociationsCount */
                    ruleAssociationsCount?: (number|null);

                    /** DataTable rowTimeToLive */
                    rowTimeToLive?: (string|null);

                    /** DataTable approximateRowCount */
                    approximateRowCount?: (number|Long|string|null);

                    /** DataTable scopeInfo */
                    scopeInfo?: (google.cloud.chronicle.v1.IDataTableScopeInfo|null);

                    /** DataTable updateSource */
                    updateSource?: (google.cloud.chronicle.v1.DataTableUpdateSource|keyof typeof google.cloud.chronicle.v1.DataTableUpdateSource|null);

                    /** DataTable rowTimeToLiveUpdateTime */
                    rowTimeToLiveUpdateTime?: (google.protobuf.ITimestamp|null);
                }

                /** Represents a DataTable. */
                class DataTable implements IDataTable {

                    /**
                     * Constructs a new DataTable.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDataTable);

                    /** DataTable name. */
                    public name: string;

                    /** DataTable displayName. */
                    public displayName: string;

                    /** DataTable description. */
                    public description: string;

                    /** DataTable createTime. */
                    public createTime?: (google.protobuf.ITimestamp|null);

                    /** DataTable updateTime. */
                    public updateTime?: (google.protobuf.ITimestamp|null);

                    /** DataTable columnInfo. */
                    public columnInfo: google.cloud.chronicle.v1.IDataTableColumnInfo[];

                    /** DataTable dataTableUuid. */
                    public dataTableUuid: string;

                    /** DataTable rules. */
                    public rules: string[];

                    /** DataTable ruleAssociationsCount. */
                    public ruleAssociationsCount: number;

                    /** DataTable rowTimeToLive. */
                    public rowTimeToLive: string;

                    /** DataTable approximateRowCount. */
                    public approximateRowCount: (number|Long|string);

                    /** DataTable scopeInfo. */
                    public scopeInfo?: (google.cloud.chronicle.v1.IDataTableScopeInfo|null);

                    /** DataTable updateSource. */
                    public updateSource: (google.cloud.chronicle.v1.DataTableUpdateSource|keyof typeof google.cloud.chronicle.v1.DataTableUpdateSource);

                    /** DataTable rowTimeToLiveUpdateTime. */
                    public rowTimeToLiveUpdateTime?: (google.protobuf.ITimestamp|null);

                    /**
                     * Creates a new DataTable instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DataTable instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDataTable): google.cloud.chronicle.v1.DataTable;

                    /**
                     * Encodes the specified DataTable message. Does not implicitly {@link google.cloud.chronicle.v1.DataTable.verify|verify} messages.
                     * @param message DataTable message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IDataTable, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DataTable message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DataTable.verify|verify} messages.
                     * @param message DataTable message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IDataTable, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DataTable message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DataTable
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DataTable;

                    /**
                     * Decodes a DataTable message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DataTable
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DataTable;

                    /**
                     * Verifies a DataTable message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DataTable message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DataTable
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DataTable;

                    /**
                     * Creates a plain object from a DataTable message. Also converts values to other types if specified.
                     * @param message DataTable
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DataTable, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DataTable to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DataTable
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DataTableRow. */
                interface IDataTableRow {

                    /** DataTableRow name */
                    name?: (string|null);

                    /** DataTableRow values */
                    values?: (string[]|null);

                    /** DataTableRow createTime */
                    createTime?: (google.protobuf.ITimestamp|null);

                    /** DataTableRow updateTime */
                    updateTime?: (google.protobuf.ITimestamp|null);

                    /** DataTableRow rowTimeToLive */
                    rowTimeToLive?: (string|null);
                }

                /** Represents a DataTableRow. */
                class DataTableRow implements IDataTableRow {

                    /**
                     * Constructs a new DataTableRow.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDataTableRow);

                    /** DataTableRow name. */
                    public name: string;

                    /** DataTableRow values. */
                    public values: string[];

                    /** DataTableRow createTime. */
                    public createTime?: (google.protobuf.ITimestamp|null);

                    /** DataTableRow updateTime. */
                    public updateTime?: (google.protobuf.ITimestamp|null);

                    /** DataTableRow rowTimeToLive. */
                    public rowTimeToLive: string;

                    /**
                     * Creates a new DataTableRow instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DataTableRow instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDataTableRow): google.cloud.chronicle.v1.DataTableRow;

                    /**
                     * Encodes the specified DataTableRow message. Does not implicitly {@link google.cloud.chronicle.v1.DataTableRow.verify|verify} messages.
                     * @param message DataTableRow message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IDataTableRow, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DataTableRow message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DataTableRow.verify|verify} messages.
                     * @param message DataTableRow message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IDataTableRow, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DataTableRow message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DataTableRow
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DataTableRow;

                    /**
                     * Decodes a DataTableRow message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DataTableRow
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DataTableRow;

                    /**
                     * Verifies a DataTableRow message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DataTableRow message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DataTableRow
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DataTableRow;

                    /**
                     * Creates a plain object from a DataTableRow message. Also converts values to other types if specified.
                     * @param message DataTableRow
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DataTableRow, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DataTableRow to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DataTableRow
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DataTableColumnInfo. */
                interface IDataTableColumnInfo {

                    /** DataTableColumnInfo mappedColumnPath */
                    mappedColumnPath?: (string|null);

                    /** DataTableColumnInfo columnType */
                    columnType?: (google.cloud.chronicle.v1.DataTableColumnInfo.DataTableColumnType|keyof typeof google.cloud.chronicle.v1.DataTableColumnInfo.DataTableColumnType|null);

                    /** DataTableColumnInfo columnIndex */
                    columnIndex?: (number|null);

                    /** DataTableColumnInfo originalColumn */
                    originalColumn?: (string|null);

                    /** DataTableColumnInfo keyColumn */
                    keyColumn?: (boolean|null);

                    /** DataTableColumnInfo repeatedValues */
                    repeatedValues?: (boolean|null);
                }

                /** Represents a DataTableColumnInfo. */
                class DataTableColumnInfo implements IDataTableColumnInfo {

                    /**
                     * Constructs a new DataTableColumnInfo.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDataTableColumnInfo);

                    /** DataTableColumnInfo mappedColumnPath. */
                    public mappedColumnPath?: (string|null);

                    /** DataTableColumnInfo columnType. */
                    public columnType?: (google.cloud.chronicle.v1.DataTableColumnInfo.DataTableColumnType|keyof typeof google.cloud.chronicle.v1.DataTableColumnInfo.DataTableColumnType|null);

                    /** DataTableColumnInfo columnIndex. */
                    public columnIndex: number;

                    /** DataTableColumnInfo originalColumn. */
                    public originalColumn: string;

                    /** DataTableColumnInfo keyColumn. */
                    public keyColumn: boolean;

                    /** DataTableColumnInfo repeatedValues. */
                    public repeatedValues: boolean;

                    /** DataTableColumnInfo pathOrType. */
                    public pathOrType?: ("mappedColumnPath"|"columnType");

                    /**
                     * Creates a new DataTableColumnInfo instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DataTableColumnInfo instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDataTableColumnInfo): google.cloud.chronicle.v1.DataTableColumnInfo;

                    /**
                     * Encodes the specified DataTableColumnInfo message. Does not implicitly {@link google.cloud.chronicle.v1.DataTableColumnInfo.verify|verify} messages.
                     * @param message DataTableColumnInfo message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IDataTableColumnInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DataTableColumnInfo message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DataTableColumnInfo.verify|verify} messages.
                     * @param message DataTableColumnInfo message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IDataTableColumnInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DataTableColumnInfo message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DataTableColumnInfo
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DataTableColumnInfo;

                    /**
                     * Decodes a DataTableColumnInfo message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DataTableColumnInfo
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DataTableColumnInfo;

                    /**
                     * Verifies a DataTableColumnInfo message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DataTableColumnInfo message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DataTableColumnInfo
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DataTableColumnInfo;

                    /**
                     * Creates a plain object from a DataTableColumnInfo message. Also converts values to other types if specified.
                     * @param message DataTableColumnInfo
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DataTableColumnInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DataTableColumnInfo to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DataTableColumnInfo
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace DataTableColumnInfo {

                    /** DataTableColumnType enum. */
                    enum DataTableColumnType {
                        DATA_TABLE_COLUMN_TYPE_UNSPECIFIED = 0,
                        STRING = 1,
                        REGEX = 2,
                        CIDR = 3,
                        NUMBER = 4
                    }
                }

                /** Properties of a GetDataTableOperationErrorsRequest. */
                interface IGetDataTableOperationErrorsRequest {

                    /** GetDataTableOperationErrorsRequest name */
                    name?: (string|null);
                }

                /** Represents a GetDataTableOperationErrorsRequest. */
                class GetDataTableOperationErrorsRequest implements IGetDataTableOperationErrorsRequest {

                    /**
                     * Constructs a new GetDataTableOperationErrorsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetDataTableOperationErrorsRequest);

                    /** GetDataTableOperationErrorsRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetDataTableOperationErrorsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetDataTableOperationErrorsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetDataTableOperationErrorsRequest): google.cloud.chronicle.v1.GetDataTableOperationErrorsRequest;

                    /**
                     * Encodes the specified GetDataTableOperationErrorsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.GetDataTableOperationErrorsRequest.verify|verify} messages.
                     * @param message GetDataTableOperationErrorsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IGetDataTableOperationErrorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetDataTableOperationErrorsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.GetDataTableOperationErrorsRequest.verify|verify} messages.
                     * @param message GetDataTableOperationErrorsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IGetDataTableOperationErrorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetDataTableOperationErrorsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetDataTableOperationErrorsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.GetDataTableOperationErrorsRequest;

                    /**
                     * Decodes a GetDataTableOperationErrorsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetDataTableOperationErrorsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.GetDataTableOperationErrorsRequest;

                    /**
                     * Verifies a GetDataTableOperationErrorsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetDataTableOperationErrorsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetDataTableOperationErrorsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.GetDataTableOperationErrorsRequest;

                    /**
                     * Creates a plain object from a GetDataTableOperationErrorsRequest message. Also converts values to other types if specified.
                     * @param message GetDataTableOperationErrorsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.GetDataTableOperationErrorsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetDataTableOperationErrorsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetDataTableOperationErrorsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DataTableOperationErrors. */
                interface IDataTableOperationErrors {

                    /** DataTableOperationErrors name */
                    name?: (string|null);

                    /** DataTableOperationErrors rpcErrors */
                    rpcErrors?: (google.rpc.IStatus[]|null);
                }

                /** Represents a DataTableOperationErrors. */
                class DataTableOperationErrors implements IDataTableOperationErrors {

                    /**
                     * Constructs a new DataTableOperationErrors.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDataTableOperationErrors);

                    /** DataTableOperationErrors name. */
                    public name: string;

                    /** DataTableOperationErrors rpcErrors. */
                    public rpcErrors: google.rpc.IStatus[];

                    /**
                     * Creates a new DataTableOperationErrors instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DataTableOperationErrors instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDataTableOperationErrors): google.cloud.chronicle.v1.DataTableOperationErrors;

                    /**
                     * Encodes the specified DataTableOperationErrors message. Does not implicitly {@link google.cloud.chronicle.v1.DataTableOperationErrors.verify|verify} messages.
                     * @param message DataTableOperationErrors message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IDataTableOperationErrors, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DataTableOperationErrors message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DataTableOperationErrors.verify|verify} messages.
                     * @param message DataTableOperationErrors message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IDataTableOperationErrors, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DataTableOperationErrors message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DataTableOperationErrors
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DataTableOperationErrors;

                    /**
                     * Decodes a DataTableOperationErrors message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DataTableOperationErrors
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DataTableOperationErrors;

                    /**
                     * Verifies a DataTableOperationErrors message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DataTableOperationErrors message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DataTableOperationErrors
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DataTableOperationErrors;

                    /**
                     * Creates a plain object from a DataTableOperationErrors message. Also converts values to other types if specified.
                     * @param message DataTableOperationErrors
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DataTableOperationErrors, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DataTableOperationErrors to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DataTableOperationErrors
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents an EntityService */
                class EntityService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new EntityService 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 EntityService 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): EntityService;

                    /**
                     * Calls GetWatchlist.
                     * @param request GetWatchlistRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Watchlist
                     */
                    public getWatchlist(request: google.cloud.chronicle.v1.IGetWatchlistRequest, callback: google.cloud.chronicle.v1.EntityService.GetWatchlistCallback): void;

                    /**
                     * Calls GetWatchlist.
                     * @param request GetWatchlistRequest message or plain object
                     * @returns Promise
                     */
                    public getWatchlist(request: google.cloud.chronicle.v1.IGetWatchlistRequest): Promise<google.cloud.chronicle.v1.Watchlist>;

                    /**
                     * Calls ListWatchlists.
                     * @param request ListWatchlistsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListWatchlistsResponse
                     */
                    public listWatchlists(request: google.cloud.chronicle.v1.IListWatchlistsRequest, callback: google.cloud.chronicle.v1.EntityService.ListWatchlistsCallback): void;

                    /**
                     * Calls ListWatchlists.
                     * @param request ListWatchlistsRequest message or plain object
                     * @returns Promise
                     */
                    public listWatchlists(request: google.cloud.chronicle.v1.IListWatchlistsRequest): Promise<google.cloud.chronicle.v1.ListWatchlistsResponse>;

                    /**
                     * Calls CreateWatchlist.
                     * @param request CreateWatchlistRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Watchlist
                     */
                    public createWatchlist(request: google.cloud.chronicle.v1.ICreateWatchlistRequest, callback: google.cloud.chronicle.v1.EntityService.CreateWatchlistCallback): void;

                    /**
                     * Calls CreateWatchlist.
                     * @param request CreateWatchlistRequest message or plain object
                     * @returns Promise
                     */
                    public createWatchlist(request: google.cloud.chronicle.v1.ICreateWatchlistRequest): Promise<google.cloud.chronicle.v1.Watchlist>;

                    /**
                     * Calls UpdateWatchlist.
                     * @param request UpdateWatchlistRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Watchlist
                     */
                    public updateWatchlist(request: google.cloud.chronicle.v1.IUpdateWatchlistRequest, callback: google.cloud.chronicle.v1.EntityService.UpdateWatchlistCallback): void;

                    /**
                     * Calls UpdateWatchlist.
                     * @param request UpdateWatchlistRequest message or plain object
                     * @returns Promise
                     */
                    public updateWatchlist(request: google.cloud.chronicle.v1.IUpdateWatchlistRequest): Promise<google.cloud.chronicle.v1.Watchlist>;

                    /**
                     * Calls DeleteWatchlist.
                     * @param request DeleteWatchlistRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Empty
                     */
                    public deleteWatchlist(request: google.cloud.chronicle.v1.IDeleteWatchlistRequest, callback: google.cloud.chronicle.v1.EntityService.DeleteWatchlistCallback): void;

                    /**
                     * Calls DeleteWatchlist.
                     * @param request DeleteWatchlistRequest message or plain object
                     * @returns Promise
                     */
                    public deleteWatchlist(request: google.cloud.chronicle.v1.IDeleteWatchlistRequest): Promise<google.protobuf.Empty>;
                }

                namespace EntityService {

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.EntityService|getWatchlist}.
                     * @param error Error, if any
                     * @param [response] Watchlist
                     */
                    type GetWatchlistCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.Watchlist) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.EntityService|listWatchlists}.
                     * @param error Error, if any
                     * @param [response] ListWatchlistsResponse
                     */
                    type ListWatchlistsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ListWatchlistsResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.EntityService|createWatchlist}.
                     * @param error Error, if any
                     * @param [response] Watchlist
                     */
                    type CreateWatchlistCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.Watchlist) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.EntityService|updateWatchlist}.
                     * @param error Error, if any
                     * @param [response] Watchlist
                     */
                    type UpdateWatchlistCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.Watchlist) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.EntityService|deleteWatchlist}.
                     * @param error Error, if any
                     * @param [response] Empty
                     */
                    type DeleteWatchlistCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
                }

                /** Properties of a Watchlist. */
                interface IWatchlist {

                    /** Watchlist name */
                    name?: (string|null);

                    /** Watchlist displayName */
                    displayName?: (string|null);

                    /** Watchlist description */
                    description?: (string|null);

                    /** Watchlist multiplyingFactor */
                    multiplyingFactor?: (number|null);

                    /** Watchlist entityPopulationMechanism */
                    entityPopulationMechanism?: (google.cloud.chronicle.v1.Watchlist.IEntityPopulationMechanism|null);

                    /** Watchlist entityCount */
                    entityCount?: (google.cloud.chronicle.v1.Watchlist.IEntityCount|null);

                    /** Watchlist createTime */
                    createTime?: (google.protobuf.ITimestamp|null);

                    /** Watchlist updateTime */
                    updateTime?: (google.protobuf.ITimestamp|null);

                    /** Watchlist watchlistUserPreferences */
                    watchlistUserPreferences?: (google.cloud.chronicle.v1.IWatchlistUserPreferences|null);
                }

                /** Represents a Watchlist. */
                class Watchlist implements IWatchlist {

                    /**
                     * Constructs a new Watchlist.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IWatchlist);

                    /** Watchlist name. */
                    public name: string;

                    /** Watchlist displayName. */
                    public displayName: string;

                    /** Watchlist description. */
                    public description: string;

                    /** Watchlist multiplyingFactor. */
                    public multiplyingFactor: number;

                    /** Watchlist entityPopulationMechanism. */
                    public entityPopulationMechanism?: (google.cloud.chronicle.v1.Watchlist.IEntityPopulationMechanism|null);

                    /** Watchlist entityCount. */
                    public entityCount?: (google.cloud.chronicle.v1.Watchlist.IEntityCount|null);

                    /** Watchlist createTime. */
                    public createTime?: (google.protobuf.ITimestamp|null);

                    /** Watchlist updateTime. */
                    public updateTime?: (google.protobuf.ITimestamp|null);

                    /** Watchlist watchlistUserPreferences. */
                    public watchlistUserPreferences?: (google.cloud.chronicle.v1.IWatchlistUserPreferences|null);

                    /**
                     * Creates a new Watchlist instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Watchlist instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IWatchlist): google.cloud.chronicle.v1.Watchlist;

                    /**
                     * Encodes the specified Watchlist message. Does not implicitly {@link google.cloud.chronicle.v1.Watchlist.verify|verify} messages.
                     * @param message Watchlist message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IWatchlist, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Watchlist message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.Watchlist.verify|verify} messages.
                     * @param message Watchlist message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IWatchlist, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Watchlist message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Watchlist
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.Watchlist;

                    /**
                     * Decodes a Watchlist message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Watchlist
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.Watchlist;

                    /**
                     * Verifies a Watchlist message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Watchlist message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Watchlist
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.Watchlist;

                    /**
                     * Creates a plain object from a Watchlist message. Also converts values to other types if specified.
                     * @param message Watchlist
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.Watchlist, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Watchlist to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Watchlist
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace Watchlist {

                    /** Properties of an EntityPopulationMechanism. */
                    interface IEntityPopulationMechanism {

                        /** EntityPopulationMechanism manual */
                        manual?: (google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism.IManual|null);
                    }

                    /** Represents an EntityPopulationMechanism. */
                    class EntityPopulationMechanism implements IEntityPopulationMechanism {

                        /**
                         * Constructs a new EntityPopulationMechanism.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.Watchlist.IEntityPopulationMechanism);

                        /** EntityPopulationMechanism manual. */
                        public manual?: (google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism.IManual|null);

                        /** EntityPopulationMechanism mechanism. */
                        public mechanism?: "manual";

                        /**
                         * Creates a new EntityPopulationMechanism instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns EntityPopulationMechanism instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.Watchlist.IEntityPopulationMechanism): google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism;

                        /**
                         * Encodes the specified EntityPopulationMechanism message. Does not implicitly {@link google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism.verify|verify} messages.
                         * @param message EntityPopulationMechanism message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.chronicle.v1.Watchlist.IEntityPopulationMechanism, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified EntityPopulationMechanism message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism.verify|verify} messages.
                         * @param message EntityPopulationMechanism message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.chronicle.v1.Watchlist.IEntityPopulationMechanism, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an EntityPopulationMechanism message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns EntityPopulationMechanism
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism;

                        /**
                         * Decodes an EntityPopulationMechanism message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns EntityPopulationMechanism
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism;

                        /**
                         * Verifies an EntityPopulationMechanism message.
                         * @param message Plain 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 EntityPopulationMechanism message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns EntityPopulationMechanism
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism;

                        /**
                         * Creates a plain object from an EntityPopulationMechanism message. Also converts values to other types if specified.
                         * @param message EntityPopulationMechanism
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this EntityPopulationMechanism to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for EntityPopulationMechanism
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace EntityPopulationMechanism {

                        /** Properties of a Manual. */
                        interface IManual {
                        }

                        /** Represents a Manual. */
                        class Manual implements IManual {

                            /**
                             * Constructs a new Manual.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism.IManual);

                            /**
                             * Creates a new Manual instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns Manual instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism.IManual): google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism.Manual;

                            /**
                             * Encodes the specified Manual message. Does not implicitly {@link google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism.Manual.verify|verify} messages.
                             * @param message Manual message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism.IManual, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified Manual message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism.Manual.verify|verify} messages.
                             * @param message Manual message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism.IManual, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a Manual message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns Manual
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism.Manual;

                            /**
                             * Decodes a Manual message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns Manual
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism.Manual;

                            /**
                             * Verifies a Manual message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a Manual message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns Manual
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism.Manual;

                            /**
                             * Creates a plain object from a Manual message. Also converts values to other types if specified.
                             * @param message Manual
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.chronicle.v1.Watchlist.EntityPopulationMechanism.Manual, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this Manual to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for Manual
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }

                    /** Properties of an EntityCount. */
                    interface IEntityCount {

                        /** EntityCount user */
                        user?: (number|null);

                        /** EntityCount asset */
                        asset?: (number|null);
                    }

                    /** Represents an EntityCount. */
                    class EntityCount implements IEntityCount {

                        /**
                         * Constructs a new EntityCount.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.Watchlist.IEntityCount);

                        /** EntityCount user. */
                        public user: number;

                        /** EntityCount asset. */
                        public asset: number;

                        /**
                         * Creates a new EntityCount instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns EntityCount instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.Watchlist.IEntityCount): google.cloud.chronicle.v1.Watchlist.EntityCount;

                        /**
                         * Encodes the specified EntityCount message. Does not implicitly {@link google.cloud.chronicle.v1.Watchlist.EntityCount.verify|verify} messages.
                         * @param message EntityCount message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.chronicle.v1.Watchlist.IEntityCount, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified EntityCount message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.Watchlist.EntityCount.verify|verify} messages.
                         * @param message EntityCount message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.chronicle.v1.Watchlist.IEntityCount, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes an EntityCount message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns EntityCount
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.Watchlist.EntityCount;

                        /**
                         * Decodes an EntityCount message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns EntityCount
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.Watchlist.EntityCount;

                        /**
                         * Verifies an EntityCount message.
                         * @param message Plain 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 EntityCount message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns EntityCount
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.Watchlist.EntityCount;

                        /**
                         * Creates a plain object from an EntityCount message. Also converts values to other types if specified.
                         * @param message EntityCount
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.chronicle.v1.Watchlist.EntityCount, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this EntityCount to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for EntityCount
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }
                }

                /** Properties of a WatchlistUserPreferences. */
                interface IWatchlistUserPreferences {

                    /** WatchlistUserPreferences pinned */
                    pinned?: (boolean|null);
                }

                /** Represents a WatchlistUserPreferences. */
                class WatchlistUserPreferences implements IWatchlistUserPreferences {

                    /**
                     * Constructs a new WatchlistUserPreferences.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IWatchlistUserPreferences);

                    /** WatchlistUserPreferences pinned. */
                    public pinned: boolean;

                    /**
                     * Creates a new WatchlistUserPreferences instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns WatchlistUserPreferences instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IWatchlistUserPreferences): google.cloud.chronicle.v1.WatchlistUserPreferences;

                    /**
                     * Encodes the specified WatchlistUserPreferences message. Does not implicitly {@link google.cloud.chronicle.v1.WatchlistUserPreferences.verify|verify} messages.
                     * @param message WatchlistUserPreferences message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IWatchlistUserPreferences, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified WatchlistUserPreferences message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.WatchlistUserPreferences.verify|verify} messages.
                     * @param message WatchlistUserPreferences message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IWatchlistUserPreferences, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a WatchlistUserPreferences message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns WatchlistUserPreferences
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.WatchlistUserPreferences;

                    /**
                     * Decodes a WatchlistUserPreferences message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns WatchlistUserPreferences
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.WatchlistUserPreferences;

                    /**
                     * Verifies a WatchlistUserPreferences message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a WatchlistUserPreferences message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns WatchlistUserPreferences
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.WatchlistUserPreferences;

                    /**
                     * Creates a plain object from a WatchlistUserPreferences message. Also converts values to other types if specified.
                     * @param message WatchlistUserPreferences
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.WatchlistUserPreferences, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this WatchlistUserPreferences to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for WatchlistUserPreferences
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a GetWatchlistRequest. */
                interface IGetWatchlistRequest {

                    /** GetWatchlistRequest name */
                    name?: (string|null);
                }

                /** Represents a GetWatchlistRequest. */
                class GetWatchlistRequest implements IGetWatchlistRequest {

                    /**
                     * Constructs a new GetWatchlistRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetWatchlistRequest);

                    /** GetWatchlistRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetWatchlistRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetWatchlistRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetWatchlistRequest): google.cloud.chronicle.v1.GetWatchlistRequest;

                    /**
                     * Encodes the specified GetWatchlistRequest message. Does not implicitly {@link google.cloud.chronicle.v1.GetWatchlistRequest.verify|verify} messages.
                     * @param message GetWatchlistRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IGetWatchlistRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetWatchlistRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.GetWatchlistRequest.verify|verify} messages.
                     * @param message GetWatchlistRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IGetWatchlistRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetWatchlistRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetWatchlistRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.GetWatchlistRequest;

                    /**
                     * Decodes a GetWatchlistRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetWatchlistRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.GetWatchlistRequest;

                    /**
                     * Verifies a GetWatchlistRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetWatchlistRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetWatchlistRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.GetWatchlistRequest;

                    /**
                     * Creates a plain object from a GetWatchlistRequest message. Also converts values to other types if specified.
                     * @param message GetWatchlistRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.GetWatchlistRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetWatchlistRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetWatchlistRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListWatchlistsRequest. */
                interface IListWatchlistsRequest {

                    /** ListWatchlistsRequest parent */
                    parent?: (string|null);

                    /** ListWatchlistsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListWatchlistsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListWatchlistsRequest filter */
                    filter?: (string|null);
                }

                /** Represents a ListWatchlistsRequest. */
                class ListWatchlistsRequest implements IListWatchlistsRequest {

                    /**
                     * Constructs a new ListWatchlistsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListWatchlistsRequest);

                    /** ListWatchlistsRequest parent. */
                    public parent: string;

                    /** ListWatchlistsRequest pageSize. */
                    public pageSize: number;

                    /** ListWatchlistsRequest pageToken. */
                    public pageToken: string;

                    /** ListWatchlistsRequest filter. */
                    public filter: string;

                    /**
                     * Creates a new ListWatchlistsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListWatchlistsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListWatchlistsRequest): google.cloud.chronicle.v1.ListWatchlistsRequest;

                    /**
                     * Encodes the specified ListWatchlistsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.ListWatchlistsRequest.verify|verify} messages.
                     * @param message ListWatchlistsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListWatchlistsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListWatchlistsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListWatchlistsRequest.verify|verify} messages.
                     * @param message ListWatchlistsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListWatchlistsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListWatchlistsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListWatchlistsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListWatchlistsRequest;

                    /**
                     * Decodes a ListWatchlistsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListWatchlistsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListWatchlistsRequest;

                    /**
                     * Verifies a ListWatchlistsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListWatchlistsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListWatchlistsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListWatchlistsRequest;

                    /**
                     * Creates a plain object from a ListWatchlistsRequest message. Also converts values to other types if specified.
                     * @param message ListWatchlistsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListWatchlistsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListWatchlistsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListWatchlistsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListWatchlistsResponse. */
                interface IListWatchlistsResponse {

                    /** ListWatchlistsResponse watchlists */
                    watchlists?: (google.cloud.chronicle.v1.IWatchlist[]|null);

                    /** ListWatchlistsResponse nextPageToken */
                    nextPageToken?: (string|null);
                }

                /** Represents a ListWatchlistsResponse. */
                class ListWatchlistsResponse implements IListWatchlistsResponse {

                    /**
                     * Constructs a new ListWatchlistsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListWatchlistsResponse);

                    /** ListWatchlistsResponse watchlists. */
                    public watchlists: google.cloud.chronicle.v1.IWatchlist[];

                    /** ListWatchlistsResponse nextPageToken. */
                    public nextPageToken: string;

                    /**
                     * Creates a new ListWatchlistsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListWatchlistsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListWatchlistsResponse): google.cloud.chronicle.v1.ListWatchlistsResponse;

                    /**
                     * Encodes the specified ListWatchlistsResponse message. Does not implicitly {@link google.cloud.chronicle.v1.ListWatchlistsResponse.verify|verify} messages.
                     * @param message ListWatchlistsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListWatchlistsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListWatchlistsResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListWatchlistsResponse.verify|verify} messages.
                     * @param message ListWatchlistsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListWatchlistsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListWatchlistsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListWatchlistsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListWatchlistsResponse;

                    /**
                     * Decodes a ListWatchlistsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListWatchlistsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListWatchlistsResponse;

                    /**
                     * Verifies a ListWatchlistsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListWatchlistsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListWatchlistsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListWatchlistsResponse;

                    /**
                     * Creates a plain object from a ListWatchlistsResponse message. Also converts values to other types if specified.
                     * @param message ListWatchlistsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListWatchlistsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListWatchlistsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListWatchlistsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreateWatchlistRequest. */
                interface ICreateWatchlistRequest {

                    /** CreateWatchlistRequest parent */
                    parent?: (string|null);

                    /** CreateWatchlistRequest watchlistId */
                    watchlistId?: (string|null);

                    /** CreateWatchlistRequest watchlist */
                    watchlist?: (google.cloud.chronicle.v1.IWatchlist|null);
                }

                /** Represents a CreateWatchlistRequest. */
                class CreateWatchlistRequest implements ICreateWatchlistRequest {

                    /**
                     * Constructs a new CreateWatchlistRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.ICreateWatchlistRequest);

                    /** CreateWatchlistRequest parent. */
                    public parent: string;

                    /** CreateWatchlistRequest watchlistId. */
                    public watchlistId: string;

                    /** CreateWatchlistRequest watchlist. */
                    public watchlist?: (google.cloud.chronicle.v1.IWatchlist|null);

                    /**
                     * Creates a new CreateWatchlistRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateWatchlistRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.ICreateWatchlistRequest): google.cloud.chronicle.v1.CreateWatchlistRequest;

                    /**
                     * Encodes the specified CreateWatchlistRequest message. Does not implicitly {@link google.cloud.chronicle.v1.CreateWatchlistRequest.verify|verify} messages.
                     * @param message CreateWatchlistRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.ICreateWatchlistRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateWatchlistRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.CreateWatchlistRequest.verify|verify} messages.
                     * @param message CreateWatchlistRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.ICreateWatchlistRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateWatchlistRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateWatchlistRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.CreateWatchlistRequest;

                    /**
                     * Decodes a CreateWatchlistRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateWatchlistRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.CreateWatchlistRequest;

                    /**
                     * Verifies a CreateWatchlistRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateWatchlistRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateWatchlistRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.CreateWatchlistRequest;

                    /**
                     * Creates a plain object from a CreateWatchlistRequest message. Also converts values to other types if specified.
                     * @param message CreateWatchlistRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.CreateWatchlistRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateWatchlistRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateWatchlistRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateWatchlistRequest. */
                interface IUpdateWatchlistRequest {

                    /** UpdateWatchlistRequest watchlist */
                    watchlist?: (google.cloud.chronicle.v1.IWatchlist|null);

                    /** UpdateWatchlistRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateWatchlistRequest. */
                class UpdateWatchlistRequest implements IUpdateWatchlistRequest {

                    /**
                     * Constructs a new UpdateWatchlistRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IUpdateWatchlistRequest);

                    /** UpdateWatchlistRequest watchlist. */
                    public watchlist?: (google.cloud.chronicle.v1.IWatchlist|null);

                    /** UpdateWatchlistRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateWatchlistRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateWatchlistRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IUpdateWatchlistRequest): google.cloud.chronicle.v1.UpdateWatchlistRequest;

                    /**
                     * Encodes the specified UpdateWatchlistRequest message. Does not implicitly {@link google.cloud.chronicle.v1.UpdateWatchlistRequest.verify|verify} messages.
                     * @param message UpdateWatchlistRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IUpdateWatchlistRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateWatchlistRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.UpdateWatchlistRequest.verify|verify} messages.
                     * @param message UpdateWatchlistRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IUpdateWatchlistRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateWatchlistRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateWatchlistRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.UpdateWatchlistRequest;

                    /**
                     * Decodes an UpdateWatchlistRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateWatchlistRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.UpdateWatchlistRequest;

                    /**
                     * Verifies an UpdateWatchlistRequest message.
                     * @param message Plain 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 UpdateWatchlistRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateWatchlistRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.UpdateWatchlistRequest;

                    /**
                     * Creates a plain object from an UpdateWatchlistRequest message. Also converts values to other types if specified.
                     * @param message UpdateWatchlistRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.UpdateWatchlistRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateWatchlistRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateWatchlistRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DeleteWatchlistRequest. */
                interface IDeleteWatchlistRequest {

                    /** DeleteWatchlistRequest name */
                    name?: (string|null);

                    /** DeleteWatchlistRequest force */
                    force?: (boolean|null);
                }

                /** Represents a DeleteWatchlistRequest. */
                class DeleteWatchlistRequest implements IDeleteWatchlistRequest {

                    /**
                     * Constructs a new DeleteWatchlistRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDeleteWatchlistRequest);

                    /** DeleteWatchlistRequest name. */
                    public name: string;

                    /** DeleteWatchlistRequest force. */
                    public force: boolean;

                    /**
                     * Creates a new DeleteWatchlistRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DeleteWatchlistRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDeleteWatchlistRequest): google.cloud.chronicle.v1.DeleteWatchlistRequest;

                    /**
                     * Encodes the specified DeleteWatchlistRequest message. Does not implicitly {@link google.cloud.chronicle.v1.DeleteWatchlistRequest.verify|verify} messages.
                     * @param message DeleteWatchlistRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IDeleteWatchlistRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DeleteWatchlistRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DeleteWatchlistRequest.verify|verify} messages.
                     * @param message DeleteWatchlistRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IDeleteWatchlistRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DeleteWatchlistRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DeleteWatchlistRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DeleteWatchlistRequest;

                    /**
                     * Decodes a DeleteWatchlistRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DeleteWatchlistRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DeleteWatchlistRequest;

                    /**
                     * Verifies a DeleteWatchlistRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DeleteWatchlistRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DeleteWatchlistRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DeleteWatchlistRequest;

                    /**
                     * Creates a plain object from a DeleteWatchlistRequest message. Also converts values to other types if specified.
                     * @param message DeleteWatchlistRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DeleteWatchlistRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DeleteWatchlistRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DeleteWatchlistRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a FeaturedContentMetadata. */
                interface IFeaturedContentMetadata {

                    /** FeaturedContentMetadata id */
                    id?: (string|null);

                    /** FeaturedContentMetadata displayName */
                    displayName?: (string|null);

                    /** FeaturedContentMetadata createTime */
                    createTime?: (google.protobuf.ITimestamp|null);

                    /** FeaturedContentMetadata updateTime */
                    updateTime?: (google.protobuf.ITimestamp|null);

                    /** FeaturedContentMetadata author */
                    author?: (string|null);

                    /** FeaturedContentMetadata certified */
                    certified?: (boolean|null);

                    /** FeaturedContentMetadata description */
                    description?: (string|null);

                    /** FeaturedContentMetadata categories */
                    categories?: (string[]|null);

                    /** FeaturedContentMetadata version */
                    version?: (string|null);

                    /** FeaturedContentMetadata verified */
                    verified?: (boolean|null);

                    /** FeaturedContentMetadata sourceType */
                    sourceType?: (google.cloud.chronicle.v1.FeaturedContentMetadata.ContentSourceType|keyof typeof google.cloud.chronicle.v1.FeaturedContentMetadata.ContentSourceType|null);
                }

                /** Represents a FeaturedContentMetadata. */
                class FeaturedContentMetadata implements IFeaturedContentMetadata {

                    /**
                     * Constructs a new FeaturedContentMetadata.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IFeaturedContentMetadata);

                    /** FeaturedContentMetadata id. */
                    public id: string;

                    /** FeaturedContentMetadata displayName. */
                    public displayName: string;

                    /** FeaturedContentMetadata createTime. */
                    public createTime?: (google.protobuf.ITimestamp|null);

                    /** FeaturedContentMetadata updateTime. */
                    public updateTime?: (google.protobuf.ITimestamp|null);

                    /** FeaturedContentMetadata author. */
                    public author: string;

                    /** FeaturedContentMetadata certified. */
                    public certified: boolean;

                    /** FeaturedContentMetadata description. */
                    public description: string;

                    /** FeaturedContentMetadata categories. */
                    public categories: string[];

                    /** FeaturedContentMetadata version. */
                    public version: string;

                    /** FeaturedContentMetadata verified. */
                    public verified?: (boolean|null);

                    /** FeaturedContentMetadata sourceType. */
                    public sourceType: (google.cloud.chronicle.v1.FeaturedContentMetadata.ContentSourceType|keyof typeof google.cloud.chronicle.v1.FeaturedContentMetadata.ContentSourceType);

                    /**
                     * Creates a new FeaturedContentMetadata instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns FeaturedContentMetadata instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IFeaturedContentMetadata): google.cloud.chronicle.v1.FeaturedContentMetadata;

                    /**
                     * Encodes the specified FeaturedContentMetadata message. Does not implicitly {@link google.cloud.chronicle.v1.FeaturedContentMetadata.verify|verify} messages.
                     * @param message FeaturedContentMetadata message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IFeaturedContentMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified FeaturedContentMetadata message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.FeaturedContentMetadata.verify|verify} messages.
                     * @param message FeaturedContentMetadata message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IFeaturedContentMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a FeaturedContentMetadata message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns FeaturedContentMetadata
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.FeaturedContentMetadata;

                    /**
                     * Decodes a FeaturedContentMetadata message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns FeaturedContentMetadata
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.FeaturedContentMetadata;

                    /**
                     * Verifies a FeaturedContentMetadata message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a FeaturedContentMetadata message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns FeaturedContentMetadata
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.FeaturedContentMetadata;

                    /**
                     * Creates a plain object from a FeaturedContentMetadata message. Also converts values to other types if specified.
                     * @param message FeaturedContentMetadata
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.FeaturedContentMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this FeaturedContentMetadata to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for FeaturedContentMetadata
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace FeaturedContentMetadata {

                    /** ContentSourceType enum. */
                    enum ContentSourceType {
                        CONTENT_SOURCE_TYPE_UNSPECIFIED = 0,
                        GOOGLE = 1,
                        COMMUNITY = 2,
                        PARTNER = 3
                    }
                }

                /** Represents a FeaturedContentNativeDashboardService */
                class FeaturedContentNativeDashboardService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new FeaturedContentNativeDashboardService 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 FeaturedContentNativeDashboardService 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): FeaturedContentNativeDashboardService;

                    /**
                     * Calls GetFeaturedContentNativeDashboard.
                     * @param request GetFeaturedContentNativeDashboardRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and FeaturedContentNativeDashboard
                     */
                    public getFeaturedContentNativeDashboard(request: google.cloud.chronicle.v1.IGetFeaturedContentNativeDashboardRequest, callback: google.cloud.chronicle.v1.FeaturedContentNativeDashboardService.GetFeaturedContentNativeDashboardCallback): void;

                    /**
                     * Calls GetFeaturedContentNativeDashboard.
                     * @param request GetFeaturedContentNativeDashboardRequest message or plain object
                     * @returns Promise
                     */
                    public getFeaturedContentNativeDashboard(request: google.cloud.chronicle.v1.IGetFeaturedContentNativeDashboardRequest): Promise<google.cloud.chronicle.v1.FeaturedContentNativeDashboard>;

                    /**
                     * Calls ListFeaturedContentNativeDashboards.
                     * @param request ListFeaturedContentNativeDashboardsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListFeaturedContentNativeDashboardsResponse
                     */
                    public listFeaturedContentNativeDashboards(request: google.cloud.chronicle.v1.IListFeaturedContentNativeDashboardsRequest, callback: google.cloud.chronicle.v1.FeaturedContentNativeDashboardService.ListFeaturedContentNativeDashboardsCallback): void;

                    /**
                     * Calls ListFeaturedContentNativeDashboards.
                     * @param request ListFeaturedContentNativeDashboardsRequest message or plain object
                     * @returns Promise
                     */
                    public listFeaturedContentNativeDashboards(request: google.cloud.chronicle.v1.IListFeaturedContentNativeDashboardsRequest): Promise<google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsResponse>;

                    /**
                     * Calls InstallFeaturedContentNativeDashboard.
                     * @param request InstallFeaturedContentNativeDashboardRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and InstallFeaturedContentNativeDashboardResponse
                     */
                    public installFeaturedContentNativeDashboard(request: google.cloud.chronicle.v1.IInstallFeaturedContentNativeDashboardRequest, callback: google.cloud.chronicle.v1.FeaturedContentNativeDashboardService.InstallFeaturedContentNativeDashboardCallback): void;

                    /**
                     * Calls InstallFeaturedContentNativeDashboard.
                     * @param request InstallFeaturedContentNativeDashboardRequest message or plain object
                     * @returns Promise
                     */
                    public installFeaturedContentNativeDashboard(request: google.cloud.chronicle.v1.IInstallFeaturedContentNativeDashboardRequest): Promise<google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardResponse>;
                }

                namespace FeaturedContentNativeDashboardService {

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.FeaturedContentNativeDashboardService|getFeaturedContentNativeDashboard}.
                     * @param error Error, if any
                     * @param [response] FeaturedContentNativeDashboard
                     */
                    type GetFeaturedContentNativeDashboardCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.FeaturedContentNativeDashboard) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.FeaturedContentNativeDashboardService|listFeaturedContentNativeDashboards}.
                     * @param error Error, if any
                     * @param [response] ListFeaturedContentNativeDashboardsResponse
                     */
                    type ListFeaturedContentNativeDashboardsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.FeaturedContentNativeDashboardService|installFeaturedContentNativeDashboard}.
                     * @param error Error, if any
                     * @param [response] InstallFeaturedContentNativeDashboardResponse
                     */
                    type InstallFeaturedContentNativeDashboardCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardResponse) => void;
                }

                /** Properties of a FeaturedContentNativeDashboard. */
                interface IFeaturedContentNativeDashboard {

                    /** FeaturedContentNativeDashboard name */
                    name?: (string|null);

                    /** FeaturedContentNativeDashboard contentMetadata */
                    contentMetadata?: (google.cloud.chronicle.v1.IFeaturedContentMetadata|null);

                    /** FeaturedContentNativeDashboard dashboardContent */
                    dashboardContent?: (google.cloud.chronicle.v1.INativeDashboardWithChartsAndQueries|null);
                }

                /** Represents a FeaturedContentNativeDashboard. */
                class FeaturedContentNativeDashboard implements IFeaturedContentNativeDashboard {

                    /**
                     * Constructs a new FeaturedContentNativeDashboard.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IFeaturedContentNativeDashboard);

                    /** FeaturedContentNativeDashboard name. */
                    public name: string;

                    /** FeaturedContentNativeDashboard contentMetadata. */
                    public contentMetadata?: (google.cloud.chronicle.v1.IFeaturedContentMetadata|null);

                    /** FeaturedContentNativeDashboard dashboardContent. */
                    public dashboardContent?: (google.cloud.chronicle.v1.INativeDashboardWithChartsAndQueries|null);

                    /**
                     * Creates a new FeaturedContentNativeDashboard instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns FeaturedContentNativeDashboard instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IFeaturedContentNativeDashboard): google.cloud.chronicle.v1.FeaturedContentNativeDashboard;

                    /**
                     * Encodes the specified FeaturedContentNativeDashboard message. Does not implicitly {@link google.cloud.chronicle.v1.FeaturedContentNativeDashboard.verify|verify} messages.
                     * @param message FeaturedContentNativeDashboard message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IFeaturedContentNativeDashboard, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified FeaturedContentNativeDashboard message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.FeaturedContentNativeDashboard.verify|verify} messages.
                     * @param message FeaturedContentNativeDashboard message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IFeaturedContentNativeDashboard, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a FeaturedContentNativeDashboard message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns FeaturedContentNativeDashboard
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.FeaturedContentNativeDashboard;

                    /**
                     * Decodes a FeaturedContentNativeDashboard message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns FeaturedContentNativeDashboard
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.FeaturedContentNativeDashboard;

                    /**
                     * Verifies a FeaturedContentNativeDashboard message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a FeaturedContentNativeDashboard message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns FeaturedContentNativeDashboard
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.FeaturedContentNativeDashboard;

                    /**
                     * Creates a plain object from a FeaturedContentNativeDashboard message. Also converts values to other types if specified.
                     * @param message FeaturedContentNativeDashboard
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.FeaturedContentNativeDashboard, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this FeaturedContentNativeDashboard to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for FeaturedContentNativeDashboard
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a GetFeaturedContentNativeDashboardRequest. */
                interface IGetFeaturedContentNativeDashboardRequest {

                    /** GetFeaturedContentNativeDashboardRequest name */
                    name?: (string|null);
                }

                /** Represents a GetFeaturedContentNativeDashboardRequest. */
                class GetFeaturedContentNativeDashboardRequest implements IGetFeaturedContentNativeDashboardRequest {

                    /**
                     * Constructs a new GetFeaturedContentNativeDashboardRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetFeaturedContentNativeDashboardRequest);

                    /** GetFeaturedContentNativeDashboardRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetFeaturedContentNativeDashboardRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetFeaturedContentNativeDashboardRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetFeaturedContentNativeDashboardRequest): google.cloud.chronicle.v1.GetFeaturedContentNativeDashboardRequest;

                    /**
                     * Encodes the specified GetFeaturedContentNativeDashboardRequest message. Does not implicitly {@link google.cloud.chronicle.v1.GetFeaturedContentNativeDashboardRequest.verify|verify} messages.
                     * @param message GetFeaturedContentNativeDashboardRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IGetFeaturedContentNativeDashboardRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetFeaturedContentNativeDashboardRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.GetFeaturedContentNativeDashboardRequest.verify|verify} messages.
                     * @param message GetFeaturedContentNativeDashboardRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IGetFeaturedContentNativeDashboardRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetFeaturedContentNativeDashboardRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetFeaturedContentNativeDashboardRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.GetFeaturedContentNativeDashboardRequest;

                    /**
                     * Decodes a GetFeaturedContentNativeDashboardRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetFeaturedContentNativeDashboardRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.GetFeaturedContentNativeDashboardRequest;

                    /**
                     * Verifies a GetFeaturedContentNativeDashboardRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetFeaturedContentNativeDashboardRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetFeaturedContentNativeDashboardRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.GetFeaturedContentNativeDashboardRequest;

                    /**
                     * Creates a plain object from a GetFeaturedContentNativeDashboardRequest message. Also converts values to other types if specified.
                     * @param message GetFeaturedContentNativeDashboardRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.GetFeaturedContentNativeDashboardRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetFeaturedContentNativeDashboardRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetFeaturedContentNativeDashboardRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListFeaturedContentNativeDashboardsRequest. */
                interface IListFeaturedContentNativeDashboardsRequest {

                    /** ListFeaturedContentNativeDashboardsRequest parent */
                    parent?: (string|null);

                    /** ListFeaturedContentNativeDashboardsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListFeaturedContentNativeDashboardsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListFeaturedContentNativeDashboardsRequest filter */
                    filter?: (string|null);
                }

                /** Represents a ListFeaturedContentNativeDashboardsRequest. */
                class ListFeaturedContentNativeDashboardsRequest implements IListFeaturedContentNativeDashboardsRequest {

                    /**
                     * Constructs a new ListFeaturedContentNativeDashboardsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListFeaturedContentNativeDashboardsRequest);

                    /** ListFeaturedContentNativeDashboardsRequest parent. */
                    public parent: string;

                    /** ListFeaturedContentNativeDashboardsRequest pageSize. */
                    public pageSize: number;

                    /** ListFeaturedContentNativeDashboardsRequest pageToken. */
                    public pageToken: string;

                    /** ListFeaturedContentNativeDashboardsRequest filter. */
                    public filter: string;

                    /**
                     * Creates a new ListFeaturedContentNativeDashboardsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListFeaturedContentNativeDashboardsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListFeaturedContentNativeDashboardsRequest): google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsRequest;

                    /**
                     * Encodes the specified ListFeaturedContentNativeDashboardsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsRequest.verify|verify} messages.
                     * @param message ListFeaturedContentNativeDashboardsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListFeaturedContentNativeDashboardsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListFeaturedContentNativeDashboardsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsRequest.verify|verify} messages.
                     * @param message ListFeaturedContentNativeDashboardsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListFeaturedContentNativeDashboardsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListFeaturedContentNativeDashboardsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListFeaturedContentNativeDashboardsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsRequest;

                    /**
                     * Decodes a ListFeaturedContentNativeDashboardsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListFeaturedContentNativeDashboardsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsRequest;

                    /**
                     * Verifies a ListFeaturedContentNativeDashboardsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListFeaturedContentNativeDashboardsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListFeaturedContentNativeDashboardsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsRequest;

                    /**
                     * Creates a plain object from a ListFeaturedContentNativeDashboardsRequest message. Also converts values to other types if specified.
                     * @param message ListFeaturedContentNativeDashboardsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListFeaturedContentNativeDashboardsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListFeaturedContentNativeDashboardsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListFeaturedContentNativeDashboardsResponse. */
                interface IListFeaturedContentNativeDashboardsResponse {

                    /** ListFeaturedContentNativeDashboardsResponse featuredContentNativeDashboards */
                    featuredContentNativeDashboards?: (google.cloud.chronicle.v1.IFeaturedContentNativeDashboard[]|null);

                    /** ListFeaturedContentNativeDashboardsResponse nextPageToken */
                    nextPageToken?: (string|null);
                }

                /** Represents a ListFeaturedContentNativeDashboardsResponse. */
                class ListFeaturedContentNativeDashboardsResponse implements IListFeaturedContentNativeDashboardsResponse {

                    /**
                     * Constructs a new ListFeaturedContentNativeDashboardsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListFeaturedContentNativeDashboardsResponse);

                    /** ListFeaturedContentNativeDashboardsResponse featuredContentNativeDashboards. */
                    public featuredContentNativeDashboards: google.cloud.chronicle.v1.IFeaturedContentNativeDashboard[];

                    /** ListFeaturedContentNativeDashboardsResponse nextPageToken. */
                    public nextPageToken: string;

                    /**
                     * Creates a new ListFeaturedContentNativeDashboardsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListFeaturedContentNativeDashboardsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListFeaturedContentNativeDashboardsResponse): google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsResponse;

                    /**
                     * Encodes the specified ListFeaturedContentNativeDashboardsResponse message. Does not implicitly {@link google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsResponse.verify|verify} messages.
                     * @param message ListFeaturedContentNativeDashboardsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListFeaturedContentNativeDashboardsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListFeaturedContentNativeDashboardsResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsResponse.verify|verify} messages.
                     * @param message ListFeaturedContentNativeDashboardsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListFeaturedContentNativeDashboardsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListFeaturedContentNativeDashboardsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListFeaturedContentNativeDashboardsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsResponse;

                    /**
                     * Decodes a ListFeaturedContentNativeDashboardsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListFeaturedContentNativeDashboardsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsResponse;

                    /**
                     * Verifies a ListFeaturedContentNativeDashboardsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListFeaturedContentNativeDashboardsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListFeaturedContentNativeDashboardsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsResponse;

                    /**
                     * Creates a plain object from a ListFeaturedContentNativeDashboardsResponse message. Also converts values to other types if specified.
                     * @param message ListFeaturedContentNativeDashboardsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListFeaturedContentNativeDashboardsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListFeaturedContentNativeDashboardsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListFeaturedContentNativeDashboardsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an InstallFeaturedContentNativeDashboardRequest. */
                interface IInstallFeaturedContentNativeDashboardRequest {

                    /** InstallFeaturedContentNativeDashboardRequest name */
                    name?: (string|null);

                    /** InstallFeaturedContentNativeDashboardRequest featuredContentNativeDashboard */
                    featuredContentNativeDashboard?: (google.cloud.chronicle.v1.IFeaturedContentNativeDashboard|null);
                }

                /** Represents an InstallFeaturedContentNativeDashboardRequest. */
                class InstallFeaturedContentNativeDashboardRequest implements IInstallFeaturedContentNativeDashboardRequest {

                    /**
                     * Constructs a new InstallFeaturedContentNativeDashboardRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IInstallFeaturedContentNativeDashboardRequest);

                    /** InstallFeaturedContentNativeDashboardRequest name. */
                    public name: string;

                    /** InstallFeaturedContentNativeDashboardRequest featuredContentNativeDashboard. */
                    public featuredContentNativeDashboard?: (google.cloud.chronicle.v1.IFeaturedContentNativeDashboard|null);

                    /**
                     * Creates a new InstallFeaturedContentNativeDashboardRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns InstallFeaturedContentNativeDashboardRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IInstallFeaturedContentNativeDashboardRequest): google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardRequest;

                    /**
                     * Encodes the specified InstallFeaturedContentNativeDashboardRequest message. Does not implicitly {@link google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardRequest.verify|verify} messages.
                     * @param message InstallFeaturedContentNativeDashboardRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IInstallFeaturedContentNativeDashboardRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified InstallFeaturedContentNativeDashboardRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardRequest.verify|verify} messages.
                     * @param message InstallFeaturedContentNativeDashboardRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IInstallFeaturedContentNativeDashboardRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an InstallFeaturedContentNativeDashboardRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns InstallFeaturedContentNativeDashboardRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardRequest;

                    /**
                     * Decodes an InstallFeaturedContentNativeDashboardRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns InstallFeaturedContentNativeDashboardRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardRequest;

                    /**
                     * Verifies an InstallFeaturedContentNativeDashboardRequest message.
                     * @param message Plain 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 InstallFeaturedContentNativeDashboardRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns InstallFeaturedContentNativeDashboardRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardRequest;

                    /**
                     * Creates a plain object from an InstallFeaturedContentNativeDashboardRequest message. Also converts values to other types if specified.
                     * @param message InstallFeaturedContentNativeDashboardRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this InstallFeaturedContentNativeDashboardRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for InstallFeaturedContentNativeDashboardRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an InstallFeaturedContentNativeDashboardResponse. */
                interface IInstallFeaturedContentNativeDashboardResponse {

                    /** InstallFeaturedContentNativeDashboardResponse nativeDashboard */
                    nativeDashboard?: (string|null);
                }

                /** Represents an InstallFeaturedContentNativeDashboardResponse. */
                class InstallFeaturedContentNativeDashboardResponse implements IInstallFeaturedContentNativeDashboardResponse {

                    /**
                     * Constructs a new InstallFeaturedContentNativeDashboardResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IInstallFeaturedContentNativeDashboardResponse);

                    /** InstallFeaturedContentNativeDashboardResponse nativeDashboard. */
                    public nativeDashboard: string;

                    /**
                     * Creates a new InstallFeaturedContentNativeDashboardResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns InstallFeaturedContentNativeDashboardResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IInstallFeaturedContentNativeDashboardResponse): google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardResponse;

                    /**
                     * Encodes the specified InstallFeaturedContentNativeDashboardResponse message. Does not implicitly {@link google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardResponse.verify|verify} messages.
                     * @param message InstallFeaturedContentNativeDashboardResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IInstallFeaturedContentNativeDashboardResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified InstallFeaturedContentNativeDashboardResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardResponse.verify|verify} messages.
                     * @param message InstallFeaturedContentNativeDashboardResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IInstallFeaturedContentNativeDashboardResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an InstallFeaturedContentNativeDashboardResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns InstallFeaturedContentNativeDashboardResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardResponse;

                    /**
                     * Decodes an InstallFeaturedContentNativeDashboardResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns InstallFeaturedContentNativeDashboardResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardResponse;

                    /**
                     * Verifies an InstallFeaturedContentNativeDashboardResponse message.
                     * @param message Plain 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 InstallFeaturedContentNativeDashboardResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns InstallFeaturedContentNativeDashboardResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardResponse;

                    /**
                     * Creates a plain object from an InstallFeaturedContentNativeDashboardResponse message. Also converts values to other types if specified.
                     * @param message InstallFeaturedContentNativeDashboardResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.InstallFeaturedContentNativeDashboardResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this InstallFeaturedContentNativeDashboardResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for InstallFeaturedContentNativeDashboardResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a NativeDashboardService */
                class NativeDashboardService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new NativeDashboardService 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 NativeDashboardService 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): NativeDashboardService;

                    /**
                     * Calls CreateNativeDashboard.
                     * @param request CreateNativeDashboardRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and NativeDashboard
                     */
                    public createNativeDashboard(request: google.cloud.chronicle.v1.ICreateNativeDashboardRequest, callback: google.cloud.chronicle.v1.NativeDashboardService.CreateNativeDashboardCallback): void;

                    /**
                     * Calls CreateNativeDashboard.
                     * @param request CreateNativeDashboardRequest message or plain object
                     * @returns Promise
                     */
                    public createNativeDashboard(request: google.cloud.chronicle.v1.ICreateNativeDashboardRequest): Promise<google.cloud.chronicle.v1.NativeDashboard>;

                    /**
                     * Calls GetNativeDashboard.
                     * @param request GetNativeDashboardRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and NativeDashboard
                     */
                    public getNativeDashboard(request: google.cloud.chronicle.v1.IGetNativeDashboardRequest, callback: google.cloud.chronicle.v1.NativeDashboardService.GetNativeDashboardCallback): void;

                    /**
                     * Calls GetNativeDashboard.
                     * @param request GetNativeDashboardRequest message or plain object
                     * @returns Promise
                     */
                    public getNativeDashboard(request: google.cloud.chronicle.v1.IGetNativeDashboardRequest): Promise<google.cloud.chronicle.v1.NativeDashboard>;

                    /**
                     * Calls ListNativeDashboards.
                     * @param request ListNativeDashboardsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListNativeDashboardsResponse
                     */
                    public listNativeDashboards(request: google.cloud.chronicle.v1.IListNativeDashboardsRequest, callback: google.cloud.chronicle.v1.NativeDashboardService.ListNativeDashboardsCallback): void;

                    /**
                     * Calls ListNativeDashboards.
                     * @param request ListNativeDashboardsRequest message or plain object
                     * @returns Promise
                     */
                    public listNativeDashboards(request: google.cloud.chronicle.v1.IListNativeDashboardsRequest): Promise<google.cloud.chronicle.v1.ListNativeDashboardsResponse>;

                    /**
                     * Calls UpdateNativeDashboard.
                     * @param request UpdateNativeDashboardRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and NativeDashboard
                     */
                    public updateNativeDashboard(request: google.cloud.chronicle.v1.IUpdateNativeDashboardRequest, callback: google.cloud.chronicle.v1.NativeDashboardService.UpdateNativeDashboardCallback): void;

                    /**
                     * Calls UpdateNativeDashboard.
                     * @param request UpdateNativeDashboardRequest message or plain object
                     * @returns Promise
                     */
                    public updateNativeDashboard(request: google.cloud.chronicle.v1.IUpdateNativeDashboardRequest): Promise<google.cloud.chronicle.v1.NativeDashboard>;

                    /**
                     * Calls DuplicateNativeDashboard.
                     * @param request DuplicateNativeDashboardRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and NativeDashboard
                     */
                    public duplicateNativeDashboard(request: google.cloud.chronicle.v1.IDuplicateNativeDashboardRequest, callback: google.cloud.chronicle.v1.NativeDashboardService.DuplicateNativeDashboardCallback): void;

                    /**
                     * Calls DuplicateNativeDashboard.
                     * @param request DuplicateNativeDashboardRequest message or plain object
                     * @returns Promise
                     */
                    public duplicateNativeDashboard(request: google.cloud.chronicle.v1.IDuplicateNativeDashboardRequest): Promise<google.cloud.chronicle.v1.NativeDashboard>;

                    /**
                     * Calls DeleteNativeDashboard.
                     * @param request DeleteNativeDashboardRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Empty
                     */
                    public deleteNativeDashboard(request: google.cloud.chronicle.v1.IDeleteNativeDashboardRequest, callback: google.cloud.chronicle.v1.NativeDashboardService.DeleteNativeDashboardCallback): void;

                    /**
                     * Calls DeleteNativeDashboard.
                     * @param request DeleteNativeDashboardRequest message or plain object
                     * @returns Promise
                     */
                    public deleteNativeDashboard(request: google.cloud.chronicle.v1.IDeleteNativeDashboardRequest): Promise<google.protobuf.Empty>;

                    /**
                     * Calls AddChart.
                     * @param request AddChartRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and AddChartResponse
                     */
                    public addChart(request: google.cloud.chronicle.v1.IAddChartRequest, callback: google.cloud.chronicle.v1.NativeDashboardService.AddChartCallback): void;

                    /**
                     * Calls AddChart.
                     * @param request AddChartRequest message or plain object
                     * @returns Promise
                     */
                    public addChart(request: google.cloud.chronicle.v1.IAddChartRequest): Promise<google.cloud.chronicle.v1.AddChartResponse>;

                    /**
                     * Calls RemoveChart.
                     * @param request RemoveChartRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and NativeDashboard
                     */
                    public removeChart(request: google.cloud.chronicle.v1.IRemoveChartRequest, callback: google.cloud.chronicle.v1.NativeDashboardService.RemoveChartCallback): void;

                    /**
                     * Calls RemoveChart.
                     * @param request RemoveChartRequest message or plain object
                     * @returns Promise
                     */
                    public removeChart(request: google.cloud.chronicle.v1.IRemoveChartRequest): Promise<google.cloud.chronicle.v1.NativeDashboard>;

                    /**
                     * Calls EditChart.
                     * @param request EditChartRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and EditChartResponse
                     */
                    public editChart(request: google.cloud.chronicle.v1.IEditChartRequest, callback: google.cloud.chronicle.v1.NativeDashboardService.EditChartCallback): void;

                    /**
                     * Calls EditChart.
                     * @param request EditChartRequest message or plain object
                     * @returns Promise
                     */
                    public editChart(request: google.cloud.chronicle.v1.IEditChartRequest): Promise<google.cloud.chronicle.v1.EditChartResponse>;

                    /**
                     * Calls DuplicateChart.
                     * @param request DuplicateChartRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and DuplicateChartResponse
                     */
                    public duplicateChart(request: google.cloud.chronicle.v1.IDuplicateChartRequest, callback: google.cloud.chronicle.v1.NativeDashboardService.DuplicateChartCallback): void;

                    /**
                     * Calls DuplicateChart.
                     * @param request DuplicateChartRequest message or plain object
                     * @returns Promise
                     */
                    public duplicateChart(request: google.cloud.chronicle.v1.IDuplicateChartRequest): Promise<google.cloud.chronicle.v1.DuplicateChartResponse>;

                    /**
                     * Calls ExportNativeDashboards.
                     * @param request ExportNativeDashboardsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ExportNativeDashboardsResponse
                     */
                    public exportNativeDashboards(request: google.cloud.chronicle.v1.IExportNativeDashboardsRequest, callback: google.cloud.chronicle.v1.NativeDashboardService.ExportNativeDashboardsCallback): void;

                    /**
                     * Calls ExportNativeDashboards.
                     * @param request ExportNativeDashboardsRequest message or plain object
                     * @returns Promise
                     */
                    public exportNativeDashboards(request: google.cloud.chronicle.v1.IExportNativeDashboardsRequest): Promise<google.cloud.chronicle.v1.ExportNativeDashboardsResponse>;

                    /**
                     * Calls ImportNativeDashboards.
                     * @param request ImportNativeDashboardsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ImportNativeDashboardsResponse
                     */
                    public importNativeDashboards(request: google.cloud.chronicle.v1.IImportNativeDashboardsRequest, callback: google.cloud.chronicle.v1.NativeDashboardService.ImportNativeDashboardsCallback): void;

                    /**
                     * Calls ImportNativeDashboards.
                     * @param request ImportNativeDashboardsRequest message or plain object
                     * @returns Promise
                     */
                    public importNativeDashboards(request: google.cloud.chronicle.v1.IImportNativeDashboardsRequest): Promise<google.cloud.chronicle.v1.ImportNativeDashboardsResponse>;
                }

                namespace NativeDashboardService {

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.NativeDashboardService|createNativeDashboard}.
                     * @param error Error, if any
                     * @param [response] NativeDashboard
                     */
                    type CreateNativeDashboardCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.NativeDashboard) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.NativeDashboardService|getNativeDashboard}.
                     * @param error Error, if any
                     * @param [response] NativeDashboard
                     */
                    type GetNativeDashboardCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.NativeDashboard) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.NativeDashboardService|listNativeDashboards}.
                     * @param error Error, if any
                     * @param [response] ListNativeDashboardsResponse
                     */
                    type ListNativeDashboardsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ListNativeDashboardsResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.NativeDashboardService|updateNativeDashboard}.
                     * @param error Error, if any
                     * @param [response] NativeDashboard
                     */
                    type UpdateNativeDashboardCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.NativeDashboard) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.NativeDashboardService|duplicateNativeDashboard}.
                     * @param error Error, if any
                     * @param [response] NativeDashboard
                     */
                    type DuplicateNativeDashboardCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.NativeDashboard) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.NativeDashboardService|deleteNativeDashboard}.
                     * @param error Error, if any
                     * @param [response] Empty
                     */
                    type DeleteNativeDashboardCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.NativeDashboardService|addChart}.
                     * @param error Error, if any
                     * @param [response] AddChartResponse
                     */
                    type AddChartCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.AddChartResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.NativeDashboardService|removeChart}.
                     * @param error Error, if any
                     * @param [response] NativeDashboard
                     */
                    type RemoveChartCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.NativeDashboard) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.NativeDashboardService|editChart}.
                     * @param error Error, if any
                     * @param [response] EditChartResponse
                     */
                    type EditChartCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.EditChartResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.NativeDashboardService|duplicateChart}.
                     * @param error Error, if any
                     * @param [response] DuplicateChartResponse
                     */
                    type DuplicateChartCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.DuplicateChartResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.NativeDashboardService|exportNativeDashboards}.
                     * @param error Error, if any
                     * @param [response] ExportNativeDashboardsResponse
                     */
                    type ExportNativeDashboardsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ExportNativeDashboardsResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.NativeDashboardService|importNativeDashboards}.
                     * @param error Error, if any
                     * @param [response] ImportNativeDashboardsResponse
                     */
                    type ImportNativeDashboardsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ImportNativeDashboardsResponse) => void;
                }

                /** DashboardType enum. */
                enum DashboardType {
                    DASHBOARD_TYPE_UNSPECIFIED = 0,
                    CURATED = 1,
                    PRIVATE = 2,
                    PUBLIC = 3,
                    CUSTOM = 4,
                    MARKETPLACE = 5
                }

                /** DashboardAccess enum. */
                enum DashboardAccess {
                    DASHBOARD_ACCESS_UNSPECIFIED = 0,
                    DASHBOARD_PRIVATE = 1,
                    DASHBOARD_PUBLIC = 2
                }

                /** NativeDashboardView enum. */
                enum NativeDashboardView {
                    NATIVE_DASHBOARD_VIEW_UNSPECIFIED = 0,
                    NATIVE_DASHBOARD_VIEW_BASIC = 1,
                    NATIVE_DASHBOARD_VIEW_FULL = 2
                }

                /** Properties of an ExportNativeDashboardsRequest. */
                interface IExportNativeDashboardsRequest {

                    /** ExportNativeDashboardsRequest parent */
                    parent?: (string|null);

                    /** ExportNativeDashboardsRequest names */
                    names?: (string[]|null);
                }

                /** Represents an ExportNativeDashboardsRequest. */
                class ExportNativeDashboardsRequest implements IExportNativeDashboardsRequest {

                    /**
                     * Constructs a new ExportNativeDashboardsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IExportNativeDashboardsRequest);

                    /** ExportNativeDashboardsRequest parent. */
                    public parent: string;

                    /** ExportNativeDashboardsRequest names. */
                    public names: string[];

                    /**
                     * Creates a new ExportNativeDashboardsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ExportNativeDashboardsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IExportNativeDashboardsRequest): google.cloud.chronicle.v1.ExportNativeDashboardsRequest;

                    /**
                     * Encodes the specified ExportNativeDashboardsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.ExportNativeDashboardsRequest.verify|verify} messages.
                     * @param message ExportNativeDashboardsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IExportNativeDashboardsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ExportNativeDashboardsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ExportNativeDashboardsRequest.verify|verify} messages.
                     * @param message ExportNativeDashboardsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IExportNativeDashboardsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an ExportNativeDashboardsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ExportNativeDashboardsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ExportNativeDashboardsRequest;

                    /**
                     * Decodes an ExportNativeDashboardsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ExportNativeDashboardsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ExportNativeDashboardsRequest;

                    /**
                     * Verifies an ExportNativeDashboardsRequest message.
                     * @param message Plain 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 ExportNativeDashboardsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ExportNativeDashboardsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ExportNativeDashboardsRequest;

                    /**
                     * Creates a plain object from an ExportNativeDashboardsRequest message. Also converts values to other types if specified.
                     * @param message ExportNativeDashboardsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ExportNativeDashboardsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ExportNativeDashboardsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ExportNativeDashboardsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an ExportNativeDashboardsResponse. */
                interface IExportNativeDashboardsResponse {

                    /** ExportNativeDashboardsResponse inlineDestination */
                    inlineDestination?: (google.cloud.chronicle.v1.IInlineDestination|null);
                }

                /** Represents an ExportNativeDashboardsResponse. */
                class ExportNativeDashboardsResponse implements IExportNativeDashboardsResponse {

                    /**
                     * Constructs a new ExportNativeDashboardsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IExportNativeDashboardsResponse);

                    /** ExportNativeDashboardsResponse inlineDestination. */
                    public inlineDestination?: (google.cloud.chronicle.v1.IInlineDestination|null);

                    /** ExportNativeDashboardsResponse destination. */
                    public destination?: "inlineDestination";

                    /**
                     * Creates a new ExportNativeDashboardsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ExportNativeDashboardsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IExportNativeDashboardsResponse): google.cloud.chronicle.v1.ExportNativeDashboardsResponse;

                    /**
                     * Encodes the specified ExportNativeDashboardsResponse message. Does not implicitly {@link google.cloud.chronicle.v1.ExportNativeDashboardsResponse.verify|verify} messages.
                     * @param message ExportNativeDashboardsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IExportNativeDashboardsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ExportNativeDashboardsResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ExportNativeDashboardsResponse.verify|verify} messages.
                     * @param message ExportNativeDashboardsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IExportNativeDashboardsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an ExportNativeDashboardsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ExportNativeDashboardsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ExportNativeDashboardsResponse;

                    /**
                     * Decodes an ExportNativeDashboardsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ExportNativeDashboardsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ExportNativeDashboardsResponse;

                    /**
                     * Verifies an ExportNativeDashboardsResponse message.
                     * @param message Plain 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 ExportNativeDashboardsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ExportNativeDashboardsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ExportNativeDashboardsResponse;

                    /**
                     * Creates a plain object from an ExportNativeDashboardsResponse message. Also converts values to other types if specified.
                     * @param message ExportNativeDashboardsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ExportNativeDashboardsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ExportNativeDashboardsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ExportNativeDashboardsResponse
                     * @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 dashboards */
                    dashboards?: (google.cloud.chronicle.v1.INativeDashboardWithChartsAndQueries[]|null);
                }

                /** Represents an InlineDestination. */
                class InlineDestination implements IInlineDestination {

                    /**
                     * Constructs a new InlineDestination.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IInlineDestination);

                    /** InlineDestination dashboards. */
                    public dashboards: google.cloud.chronicle.v1.INativeDashboardWithChartsAndQueries[];

                    /**
                     * Creates a new InlineDestination instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns InlineDestination instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IInlineDestination): google.cloud.chronicle.v1.InlineDestination;

                    /**
                     * Encodes the specified InlineDestination message. Does not implicitly {@link google.cloud.chronicle.v1.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.chronicle.v1.IInlineDestination, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified InlineDestination message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.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.chronicle.v1.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.chronicle.v1.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.chronicle.v1.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.chronicle.v1.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.chronicle.v1.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 a NativeDashboardWithChartsAndQueries. */
                interface INativeDashboardWithChartsAndQueries {

                    /** NativeDashboardWithChartsAndQueries dashboard */
                    dashboard?: (google.cloud.chronicle.v1.INativeDashboard|null);

                    /** NativeDashboardWithChartsAndQueries dashboardCharts */
                    dashboardCharts?: (google.cloud.chronicle.v1.IDashboardChart[]|null);

                    /** NativeDashboardWithChartsAndQueries dashboardQueries */
                    dashboardQueries?: (google.cloud.chronicle.v1.IDashboardQuery[]|null);
                }

                /** Represents a NativeDashboardWithChartsAndQueries. */
                class NativeDashboardWithChartsAndQueries implements INativeDashboardWithChartsAndQueries {

                    /**
                     * Constructs a new NativeDashboardWithChartsAndQueries.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.INativeDashboardWithChartsAndQueries);

                    /** NativeDashboardWithChartsAndQueries dashboard. */
                    public dashboard?: (google.cloud.chronicle.v1.INativeDashboard|null);

                    /** NativeDashboardWithChartsAndQueries dashboardCharts. */
                    public dashboardCharts: google.cloud.chronicle.v1.IDashboardChart[];

                    /** NativeDashboardWithChartsAndQueries dashboardQueries. */
                    public dashboardQueries: google.cloud.chronicle.v1.IDashboardQuery[];

                    /**
                     * Creates a new NativeDashboardWithChartsAndQueries instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns NativeDashboardWithChartsAndQueries instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.INativeDashboardWithChartsAndQueries): google.cloud.chronicle.v1.NativeDashboardWithChartsAndQueries;

                    /**
                     * Encodes the specified NativeDashboardWithChartsAndQueries message. Does not implicitly {@link google.cloud.chronicle.v1.NativeDashboardWithChartsAndQueries.verify|verify} messages.
                     * @param message NativeDashboardWithChartsAndQueries message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.INativeDashboardWithChartsAndQueries, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified NativeDashboardWithChartsAndQueries message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.NativeDashboardWithChartsAndQueries.verify|verify} messages.
                     * @param message NativeDashboardWithChartsAndQueries message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.INativeDashboardWithChartsAndQueries, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a NativeDashboardWithChartsAndQueries message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns NativeDashboardWithChartsAndQueries
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.NativeDashboardWithChartsAndQueries;

                    /**
                     * Decodes a NativeDashboardWithChartsAndQueries message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns NativeDashboardWithChartsAndQueries
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.NativeDashboardWithChartsAndQueries;

                    /**
                     * Verifies a NativeDashboardWithChartsAndQueries message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a NativeDashboardWithChartsAndQueries message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns NativeDashboardWithChartsAndQueries
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.NativeDashboardWithChartsAndQueries;

                    /**
                     * Creates a plain object from a NativeDashboardWithChartsAndQueries message. Also converts values to other types if specified.
                     * @param message NativeDashboardWithChartsAndQueries
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.NativeDashboardWithChartsAndQueries, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this NativeDashboardWithChartsAndQueries to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for NativeDashboardWithChartsAndQueries
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an ImportNativeDashboardsRequest. */
                interface IImportNativeDashboardsRequest {

                    /** ImportNativeDashboardsRequest parent */
                    parent?: (string|null);

                    /** ImportNativeDashboardsRequest source */
                    source?: (google.cloud.chronicle.v1.IImportNativeDashboardsInlineSource|null);
                }

                /** Represents an ImportNativeDashboardsRequest. */
                class ImportNativeDashboardsRequest implements IImportNativeDashboardsRequest {

                    /**
                     * Constructs a new ImportNativeDashboardsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IImportNativeDashboardsRequest);

                    /** ImportNativeDashboardsRequest parent. */
                    public parent: string;

                    /** ImportNativeDashboardsRequest source. */
                    public source?: (google.cloud.chronicle.v1.IImportNativeDashboardsInlineSource|null);

                    /**
                     * Creates a new ImportNativeDashboardsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ImportNativeDashboardsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IImportNativeDashboardsRequest): google.cloud.chronicle.v1.ImportNativeDashboardsRequest;

                    /**
                     * Encodes the specified ImportNativeDashboardsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.ImportNativeDashboardsRequest.verify|verify} messages.
                     * @param message ImportNativeDashboardsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IImportNativeDashboardsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ImportNativeDashboardsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ImportNativeDashboardsRequest.verify|verify} messages.
                     * @param message ImportNativeDashboardsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IImportNativeDashboardsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an ImportNativeDashboardsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ImportNativeDashboardsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ImportNativeDashboardsRequest;

                    /**
                     * Decodes an ImportNativeDashboardsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ImportNativeDashboardsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ImportNativeDashboardsRequest;

                    /**
                     * Verifies an ImportNativeDashboardsRequest message.
                     * @param message Plain 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 ImportNativeDashboardsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ImportNativeDashboardsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ImportNativeDashboardsRequest;

                    /**
                     * Creates a plain object from an ImportNativeDashboardsRequest message. Also converts values to other types if specified.
                     * @param message ImportNativeDashboardsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ImportNativeDashboardsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ImportNativeDashboardsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ImportNativeDashboardsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an ImportNativeDashboardsInlineSource. */
                interface IImportNativeDashboardsInlineSource {

                    /** ImportNativeDashboardsInlineSource dashboards */
                    dashboards?: (google.cloud.chronicle.v1.INativeDashboardWithChartsAndQueries[]|null);
                }

                /** Represents an ImportNativeDashboardsInlineSource. */
                class ImportNativeDashboardsInlineSource implements IImportNativeDashboardsInlineSource {

                    /**
                     * Constructs a new ImportNativeDashboardsInlineSource.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IImportNativeDashboardsInlineSource);

                    /** ImportNativeDashboardsInlineSource dashboards. */
                    public dashboards: google.cloud.chronicle.v1.INativeDashboardWithChartsAndQueries[];

                    /**
                     * Creates a new ImportNativeDashboardsInlineSource instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ImportNativeDashboardsInlineSource instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IImportNativeDashboardsInlineSource): google.cloud.chronicle.v1.ImportNativeDashboardsInlineSource;

                    /**
                     * Encodes the specified ImportNativeDashboardsInlineSource message. Does not implicitly {@link google.cloud.chronicle.v1.ImportNativeDashboardsInlineSource.verify|verify} messages.
                     * @param message ImportNativeDashboardsInlineSource message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IImportNativeDashboardsInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ImportNativeDashboardsInlineSource message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ImportNativeDashboardsInlineSource.verify|verify} messages.
                     * @param message ImportNativeDashboardsInlineSource message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IImportNativeDashboardsInlineSource, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an ImportNativeDashboardsInlineSource message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ImportNativeDashboardsInlineSource
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ImportNativeDashboardsInlineSource;

                    /**
                     * Decodes an ImportNativeDashboardsInlineSource message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ImportNativeDashboardsInlineSource
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ImportNativeDashboardsInlineSource;

                    /**
                     * Verifies an ImportNativeDashboardsInlineSource message.
                     * @param message Plain 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 ImportNativeDashboardsInlineSource message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ImportNativeDashboardsInlineSource
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ImportNativeDashboardsInlineSource;

                    /**
                     * Creates a plain object from an ImportNativeDashboardsInlineSource message. Also converts values to other types if specified.
                     * @param message ImportNativeDashboardsInlineSource
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ImportNativeDashboardsInlineSource, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ImportNativeDashboardsInlineSource to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ImportNativeDashboardsInlineSource
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an ImportNativeDashboardsResponse. */
                interface IImportNativeDashboardsResponse {

                    /** ImportNativeDashboardsResponse results */
                    results?: (google.cloud.chronicle.v1.IImportExportStatus[]|null);
                }

                /** Represents an ImportNativeDashboardsResponse. */
                class ImportNativeDashboardsResponse implements IImportNativeDashboardsResponse {

                    /**
                     * Constructs a new ImportNativeDashboardsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IImportNativeDashboardsResponse);

                    /** ImportNativeDashboardsResponse results. */
                    public results: google.cloud.chronicle.v1.IImportExportStatus[];

                    /**
                     * Creates a new ImportNativeDashboardsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ImportNativeDashboardsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IImportNativeDashboardsResponse): google.cloud.chronicle.v1.ImportNativeDashboardsResponse;

                    /**
                     * Encodes the specified ImportNativeDashboardsResponse message. Does not implicitly {@link google.cloud.chronicle.v1.ImportNativeDashboardsResponse.verify|verify} messages.
                     * @param message ImportNativeDashboardsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IImportNativeDashboardsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ImportNativeDashboardsResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ImportNativeDashboardsResponse.verify|verify} messages.
                     * @param message ImportNativeDashboardsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IImportNativeDashboardsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an ImportNativeDashboardsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ImportNativeDashboardsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ImportNativeDashboardsResponse;

                    /**
                     * Decodes an ImportNativeDashboardsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ImportNativeDashboardsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ImportNativeDashboardsResponse;

                    /**
                     * Verifies an ImportNativeDashboardsResponse message.
                     * @param message Plain 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 ImportNativeDashboardsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ImportNativeDashboardsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ImportNativeDashboardsResponse;

                    /**
                     * Creates a plain object from an ImportNativeDashboardsResponse message. Also converts values to other types if specified.
                     * @param message ImportNativeDashboardsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ImportNativeDashboardsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ImportNativeDashboardsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ImportNativeDashboardsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an ImportExportStatus. */
                interface IImportExportStatus {

                    /** ImportExportStatus dashboard */
                    dashboard?: (string|null);

                    /** ImportExportStatus status */
                    status?: (google.rpc.IStatus|null);
                }

                /** Represents an ImportExportStatus. */
                class ImportExportStatus implements IImportExportStatus {

                    /**
                     * Constructs a new ImportExportStatus.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IImportExportStatus);

                    /** ImportExportStatus dashboard. */
                    public dashboard: string;

                    /** ImportExportStatus status. */
                    public status?: (google.rpc.IStatus|null);

                    /**
                     * Creates a new ImportExportStatus instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ImportExportStatus instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IImportExportStatus): google.cloud.chronicle.v1.ImportExportStatus;

                    /**
                     * Encodes the specified ImportExportStatus message. Does not implicitly {@link google.cloud.chronicle.v1.ImportExportStatus.verify|verify} messages.
                     * @param message ImportExportStatus message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IImportExportStatus, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ImportExportStatus message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ImportExportStatus.verify|verify} messages.
                     * @param message ImportExportStatus message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IImportExportStatus, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an ImportExportStatus message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ImportExportStatus
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ImportExportStatus;

                    /**
                     * Decodes an ImportExportStatus message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ImportExportStatus
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ImportExportStatus;

                    /**
                     * Verifies an ImportExportStatus message.
                     * @param message Plain 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 ImportExportStatus message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ImportExportStatus
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ImportExportStatus;

                    /**
                     * Creates a plain object from an ImportExportStatus message. Also converts values to other types if specified.
                     * @param message ImportExportStatus
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ImportExportStatus, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ImportExportStatus to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ImportExportStatus
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a NativeDashboard. */
                interface INativeDashboard {

                    /** NativeDashboard name */
                    name?: (string|null);

                    /** NativeDashboard displayName */
                    displayName?: (string|null);

                    /** NativeDashboard description */
                    description?: (string|null);

                    /** NativeDashboard definition */
                    definition?: (google.cloud.chronicle.v1.IDashboardDefinition|null);

                    /** NativeDashboard type */
                    type?: (google.cloud.chronicle.v1.DashboardType|keyof typeof google.cloud.chronicle.v1.DashboardType|null);

                    /** NativeDashboard createTime */
                    createTime?: (google.protobuf.ITimestamp|null);

                    /** NativeDashboard updateTime */
                    updateTime?: (google.protobuf.ITimestamp|null);

                    /** NativeDashboard createUserId */
                    createUserId?: (string|null);

                    /** NativeDashboard updateUserId */
                    updateUserId?: (string|null);

                    /** NativeDashboard dashboardUserData */
                    dashboardUserData?: (google.cloud.chronicle.v1.IDashboardUserData|null);

                    /** NativeDashboard etag */
                    etag?: (string|null);

                    /** NativeDashboard access */
                    access?: (google.cloud.chronicle.v1.DashboardAccess|keyof typeof google.cloud.chronicle.v1.DashboardAccess|null);
                }

                /** Represents a NativeDashboard. */
                class NativeDashboard implements INativeDashboard {

                    /**
                     * Constructs a new NativeDashboard.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.INativeDashboard);

                    /** NativeDashboard name. */
                    public name: string;

                    /** NativeDashboard displayName. */
                    public displayName: string;

                    /** NativeDashboard description. */
                    public description: string;

                    /** NativeDashboard definition. */
                    public definition?: (google.cloud.chronicle.v1.IDashboardDefinition|null);

                    /** NativeDashboard type. */
                    public type: (google.cloud.chronicle.v1.DashboardType|keyof typeof google.cloud.chronicle.v1.DashboardType);

                    /** NativeDashboard createTime. */
                    public createTime?: (google.protobuf.ITimestamp|null);

                    /** NativeDashboard updateTime. */
                    public updateTime?: (google.protobuf.ITimestamp|null);

                    /** NativeDashboard createUserId. */
                    public createUserId: string;

                    /** NativeDashboard updateUserId. */
                    public updateUserId: string;

                    /** NativeDashboard dashboardUserData. */
                    public dashboardUserData?: (google.cloud.chronicle.v1.IDashboardUserData|null);

                    /** NativeDashboard etag. */
                    public etag: string;

                    /** NativeDashboard access. */
                    public access: (google.cloud.chronicle.v1.DashboardAccess|keyof typeof google.cloud.chronicle.v1.DashboardAccess);

                    /**
                     * Creates a new NativeDashboard instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns NativeDashboard instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.INativeDashboard): google.cloud.chronicle.v1.NativeDashboard;

                    /**
                     * Encodes the specified NativeDashboard message. Does not implicitly {@link google.cloud.chronicle.v1.NativeDashboard.verify|verify} messages.
                     * @param message NativeDashboard message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.INativeDashboard, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified NativeDashboard message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.NativeDashboard.verify|verify} messages.
                     * @param message NativeDashboard message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.INativeDashboard, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a NativeDashboard message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns NativeDashboard
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.NativeDashboard;

                    /**
                     * Decodes a NativeDashboard message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns NativeDashboard
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.NativeDashboard;

                    /**
                     * Verifies a NativeDashboard message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a NativeDashboard message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns NativeDashboard
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.NativeDashboard;

                    /**
                     * Creates a plain object from a NativeDashboard message. Also converts values to other types if specified.
                     * @param message NativeDashboard
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.NativeDashboard, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this NativeDashboard to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for NativeDashboard
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreateNativeDashboardRequest. */
                interface ICreateNativeDashboardRequest {

                    /** CreateNativeDashboardRequest parent */
                    parent?: (string|null);

                    /** CreateNativeDashboardRequest nativeDashboard */
                    nativeDashboard?: (google.cloud.chronicle.v1.INativeDashboard|null);
                }

                /** Represents a CreateNativeDashboardRequest. */
                class CreateNativeDashboardRequest implements ICreateNativeDashboardRequest {

                    /**
                     * Constructs a new CreateNativeDashboardRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.ICreateNativeDashboardRequest);

                    /** CreateNativeDashboardRequest parent. */
                    public parent: string;

                    /** CreateNativeDashboardRequest nativeDashboard. */
                    public nativeDashboard?: (google.cloud.chronicle.v1.INativeDashboard|null);

                    /**
                     * Creates a new CreateNativeDashboardRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateNativeDashboardRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.ICreateNativeDashboardRequest): google.cloud.chronicle.v1.CreateNativeDashboardRequest;

                    /**
                     * Encodes the specified CreateNativeDashboardRequest message. Does not implicitly {@link google.cloud.chronicle.v1.CreateNativeDashboardRequest.verify|verify} messages.
                     * @param message CreateNativeDashboardRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.ICreateNativeDashboardRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateNativeDashboardRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.CreateNativeDashboardRequest.verify|verify} messages.
                     * @param message CreateNativeDashboardRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.ICreateNativeDashboardRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateNativeDashboardRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateNativeDashboardRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.CreateNativeDashboardRequest;

                    /**
                     * Decodes a CreateNativeDashboardRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateNativeDashboardRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.CreateNativeDashboardRequest;

                    /**
                     * Verifies a CreateNativeDashboardRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateNativeDashboardRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateNativeDashboardRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.CreateNativeDashboardRequest;

                    /**
                     * Creates a plain object from a CreateNativeDashboardRequest message. Also converts values to other types if specified.
                     * @param message CreateNativeDashboardRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.CreateNativeDashboardRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateNativeDashboardRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateNativeDashboardRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a GetNativeDashboardRequest. */
                interface IGetNativeDashboardRequest {

                    /** GetNativeDashboardRequest name */
                    name?: (string|null);

                    /** GetNativeDashboardRequest view */
                    view?: (google.cloud.chronicle.v1.NativeDashboardView|keyof typeof google.cloud.chronicle.v1.NativeDashboardView|null);
                }

                /** Represents a GetNativeDashboardRequest. */
                class GetNativeDashboardRequest implements IGetNativeDashboardRequest {

                    /**
                     * Constructs a new GetNativeDashboardRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetNativeDashboardRequest);

                    /** GetNativeDashboardRequest name. */
                    public name: string;

                    /** GetNativeDashboardRequest view. */
                    public view: (google.cloud.chronicle.v1.NativeDashboardView|keyof typeof google.cloud.chronicle.v1.NativeDashboardView);

                    /**
                     * Creates a new GetNativeDashboardRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetNativeDashboardRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetNativeDashboardRequest): google.cloud.chronicle.v1.GetNativeDashboardRequest;

                    /**
                     * Encodes the specified GetNativeDashboardRequest message. Does not implicitly {@link google.cloud.chronicle.v1.GetNativeDashboardRequest.verify|verify} messages.
                     * @param message GetNativeDashboardRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IGetNativeDashboardRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetNativeDashboardRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.GetNativeDashboardRequest.verify|verify} messages.
                     * @param message GetNativeDashboardRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IGetNativeDashboardRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetNativeDashboardRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetNativeDashboardRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.GetNativeDashboardRequest;

                    /**
                     * Decodes a GetNativeDashboardRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetNativeDashboardRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.GetNativeDashboardRequest;

                    /**
                     * Verifies a GetNativeDashboardRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetNativeDashboardRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetNativeDashboardRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.GetNativeDashboardRequest;

                    /**
                     * Creates a plain object from a GetNativeDashboardRequest message. Also converts values to other types if specified.
                     * @param message GetNativeDashboardRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.GetNativeDashboardRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetNativeDashboardRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetNativeDashboardRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListNativeDashboardsRequest. */
                interface IListNativeDashboardsRequest {

                    /** ListNativeDashboardsRequest parent */
                    parent?: (string|null);

                    /** ListNativeDashboardsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListNativeDashboardsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListNativeDashboardsRequest view */
                    view?: (google.cloud.chronicle.v1.NativeDashboardView|keyof typeof google.cloud.chronicle.v1.NativeDashboardView|null);
                }

                /** Represents a ListNativeDashboardsRequest. */
                class ListNativeDashboardsRequest implements IListNativeDashboardsRequest {

                    /**
                     * Constructs a new ListNativeDashboardsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListNativeDashboardsRequest);

                    /** ListNativeDashboardsRequest parent. */
                    public parent: string;

                    /** ListNativeDashboardsRequest pageSize. */
                    public pageSize: number;

                    /** ListNativeDashboardsRequest pageToken. */
                    public pageToken: string;

                    /** ListNativeDashboardsRequest view. */
                    public view: (google.cloud.chronicle.v1.NativeDashboardView|keyof typeof google.cloud.chronicle.v1.NativeDashboardView);

                    /**
                     * Creates a new ListNativeDashboardsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListNativeDashboardsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListNativeDashboardsRequest): google.cloud.chronicle.v1.ListNativeDashboardsRequest;

                    /**
                     * Encodes the specified ListNativeDashboardsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.ListNativeDashboardsRequest.verify|verify} messages.
                     * @param message ListNativeDashboardsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListNativeDashboardsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListNativeDashboardsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListNativeDashboardsRequest.verify|verify} messages.
                     * @param message ListNativeDashboardsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListNativeDashboardsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListNativeDashboardsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListNativeDashboardsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListNativeDashboardsRequest;

                    /**
                     * Decodes a ListNativeDashboardsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListNativeDashboardsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListNativeDashboardsRequest;

                    /**
                     * Verifies a ListNativeDashboardsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListNativeDashboardsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListNativeDashboardsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListNativeDashboardsRequest;

                    /**
                     * Creates a plain object from a ListNativeDashboardsRequest message. Also converts values to other types if specified.
                     * @param message ListNativeDashboardsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListNativeDashboardsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListNativeDashboardsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListNativeDashboardsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListNativeDashboardsResponse. */
                interface IListNativeDashboardsResponse {

                    /** ListNativeDashboardsResponse nativeDashboards */
                    nativeDashboards?: (google.cloud.chronicle.v1.INativeDashboard[]|null);

                    /** ListNativeDashboardsResponse nextPageToken */
                    nextPageToken?: (string|null);
                }

                /** Represents a ListNativeDashboardsResponse. */
                class ListNativeDashboardsResponse implements IListNativeDashboardsResponse {

                    /**
                     * Constructs a new ListNativeDashboardsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListNativeDashboardsResponse);

                    /** ListNativeDashboardsResponse nativeDashboards. */
                    public nativeDashboards: google.cloud.chronicle.v1.INativeDashboard[];

                    /** ListNativeDashboardsResponse nextPageToken. */
                    public nextPageToken: string;

                    /**
                     * Creates a new ListNativeDashboardsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListNativeDashboardsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListNativeDashboardsResponse): google.cloud.chronicle.v1.ListNativeDashboardsResponse;

                    /**
                     * Encodes the specified ListNativeDashboardsResponse message. Does not implicitly {@link google.cloud.chronicle.v1.ListNativeDashboardsResponse.verify|verify} messages.
                     * @param message ListNativeDashboardsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListNativeDashboardsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListNativeDashboardsResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListNativeDashboardsResponse.verify|verify} messages.
                     * @param message ListNativeDashboardsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListNativeDashboardsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListNativeDashboardsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListNativeDashboardsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListNativeDashboardsResponse;

                    /**
                     * Decodes a ListNativeDashboardsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListNativeDashboardsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListNativeDashboardsResponse;

                    /**
                     * Verifies a ListNativeDashboardsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListNativeDashboardsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListNativeDashboardsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListNativeDashboardsResponse;

                    /**
                     * Creates a plain object from a ListNativeDashboardsResponse message. Also converts values to other types if specified.
                     * @param message ListNativeDashboardsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListNativeDashboardsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListNativeDashboardsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListNativeDashboardsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateNativeDashboardRequest. */
                interface IUpdateNativeDashboardRequest {

                    /** UpdateNativeDashboardRequest nativeDashboard */
                    nativeDashboard?: (google.cloud.chronicle.v1.INativeDashboard|null);

                    /** UpdateNativeDashboardRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateNativeDashboardRequest. */
                class UpdateNativeDashboardRequest implements IUpdateNativeDashboardRequest {

                    /**
                     * Constructs a new UpdateNativeDashboardRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IUpdateNativeDashboardRequest);

                    /** UpdateNativeDashboardRequest nativeDashboard. */
                    public nativeDashboard?: (google.cloud.chronicle.v1.INativeDashboard|null);

                    /** UpdateNativeDashboardRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateNativeDashboardRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateNativeDashboardRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IUpdateNativeDashboardRequest): google.cloud.chronicle.v1.UpdateNativeDashboardRequest;

                    /**
                     * Encodes the specified UpdateNativeDashboardRequest message. Does not implicitly {@link google.cloud.chronicle.v1.UpdateNativeDashboardRequest.verify|verify} messages.
                     * @param message UpdateNativeDashboardRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IUpdateNativeDashboardRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateNativeDashboardRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.UpdateNativeDashboardRequest.verify|verify} messages.
                     * @param message UpdateNativeDashboardRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IUpdateNativeDashboardRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateNativeDashboardRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateNativeDashboardRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.UpdateNativeDashboardRequest;

                    /**
                     * Decodes an UpdateNativeDashboardRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateNativeDashboardRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.UpdateNativeDashboardRequest;

                    /**
                     * Verifies an UpdateNativeDashboardRequest message.
                     * @param message Plain 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 UpdateNativeDashboardRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateNativeDashboardRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.UpdateNativeDashboardRequest;

                    /**
                     * Creates a plain object from an UpdateNativeDashboardRequest message. Also converts values to other types if specified.
                     * @param message UpdateNativeDashboardRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.UpdateNativeDashboardRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateNativeDashboardRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateNativeDashboardRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DuplicateNativeDashboardRequest. */
                interface IDuplicateNativeDashboardRequest {

                    /** DuplicateNativeDashboardRequest name */
                    name?: (string|null);

                    /** DuplicateNativeDashboardRequest nativeDashboard */
                    nativeDashboard?: (google.cloud.chronicle.v1.INativeDashboard|null);
                }

                /** Represents a DuplicateNativeDashboardRequest. */
                class DuplicateNativeDashboardRequest implements IDuplicateNativeDashboardRequest {

                    /**
                     * Constructs a new DuplicateNativeDashboardRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDuplicateNativeDashboardRequest);

                    /** DuplicateNativeDashboardRequest name. */
                    public name: string;

                    /** DuplicateNativeDashboardRequest nativeDashboard. */
                    public nativeDashboard?: (google.cloud.chronicle.v1.INativeDashboard|null);

                    /**
                     * Creates a new DuplicateNativeDashboardRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DuplicateNativeDashboardRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDuplicateNativeDashboardRequest): google.cloud.chronicle.v1.DuplicateNativeDashboardRequest;

                    /**
                     * Encodes the specified DuplicateNativeDashboardRequest message. Does not implicitly {@link google.cloud.chronicle.v1.DuplicateNativeDashboardRequest.verify|verify} messages.
                     * @param message DuplicateNativeDashboardRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IDuplicateNativeDashboardRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DuplicateNativeDashboardRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DuplicateNativeDashboardRequest.verify|verify} messages.
                     * @param message DuplicateNativeDashboardRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IDuplicateNativeDashboardRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DuplicateNativeDashboardRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DuplicateNativeDashboardRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DuplicateNativeDashboardRequest;

                    /**
                     * Decodes a DuplicateNativeDashboardRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DuplicateNativeDashboardRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DuplicateNativeDashboardRequest;

                    /**
                     * Verifies a DuplicateNativeDashboardRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DuplicateNativeDashboardRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DuplicateNativeDashboardRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DuplicateNativeDashboardRequest;

                    /**
                     * Creates a plain object from a DuplicateNativeDashboardRequest message. Also converts values to other types if specified.
                     * @param message DuplicateNativeDashboardRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DuplicateNativeDashboardRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DuplicateNativeDashboardRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DuplicateNativeDashboardRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DeleteNativeDashboardRequest. */
                interface IDeleteNativeDashboardRequest {

                    /** DeleteNativeDashboardRequest name */
                    name?: (string|null);
                }

                /** Represents a DeleteNativeDashboardRequest. */
                class DeleteNativeDashboardRequest implements IDeleteNativeDashboardRequest {

                    /**
                     * Constructs a new DeleteNativeDashboardRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDeleteNativeDashboardRequest);

                    /** DeleteNativeDashboardRequest name. */
                    public name: string;

                    /**
                     * Creates a new DeleteNativeDashboardRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DeleteNativeDashboardRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDeleteNativeDashboardRequest): google.cloud.chronicle.v1.DeleteNativeDashboardRequest;

                    /**
                     * Encodes the specified DeleteNativeDashboardRequest message. Does not implicitly {@link google.cloud.chronicle.v1.DeleteNativeDashboardRequest.verify|verify} messages.
                     * @param message DeleteNativeDashboardRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IDeleteNativeDashboardRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DeleteNativeDashboardRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DeleteNativeDashboardRequest.verify|verify} messages.
                     * @param message DeleteNativeDashboardRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IDeleteNativeDashboardRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DeleteNativeDashboardRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DeleteNativeDashboardRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DeleteNativeDashboardRequest;

                    /**
                     * Decodes a DeleteNativeDashboardRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DeleteNativeDashboardRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DeleteNativeDashboardRequest;

                    /**
                     * Verifies a DeleteNativeDashboardRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DeleteNativeDashboardRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DeleteNativeDashboardRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DeleteNativeDashboardRequest;

                    /**
                     * Creates a plain object from a DeleteNativeDashboardRequest message. Also converts values to other types if specified.
                     * @param message DeleteNativeDashboardRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DeleteNativeDashboardRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DeleteNativeDashboardRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DeleteNativeDashboardRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an AddChartRequest. */
                interface IAddChartRequest {

                    /** AddChartRequest name */
                    name?: (string|null);

                    /** AddChartRequest dashboardQuery */
                    dashboardQuery?: (google.cloud.chronicle.v1.IDashboardQuery|null);

                    /** AddChartRequest dashboardChart */
                    dashboardChart?: (google.cloud.chronicle.v1.IDashboardChart|null);

                    /** AddChartRequest chartLayout */
                    chartLayout?: (google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.IChartLayout|null);
                }

                /** Represents an AddChartRequest. */
                class AddChartRequest implements IAddChartRequest {

                    /**
                     * Constructs a new AddChartRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IAddChartRequest);

                    /** AddChartRequest name. */
                    public name: string;

                    /** AddChartRequest dashboardQuery. */
                    public dashboardQuery?: (google.cloud.chronicle.v1.IDashboardQuery|null);

                    /** AddChartRequest dashboardChart. */
                    public dashboardChart?: (google.cloud.chronicle.v1.IDashboardChart|null);

                    /** AddChartRequest chartLayout. */
                    public chartLayout?: (google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.IChartLayout|null);

                    /**
                     * Creates a new AddChartRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AddChartRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IAddChartRequest): google.cloud.chronicle.v1.AddChartRequest;

                    /**
                     * Encodes the specified AddChartRequest message. Does not implicitly {@link google.cloud.chronicle.v1.AddChartRequest.verify|verify} messages.
                     * @param message AddChartRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IAddChartRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified AddChartRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.AddChartRequest.verify|verify} messages.
                     * @param message AddChartRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IAddChartRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an AddChartRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns AddChartRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.AddChartRequest;

                    /**
                     * Decodes an AddChartRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns AddChartRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.AddChartRequest;

                    /**
                     * Verifies an AddChartRequest message.
                     * @param message Plain 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 AddChartRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns AddChartRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.AddChartRequest;

                    /**
                     * Creates a plain object from an AddChartRequest message. Also converts values to other types if specified.
                     * @param message AddChartRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.AddChartRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this AddChartRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for AddChartRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an AddChartResponse. */
                interface IAddChartResponse {

                    /** AddChartResponse nativeDashboard */
                    nativeDashboard?: (google.cloud.chronicle.v1.INativeDashboard|null);

                    /** AddChartResponse dashboardChart */
                    dashboardChart?: (google.cloud.chronicle.v1.IDashboardChart|null);
                }

                /** Represents an AddChartResponse. */
                class AddChartResponse implements IAddChartResponse {

                    /**
                     * Constructs a new AddChartResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IAddChartResponse);

                    /** AddChartResponse nativeDashboard. */
                    public nativeDashboard?: (google.cloud.chronicle.v1.INativeDashboard|null);

                    /** AddChartResponse dashboardChart. */
                    public dashboardChart?: (google.cloud.chronicle.v1.IDashboardChart|null);

                    /**
                     * Creates a new AddChartResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns AddChartResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IAddChartResponse): google.cloud.chronicle.v1.AddChartResponse;

                    /**
                     * Encodes the specified AddChartResponse message. Does not implicitly {@link google.cloud.chronicle.v1.AddChartResponse.verify|verify} messages.
                     * @param message AddChartResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IAddChartResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified AddChartResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.AddChartResponse.verify|verify} messages.
                     * @param message AddChartResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IAddChartResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an AddChartResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns AddChartResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.AddChartResponse;

                    /**
                     * Decodes an AddChartResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns AddChartResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.AddChartResponse;

                    /**
                     * Verifies an AddChartResponse message.
                     * @param message Plain 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 AddChartResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns AddChartResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.AddChartResponse;

                    /**
                     * Creates a plain object from an AddChartResponse message. Also converts values to other types if specified.
                     * @param message AddChartResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.AddChartResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this AddChartResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for AddChartResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an EditChartRequest. */
                interface IEditChartRequest {

                    /** EditChartRequest name */
                    name?: (string|null);

                    /** EditChartRequest dashboardQuery */
                    dashboardQuery?: (google.cloud.chronicle.v1.IDashboardQuery|null);

                    /** EditChartRequest dashboardChart */
                    dashboardChart?: (google.cloud.chronicle.v1.IDashboardChart|null);

                    /** EditChartRequest editMask */
                    editMask?: (google.protobuf.IFieldMask|null);

                    /** EditChartRequest languageFeatures */
                    languageFeatures?: (google.cloud.chronicle.v1.LanguageFeature[]|null);
                }

                /** Represents an EditChartRequest. */
                class EditChartRequest implements IEditChartRequest {

                    /**
                     * Constructs a new EditChartRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IEditChartRequest);

                    /** EditChartRequest name. */
                    public name: string;

                    /** EditChartRequest dashboardQuery. */
                    public dashboardQuery?: (google.cloud.chronicle.v1.IDashboardQuery|null);

                    /** EditChartRequest dashboardChart. */
                    public dashboardChart?: (google.cloud.chronicle.v1.IDashboardChart|null);

                    /** EditChartRequest editMask. */
                    public editMask?: (google.protobuf.IFieldMask|null);

                    /** EditChartRequest languageFeatures. */
                    public languageFeatures: google.cloud.chronicle.v1.LanguageFeature[];

                    /**
                     * Creates a new EditChartRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns EditChartRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IEditChartRequest): google.cloud.chronicle.v1.EditChartRequest;

                    /**
                     * Encodes the specified EditChartRequest message. Does not implicitly {@link google.cloud.chronicle.v1.EditChartRequest.verify|verify} messages.
                     * @param message EditChartRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IEditChartRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified EditChartRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.EditChartRequest.verify|verify} messages.
                     * @param message EditChartRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IEditChartRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an EditChartRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns EditChartRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.EditChartRequest;

                    /**
                     * Decodes an EditChartRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns EditChartRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.EditChartRequest;

                    /**
                     * Verifies an EditChartRequest message.
                     * @param message Plain 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 EditChartRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns EditChartRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.EditChartRequest;

                    /**
                     * Creates a plain object from an EditChartRequest message. Also converts values to other types if specified.
                     * @param message EditChartRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.EditChartRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this EditChartRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for EditChartRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an EditChartResponse. */
                interface IEditChartResponse {

                    /** EditChartResponse nativeDashboard */
                    nativeDashboard?: (google.cloud.chronicle.v1.INativeDashboard|null);

                    /** EditChartResponse dashboardChart */
                    dashboardChart?: (google.cloud.chronicle.v1.IDashboardChart|null);
                }

                /** Represents an EditChartResponse. */
                class EditChartResponse implements IEditChartResponse {

                    /**
                     * Constructs a new EditChartResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IEditChartResponse);

                    /** EditChartResponse nativeDashboard. */
                    public nativeDashboard?: (google.cloud.chronicle.v1.INativeDashboard|null);

                    /** EditChartResponse dashboardChart. */
                    public dashboardChart?: (google.cloud.chronicle.v1.IDashboardChart|null);

                    /**
                     * Creates a new EditChartResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns EditChartResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IEditChartResponse): google.cloud.chronicle.v1.EditChartResponse;

                    /**
                     * Encodes the specified EditChartResponse message. Does not implicitly {@link google.cloud.chronicle.v1.EditChartResponse.verify|verify} messages.
                     * @param message EditChartResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IEditChartResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified EditChartResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.EditChartResponse.verify|verify} messages.
                     * @param message EditChartResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IEditChartResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an EditChartResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns EditChartResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.EditChartResponse;

                    /**
                     * Decodes an EditChartResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns EditChartResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.EditChartResponse;

                    /**
                     * Verifies an EditChartResponse message.
                     * @param message Plain 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 EditChartResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns EditChartResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.EditChartResponse;

                    /**
                     * Creates a plain object from an EditChartResponse message. Also converts values to other types if specified.
                     * @param message EditChartResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.EditChartResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this EditChartResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for EditChartResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a RemoveChartRequest. */
                interface IRemoveChartRequest {

                    /** RemoveChartRequest name */
                    name?: (string|null);

                    /** RemoveChartRequest dashboardChart */
                    dashboardChart?: (string|null);
                }

                /** Represents a RemoveChartRequest. */
                class RemoveChartRequest implements IRemoveChartRequest {

                    /**
                     * Constructs a new RemoveChartRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IRemoveChartRequest);

                    /** RemoveChartRequest name. */
                    public name: string;

                    /** RemoveChartRequest dashboardChart. */
                    public dashboardChart: string;

                    /**
                     * Creates a new RemoveChartRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns RemoveChartRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IRemoveChartRequest): google.cloud.chronicle.v1.RemoveChartRequest;

                    /**
                     * Encodes the specified RemoveChartRequest message. Does not implicitly {@link google.cloud.chronicle.v1.RemoveChartRequest.verify|verify} messages.
                     * @param message RemoveChartRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IRemoveChartRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified RemoveChartRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.RemoveChartRequest.verify|verify} messages.
                     * @param message RemoveChartRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IRemoveChartRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a RemoveChartRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns RemoveChartRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.RemoveChartRequest;

                    /**
                     * Decodes a RemoveChartRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns RemoveChartRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.RemoveChartRequest;

                    /**
                     * Verifies a RemoveChartRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a RemoveChartRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns RemoveChartRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.RemoveChartRequest;

                    /**
                     * Creates a plain object from a RemoveChartRequest message. Also converts values to other types if specified.
                     * @param message RemoveChartRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.RemoveChartRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this RemoveChartRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for RemoveChartRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DuplicateChartRequest. */
                interface IDuplicateChartRequest {

                    /** DuplicateChartRequest name */
                    name?: (string|null);

                    /** DuplicateChartRequest dashboardChart */
                    dashboardChart?: (string|null);
                }

                /** Represents a DuplicateChartRequest. */
                class DuplicateChartRequest implements IDuplicateChartRequest {

                    /**
                     * Constructs a new DuplicateChartRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDuplicateChartRequest);

                    /** DuplicateChartRequest name. */
                    public name: string;

                    /** DuplicateChartRequest dashboardChart. */
                    public dashboardChart: string;

                    /**
                     * Creates a new DuplicateChartRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DuplicateChartRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDuplicateChartRequest): google.cloud.chronicle.v1.DuplicateChartRequest;

                    /**
                     * Encodes the specified DuplicateChartRequest message. Does not implicitly {@link google.cloud.chronicle.v1.DuplicateChartRequest.verify|verify} messages.
                     * @param message DuplicateChartRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IDuplicateChartRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DuplicateChartRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DuplicateChartRequest.verify|verify} messages.
                     * @param message DuplicateChartRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IDuplicateChartRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DuplicateChartRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DuplicateChartRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DuplicateChartRequest;

                    /**
                     * Decodes a DuplicateChartRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DuplicateChartRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DuplicateChartRequest;

                    /**
                     * Verifies a DuplicateChartRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DuplicateChartRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DuplicateChartRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DuplicateChartRequest;

                    /**
                     * Creates a plain object from a DuplicateChartRequest message. Also converts values to other types if specified.
                     * @param message DuplicateChartRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DuplicateChartRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DuplicateChartRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DuplicateChartRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DuplicateChartResponse. */
                interface IDuplicateChartResponse {

                    /** DuplicateChartResponse nativeDashboard */
                    nativeDashboard?: (google.cloud.chronicle.v1.INativeDashboard|null);

                    /** DuplicateChartResponse dashboardChart */
                    dashboardChart?: (google.cloud.chronicle.v1.IDashboardChart|null);
                }

                /** Represents a DuplicateChartResponse. */
                class DuplicateChartResponse implements IDuplicateChartResponse {

                    /**
                     * Constructs a new DuplicateChartResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDuplicateChartResponse);

                    /** DuplicateChartResponse nativeDashboard. */
                    public nativeDashboard?: (google.cloud.chronicle.v1.INativeDashboard|null);

                    /** DuplicateChartResponse dashboardChart. */
                    public dashboardChart?: (google.cloud.chronicle.v1.IDashboardChart|null);

                    /**
                     * Creates a new DuplicateChartResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DuplicateChartResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDuplicateChartResponse): google.cloud.chronicle.v1.DuplicateChartResponse;

                    /**
                     * Encodes the specified DuplicateChartResponse message. Does not implicitly {@link google.cloud.chronicle.v1.DuplicateChartResponse.verify|verify} messages.
                     * @param message DuplicateChartResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IDuplicateChartResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DuplicateChartResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DuplicateChartResponse.verify|verify} messages.
                     * @param message DuplicateChartResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IDuplicateChartResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DuplicateChartResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DuplicateChartResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DuplicateChartResponse;

                    /**
                     * Decodes a DuplicateChartResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DuplicateChartResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DuplicateChartResponse;

                    /**
                     * Verifies a DuplicateChartResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DuplicateChartResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DuplicateChartResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DuplicateChartResponse;

                    /**
                     * Creates a plain object from a DuplicateChartResponse message. Also converts values to other types if specified.
                     * @param message DuplicateChartResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DuplicateChartResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DuplicateChartResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DuplicateChartResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DashboardUserData. */
                interface IDashboardUserData {

                    /** DashboardUserData lastViewedTime */
                    lastViewedTime?: (google.protobuf.ITimestamp|null);

                    /** DashboardUserData isPinned */
                    isPinned?: (boolean|null);
                }

                /** Represents a DashboardUserData. */
                class DashboardUserData implements IDashboardUserData {

                    /**
                     * Constructs a new DashboardUserData.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDashboardUserData);

                    /** DashboardUserData lastViewedTime. */
                    public lastViewedTime?: (google.protobuf.ITimestamp|null);

                    /** DashboardUserData isPinned. */
                    public isPinned: boolean;

                    /**
                     * Creates a new DashboardUserData instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DashboardUserData instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDashboardUserData): google.cloud.chronicle.v1.DashboardUserData;

                    /**
                     * Encodes the specified DashboardUserData message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardUserData.verify|verify} messages.
                     * @param message DashboardUserData message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IDashboardUserData, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DashboardUserData message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardUserData.verify|verify} messages.
                     * @param message DashboardUserData message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IDashboardUserData, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DashboardUserData message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DashboardUserData
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DashboardUserData;

                    /**
                     * Decodes a DashboardUserData message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DashboardUserData
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DashboardUserData;

                    /**
                     * Verifies a DashboardUserData message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DashboardUserData message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DashboardUserData
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DashboardUserData;

                    /**
                     * Creates a plain object from a DashboardUserData message. Also converts values to other types if specified.
                     * @param message DashboardUserData
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DashboardUserData, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DashboardUserData to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DashboardUserData
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DashboardDefinition. */
                interface IDashboardDefinition {

                    /** DashboardDefinition filters */
                    filters?: (google.cloud.chronicle.v1.IDashboardFilter[]|null);

                    /** DashboardDefinition fingerprint */
                    fingerprint?: (string|null);

                    /** DashboardDefinition charts */
                    charts?: (google.cloud.chronicle.v1.DashboardDefinition.IChartConfig[]|null);
                }

                /** Represents a DashboardDefinition. */
                class DashboardDefinition implements IDashboardDefinition {

                    /**
                     * Constructs a new DashboardDefinition.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDashboardDefinition);

                    /** DashboardDefinition filters. */
                    public filters: google.cloud.chronicle.v1.IDashboardFilter[];

                    /** DashboardDefinition fingerprint. */
                    public fingerprint: string;

                    /** DashboardDefinition charts. */
                    public charts: google.cloud.chronicle.v1.DashboardDefinition.IChartConfig[];

                    /**
                     * Creates a new DashboardDefinition instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DashboardDefinition instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDashboardDefinition): google.cloud.chronicle.v1.DashboardDefinition;

                    /**
                     * Encodes the specified DashboardDefinition message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardDefinition.verify|verify} messages.
                     * @param message DashboardDefinition message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IDashboardDefinition, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DashboardDefinition message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardDefinition.verify|verify} messages.
                     * @param message DashboardDefinition message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IDashboardDefinition, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DashboardDefinition message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DashboardDefinition
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DashboardDefinition;

                    /**
                     * Decodes a DashboardDefinition message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DashboardDefinition
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DashboardDefinition;

                    /**
                     * Verifies a DashboardDefinition message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DashboardDefinition message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DashboardDefinition
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DashboardDefinition;

                    /**
                     * Creates a plain object from a DashboardDefinition message. Also converts values to other types if specified.
                     * @param message DashboardDefinition
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DashboardDefinition, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DashboardDefinition to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DashboardDefinition
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace DashboardDefinition {

                    /** Properties of a ChartConfig. */
                    interface IChartConfig {

                        /** ChartConfig dashboardChart */
                        dashboardChart?: (string|null);

                        /** ChartConfig chartLayout */
                        chartLayout?: (google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.IChartLayout|null);

                        /** ChartConfig filtersIds */
                        filtersIds?: (string[]|null);
                    }

                    /** Represents a ChartConfig. */
                    class ChartConfig implements IChartConfig {

                        /**
                         * Constructs a new ChartConfig.
                         * @param [properties] Properties to set
                         */
                        constructor(properties?: google.cloud.chronicle.v1.DashboardDefinition.IChartConfig);

                        /** ChartConfig dashboardChart. */
                        public dashboardChart: string;

                        /** ChartConfig chartLayout. */
                        public chartLayout?: (google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.IChartLayout|null);

                        /** ChartConfig filtersIds. */
                        public filtersIds: string[];

                        /**
                         * Creates a new ChartConfig instance using the specified properties.
                         * @param [properties] Properties to set
                         * @returns ChartConfig instance
                         */
                        public static create(properties?: google.cloud.chronicle.v1.DashboardDefinition.IChartConfig): google.cloud.chronicle.v1.DashboardDefinition.ChartConfig;

                        /**
                         * Encodes the specified ChartConfig message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.verify|verify} messages.
                         * @param message ChartConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encode(message: google.cloud.chronicle.v1.DashboardDefinition.IChartConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Encodes the specified ChartConfig message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.verify|verify} messages.
                         * @param message ChartConfig message or plain object to encode
                         * @param [writer] Writer to encode to
                         * @returns Writer
                         */
                        public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardDefinition.IChartConfig, writer?: $protobuf.Writer): $protobuf.Writer;

                        /**
                         * Decodes a ChartConfig message from the specified reader or buffer.
                         * @param reader Reader or buffer to decode from
                         * @param [length] Message length if known beforehand
                         * @returns ChartConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DashboardDefinition.ChartConfig;

                        /**
                         * Decodes a ChartConfig message from the specified reader or buffer, length delimited.
                         * @param reader Reader or buffer to decode from
                         * @returns ChartConfig
                         * @throws {Error} If the payload is not a reader or valid buffer
                         * @throws {$protobuf.util.ProtocolError} If required fields are missing
                         */
                        public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DashboardDefinition.ChartConfig;

                        /**
                         * Verifies a ChartConfig message.
                         * @param message Plain object to verify
                         * @returns `null` if valid, otherwise the reason why it is not
                         */
                        public static verify(message: { [k: string]: any }): (string|null);

                        /**
                         * Creates a ChartConfig message from a plain object. Also converts values to their respective internal types.
                         * @param object Plain object
                         * @returns ChartConfig
                         */
                        public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DashboardDefinition.ChartConfig;

                        /**
                         * Creates a plain object from a ChartConfig message. Also converts values to other types if specified.
                         * @param message ChartConfig
                         * @param [options] Conversion options
                         * @returns Plain object
                         */
                        public static toObject(message: google.cloud.chronicle.v1.DashboardDefinition.ChartConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };

                        /**
                         * Converts this ChartConfig to JSON.
                         * @returns JSON object
                         */
                        public toJSON(): { [k: string]: any };

                        /**
                         * Gets the default type url for ChartConfig
                         * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                         * @returns The default type url
                         */
                        public static getTypeUrl(typeUrlPrefix?: string): string;
                    }

                    namespace ChartConfig {

                        /** Properties of a ChartLayout. */
                        interface IChartLayout {

                            /** ChartLayout startX */
                            startX?: (number|null);

                            /** ChartLayout spanX */
                            spanX?: (number|null);

                            /** ChartLayout startY */
                            startY?: (number|null);

                            /** ChartLayout spanY */
                            spanY?: (number|null);
                        }

                        /** Represents a ChartLayout. */
                        class ChartLayout implements IChartLayout {

                            /**
                             * Constructs a new ChartLayout.
                             * @param [properties] Properties to set
                             */
                            constructor(properties?: google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.IChartLayout);

                            /** ChartLayout startX. */
                            public startX?: (number|null);

                            /** ChartLayout spanX. */
                            public spanX: number;

                            /** ChartLayout startY. */
                            public startY?: (number|null);

                            /** ChartLayout spanY. */
                            public spanY: number;

                            /**
                             * Creates a new ChartLayout instance using the specified properties.
                             * @param [properties] Properties to set
                             * @returns ChartLayout instance
                             */
                            public static create(properties?: google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.IChartLayout): google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.ChartLayout;

                            /**
                             * Encodes the specified ChartLayout message. Does not implicitly {@link google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.ChartLayout.verify|verify} messages.
                             * @param message ChartLayout message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encode(message: google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.IChartLayout, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Encodes the specified ChartLayout message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.ChartLayout.verify|verify} messages.
                             * @param message ChartLayout message or plain object to encode
                             * @param [writer] Writer to encode to
                             * @returns Writer
                             */
                            public static encodeDelimited(message: google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.IChartLayout, writer?: $protobuf.Writer): $protobuf.Writer;

                            /**
                             * Decodes a ChartLayout message from the specified reader or buffer.
                             * @param reader Reader or buffer to decode from
                             * @param [length] Message length if known beforehand
                             * @returns ChartLayout
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.ChartLayout;

                            /**
                             * Decodes a ChartLayout message from the specified reader or buffer, length delimited.
                             * @param reader Reader or buffer to decode from
                             * @returns ChartLayout
                             * @throws {Error} If the payload is not a reader or valid buffer
                             * @throws {$protobuf.util.ProtocolError} If required fields are missing
                             */
                            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.ChartLayout;

                            /**
                             * Verifies a ChartLayout message.
                             * @param message Plain object to verify
                             * @returns `null` if valid, otherwise the reason why it is not
                             */
                            public static verify(message: { [k: string]: any }): (string|null);

                            /**
                             * Creates a ChartLayout message from a plain object. Also converts values to their respective internal types.
                             * @param object Plain object
                             * @returns ChartLayout
                             */
                            public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.ChartLayout;

                            /**
                             * Creates a plain object from a ChartLayout message. Also converts values to other types if specified.
                             * @param message ChartLayout
                             * @param [options] Conversion options
                             * @returns Plain object
                             */
                            public static toObject(message: google.cloud.chronicle.v1.DashboardDefinition.ChartConfig.ChartLayout, options?: $protobuf.IConversionOptions): { [k: string]: any };

                            /**
                             * Converts this ChartLayout to JSON.
                             * @returns JSON object
                             */
                            public toJSON(): { [k: string]: any };

                            /**
                             * Gets the default type url for ChartLayout
                             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                             * @returns The default type url
                             */
                            public static getTypeUrl(typeUrlPrefix?: string): string;
                        }
                    }
                }

                /** Represents an InstanceService */
                class InstanceService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new InstanceService 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 InstanceService 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): InstanceService;

                    /**
                     * Calls GetInstance.
                     * @param request GetInstanceRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Instance
                     */
                    public getInstance(request: google.cloud.chronicle.v1.IGetInstanceRequest, callback: google.cloud.chronicle.v1.InstanceService.GetInstanceCallback): void;

                    /**
                     * Calls GetInstance.
                     * @param request GetInstanceRequest message or plain object
                     * @returns Promise
                     */
                    public getInstance(request: google.cloud.chronicle.v1.IGetInstanceRequest): Promise<google.cloud.chronicle.v1.Instance>;
                }

                namespace InstanceService {

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.InstanceService|getInstance}.
                     * @param error Error, if any
                     * @param [response] Instance
                     */
                    type GetInstanceCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.Instance) => void;
                }

                /** Properties of an Instance. */
                interface IInstance {

                    /** Instance name */
                    name?: (string|null);
                }

                /** Represents an Instance. */
                class Instance implements IInstance {

                    /**
                     * Constructs a new Instance.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IInstance);

                    /** Instance name. */
                    public name: string;

                    /**
                     * Creates a new Instance instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Instance instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IInstance): google.cloud.chronicle.v1.Instance;

                    /**
                     * Encodes the specified Instance message. Does not implicitly {@link google.cloud.chronicle.v1.Instance.verify|verify} messages.
                     * @param message Instance message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IInstance, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Instance message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.Instance.verify|verify} messages.
                     * @param message Instance message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IInstance, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an Instance message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Instance
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.Instance;

                    /**
                     * Decodes an Instance message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Instance
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.Instance;

                    /**
                     * Verifies an Instance message.
                     * @param message Plain 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 Instance message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Instance
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.Instance;

                    /**
                     * Creates a plain object from an Instance message. Also converts values to other types if specified.
                     * @param message Instance
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.Instance, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Instance to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Instance
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a GetInstanceRequest. */
                interface IGetInstanceRequest {

                    /** GetInstanceRequest name */
                    name?: (string|null);
                }

                /** Represents a GetInstanceRequest. */
                class GetInstanceRequest implements IGetInstanceRequest {

                    /**
                     * Constructs a new GetInstanceRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetInstanceRequest);

                    /** GetInstanceRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetInstanceRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetInstanceRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetInstanceRequest): google.cloud.chronicle.v1.GetInstanceRequest;

                    /**
                     * Encodes the specified GetInstanceRequest message. Does not implicitly {@link google.cloud.chronicle.v1.GetInstanceRequest.verify|verify} messages.
                     * @param message GetInstanceRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IGetInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetInstanceRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.GetInstanceRequest.verify|verify} messages.
                     * @param message GetInstanceRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IGetInstanceRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetInstanceRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetInstanceRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.GetInstanceRequest;

                    /**
                     * Decodes a GetInstanceRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetInstanceRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.GetInstanceRequest;

                    /**
                     * Verifies a GetInstanceRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetInstanceRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetInstanceRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.GetInstanceRequest;

                    /**
                     * Creates a plain object from a GetInstanceRequest message. Also converts values to other types if specified.
                     * @param message GetInstanceRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.GetInstanceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetInstanceRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetInstanceRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a ReferenceListService */
                class ReferenceListService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new ReferenceListService 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 ReferenceListService 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): ReferenceListService;

                    /**
                     * Calls GetReferenceList.
                     * @param request GetReferenceListRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ReferenceList
                     */
                    public getReferenceList(request: google.cloud.chronicle.v1.IGetReferenceListRequest, callback: google.cloud.chronicle.v1.ReferenceListService.GetReferenceListCallback): void;

                    /**
                     * Calls GetReferenceList.
                     * @param request GetReferenceListRequest message or plain object
                     * @returns Promise
                     */
                    public getReferenceList(request: google.cloud.chronicle.v1.IGetReferenceListRequest): Promise<google.cloud.chronicle.v1.ReferenceList>;

                    /**
                     * Calls ListReferenceLists.
                     * @param request ListReferenceListsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListReferenceListsResponse
                     */
                    public listReferenceLists(request: google.cloud.chronicle.v1.IListReferenceListsRequest, callback: google.cloud.chronicle.v1.ReferenceListService.ListReferenceListsCallback): void;

                    /**
                     * Calls ListReferenceLists.
                     * @param request ListReferenceListsRequest message or plain object
                     * @returns Promise
                     */
                    public listReferenceLists(request: google.cloud.chronicle.v1.IListReferenceListsRequest): Promise<google.cloud.chronicle.v1.ListReferenceListsResponse>;

                    /**
                     * Calls CreateReferenceList.
                     * @param request CreateReferenceListRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ReferenceList
                     */
                    public createReferenceList(request: google.cloud.chronicle.v1.ICreateReferenceListRequest, callback: google.cloud.chronicle.v1.ReferenceListService.CreateReferenceListCallback): void;

                    /**
                     * Calls CreateReferenceList.
                     * @param request CreateReferenceListRequest message or plain object
                     * @returns Promise
                     */
                    public createReferenceList(request: google.cloud.chronicle.v1.ICreateReferenceListRequest): Promise<google.cloud.chronicle.v1.ReferenceList>;

                    /**
                     * Calls UpdateReferenceList.
                     * @param request UpdateReferenceListRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ReferenceList
                     */
                    public updateReferenceList(request: google.cloud.chronicle.v1.IUpdateReferenceListRequest, callback: google.cloud.chronicle.v1.ReferenceListService.UpdateReferenceListCallback): void;

                    /**
                     * Calls UpdateReferenceList.
                     * @param request UpdateReferenceListRequest message or plain object
                     * @returns Promise
                     */
                    public updateReferenceList(request: google.cloud.chronicle.v1.IUpdateReferenceListRequest): Promise<google.cloud.chronicle.v1.ReferenceList>;

                    /**
                     * Calls VerifyReferenceList.
                     * @param request VerifyReferenceListRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and VerifyReferenceListResponse
                     */
                    public verifyReferenceList(request: google.cloud.chronicle.v1.IVerifyReferenceListRequest, callback: google.cloud.chronicle.v1.ReferenceListService.VerifyReferenceListCallback): void;

                    /**
                     * Calls VerifyReferenceList.
                     * @param request VerifyReferenceListRequest message or plain object
                     * @returns Promise
                     */
                    public verifyReferenceList(request: google.cloud.chronicle.v1.IVerifyReferenceListRequest): Promise<google.cloud.chronicle.v1.VerifyReferenceListResponse>;
                }

                namespace ReferenceListService {

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.ReferenceListService|getReferenceList}.
                     * @param error Error, if any
                     * @param [response] ReferenceList
                     */
                    type GetReferenceListCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ReferenceList) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.ReferenceListService|listReferenceLists}.
                     * @param error Error, if any
                     * @param [response] ListReferenceListsResponse
                     */
                    type ListReferenceListsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ListReferenceListsResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.ReferenceListService|createReferenceList}.
                     * @param error Error, if any
                     * @param [response] ReferenceList
                     */
                    type CreateReferenceListCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ReferenceList) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.ReferenceListService|updateReferenceList}.
                     * @param error Error, if any
                     * @param [response] ReferenceList
                     */
                    type UpdateReferenceListCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ReferenceList) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.ReferenceListService|verifyReferenceList}.
                     * @param error Error, if any
                     * @param [response] VerifyReferenceListResponse
                     */
                    type VerifyReferenceListCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.VerifyReferenceListResponse) => void;
                }

                /** ReferenceListSyntaxType enum. */
                enum ReferenceListSyntaxType {
                    REFERENCE_LIST_SYNTAX_TYPE_UNSPECIFIED = 0,
                    REFERENCE_LIST_SYNTAX_TYPE_PLAIN_TEXT_STRING = 1,
                    REFERENCE_LIST_SYNTAX_TYPE_REGEX = 2,
                    REFERENCE_LIST_SYNTAX_TYPE_CIDR = 3
                }

                /** ReferenceListView enum. */
                enum ReferenceListView {
                    REFERENCE_LIST_VIEW_UNSPECIFIED = 0,
                    REFERENCE_LIST_VIEW_BASIC = 1,
                    REFERENCE_LIST_VIEW_FULL = 2
                }

                /** Properties of a ScopeInfo. */
                interface IScopeInfo {

                    /** ScopeInfo referenceListScope */
                    referenceListScope?: (google.cloud.chronicle.v1.IReferenceListScope|null);
                }

                /** Represents a ScopeInfo. */
                class ScopeInfo implements IScopeInfo {

                    /**
                     * Constructs a new ScopeInfo.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IScopeInfo);

                    /** ScopeInfo referenceListScope. */
                    public referenceListScope?: (google.cloud.chronicle.v1.IReferenceListScope|null);

                    /**
                     * Creates a new ScopeInfo instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ScopeInfo instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IScopeInfo): google.cloud.chronicle.v1.ScopeInfo;

                    /**
                     * Encodes the specified ScopeInfo message. Does not implicitly {@link google.cloud.chronicle.v1.ScopeInfo.verify|verify} messages.
                     * @param message ScopeInfo message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IScopeInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ScopeInfo message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ScopeInfo.verify|verify} messages.
                     * @param message ScopeInfo message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IScopeInfo, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ScopeInfo message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ScopeInfo
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ScopeInfo;

                    /**
                     * Decodes a ScopeInfo message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ScopeInfo
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ScopeInfo;

                    /**
                     * Verifies a ScopeInfo message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ScopeInfo message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ScopeInfo
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ScopeInfo;

                    /**
                     * Creates a plain object from a ScopeInfo message. Also converts values to other types if specified.
                     * @param message ScopeInfo
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ScopeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ScopeInfo to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ScopeInfo
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ReferenceListScope. */
                interface IReferenceListScope {

                    /** ReferenceListScope scopeNames */
                    scopeNames?: (string[]|null);
                }

                /** Represents a ReferenceListScope. */
                class ReferenceListScope implements IReferenceListScope {

                    /**
                     * Constructs a new ReferenceListScope.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IReferenceListScope);

                    /** ReferenceListScope scopeNames. */
                    public scopeNames: string[];

                    /**
                     * Creates a new ReferenceListScope instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ReferenceListScope instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IReferenceListScope): google.cloud.chronicle.v1.ReferenceListScope;

                    /**
                     * Encodes the specified ReferenceListScope message. Does not implicitly {@link google.cloud.chronicle.v1.ReferenceListScope.verify|verify} messages.
                     * @param message ReferenceListScope message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IReferenceListScope, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ReferenceListScope message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ReferenceListScope.verify|verify} messages.
                     * @param message ReferenceListScope message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IReferenceListScope, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ReferenceListScope message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ReferenceListScope
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ReferenceListScope;

                    /**
                     * Decodes a ReferenceListScope message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ReferenceListScope
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ReferenceListScope;

                    /**
                     * Verifies a ReferenceListScope message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ReferenceListScope message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ReferenceListScope
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ReferenceListScope;

                    /**
                     * Creates a plain object from a ReferenceListScope message. Also converts values to other types if specified.
                     * @param message ReferenceListScope
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ReferenceListScope, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ReferenceListScope to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ReferenceListScope
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a GetReferenceListRequest. */
                interface IGetReferenceListRequest {

                    /** GetReferenceListRequest name */
                    name?: (string|null);

                    /** GetReferenceListRequest view */
                    view?: (google.cloud.chronicle.v1.ReferenceListView|keyof typeof google.cloud.chronicle.v1.ReferenceListView|null);
                }

                /** Represents a GetReferenceListRequest. */
                class GetReferenceListRequest implements IGetReferenceListRequest {

                    /**
                     * Constructs a new GetReferenceListRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetReferenceListRequest);

                    /** GetReferenceListRequest name. */
                    public name: string;

                    /** GetReferenceListRequest view. */
                    public view: (google.cloud.chronicle.v1.ReferenceListView|keyof typeof google.cloud.chronicle.v1.ReferenceListView);

                    /**
                     * Creates a new GetReferenceListRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetReferenceListRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetReferenceListRequest): google.cloud.chronicle.v1.GetReferenceListRequest;

                    /**
                     * Encodes the specified GetReferenceListRequest message. Does not implicitly {@link google.cloud.chronicle.v1.GetReferenceListRequest.verify|verify} messages.
                     * @param message GetReferenceListRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IGetReferenceListRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetReferenceListRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.GetReferenceListRequest.verify|verify} messages.
                     * @param message GetReferenceListRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IGetReferenceListRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetReferenceListRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetReferenceListRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.GetReferenceListRequest;

                    /**
                     * Decodes a GetReferenceListRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetReferenceListRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.GetReferenceListRequest;

                    /**
                     * Verifies a GetReferenceListRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetReferenceListRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetReferenceListRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.GetReferenceListRequest;

                    /**
                     * Creates a plain object from a GetReferenceListRequest message. Also converts values to other types if specified.
                     * @param message GetReferenceListRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.GetReferenceListRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetReferenceListRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetReferenceListRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListReferenceListsRequest. */
                interface IListReferenceListsRequest {

                    /** ListReferenceListsRequest parent */
                    parent?: (string|null);

                    /** ListReferenceListsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListReferenceListsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListReferenceListsRequest view */
                    view?: (google.cloud.chronicle.v1.ReferenceListView|keyof typeof google.cloud.chronicle.v1.ReferenceListView|null);
                }

                /** Represents a ListReferenceListsRequest. */
                class ListReferenceListsRequest implements IListReferenceListsRequest {

                    /**
                     * Constructs a new ListReferenceListsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListReferenceListsRequest);

                    /** ListReferenceListsRequest parent. */
                    public parent: string;

                    /** ListReferenceListsRequest pageSize. */
                    public pageSize: number;

                    /** ListReferenceListsRequest pageToken. */
                    public pageToken: string;

                    /** ListReferenceListsRequest view. */
                    public view: (google.cloud.chronicle.v1.ReferenceListView|keyof typeof google.cloud.chronicle.v1.ReferenceListView);

                    /**
                     * Creates a new ListReferenceListsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListReferenceListsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListReferenceListsRequest): google.cloud.chronicle.v1.ListReferenceListsRequest;

                    /**
                     * Encodes the specified ListReferenceListsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.ListReferenceListsRequest.verify|verify} messages.
                     * @param message ListReferenceListsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListReferenceListsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListReferenceListsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListReferenceListsRequest.verify|verify} messages.
                     * @param message ListReferenceListsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListReferenceListsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListReferenceListsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListReferenceListsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListReferenceListsRequest;

                    /**
                     * Decodes a ListReferenceListsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListReferenceListsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListReferenceListsRequest;

                    /**
                     * Verifies a ListReferenceListsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListReferenceListsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListReferenceListsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListReferenceListsRequest;

                    /**
                     * Creates a plain object from a ListReferenceListsRequest message. Also converts values to other types if specified.
                     * @param message ListReferenceListsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListReferenceListsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListReferenceListsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListReferenceListsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListReferenceListsResponse. */
                interface IListReferenceListsResponse {

                    /** ListReferenceListsResponse referenceLists */
                    referenceLists?: (google.cloud.chronicle.v1.IReferenceList[]|null);

                    /** ListReferenceListsResponse nextPageToken */
                    nextPageToken?: (string|null);
                }

                /** Represents a ListReferenceListsResponse. */
                class ListReferenceListsResponse implements IListReferenceListsResponse {

                    /**
                     * Constructs a new ListReferenceListsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListReferenceListsResponse);

                    /** ListReferenceListsResponse referenceLists. */
                    public referenceLists: google.cloud.chronicle.v1.IReferenceList[];

                    /** ListReferenceListsResponse nextPageToken. */
                    public nextPageToken: string;

                    /**
                     * Creates a new ListReferenceListsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListReferenceListsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListReferenceListsResponse): google.cloud.chronicle.v1.ListReferenceListsResponse;

                    /**
                     * Encodes the specified ListReferenceListsResponse message. Does not implicitly {@link google.cloud.chronicle.v1.ListReferenceListsResponse.verify|verify} messages.
                     * @param message ListReferenceListsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListReferenceListsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListReferenceListsResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListReferenceListsResponse.verify|verify} messages.
                     * @param message ListReferenceListsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListReferenceListsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListReferenceListsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListReferenceListsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListReferenceListsResponse;

                    /**
                     * Decodes a ListReferenceListsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListReferenceListsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListReferenceListsResponse;

                    /**
                     * Verifies a ListReferenceListsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListReferenceListsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListReferenceListsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListReferenceListsResponse;

                    /**
                     * Creates a plain object from a ListReferenceListsResponse message. Also converts values to other types if specified.
                     * @param message ListReferenceListsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListReferenceListsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListReferenceListsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListReferenceListsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreateReferenceListRequest. */
                interface ICreateReferenceListRequest {

                    /** CreateReferenceListRequest parent */
                    parent?: (string|null);

                    /** CreateReferenceListRequest referenceList */
                    referenceList?: (google.cloud.chronicle.v1.IReferenceList|null);

                    /** CreateReferenceListRequest referenceListId */
                    referenceListId?: (string|null);
                }

                /** Represents a CreateReferenceListRequest. */
                class CreateReferenceListRequest implements ICreateReferenceListRequest {

                    /**
                     * Constructs a new CreateReferenceListRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.ICreateReferenceListRequest);

                    /** CreateReferenceListRequest parent. */
                    public parent: string;

                    /** CreateReferenceListRequest referenceList. */
                    public referenceList?: (google.cloud.chronicle.v1.IReferenceList|null);

                    /** CreateReferenceListRequest referenceListId. */
                    public referenceListId: string;

                    /**
                     * Creates a new CreateReferenceListRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateReferenceListRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.ICreateReferenceListRequest): google.cloud.chronicle.v1.CreateReferenceListRequest;

                    /**
                     * Encodes the specified CreateReferenceListRequest message. Does not implicitly {@link google.cloud.chronicle.v1.CreateReferenceListRequest.verify|verify} messages.
                     * @param message CreateReferenceListRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.ICreateReferenceListRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateReferenceListRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.CreateReferenceListRequest.verify|verify} messages.
                     * @param message CreateReferenceListRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.ICreateReferenceListRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateReferenceListRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateReferenceListRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.CreateReferenceListRequest;

                    /**
                     * Decodes a CreateReferenceListRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateReferenceListRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.CreateReferenceListRequest;

                    /**
                     * Verifies a CreateReferenceListRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateReferenceListRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateReferenceListRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.CreateReferenceListRequest;

                    /**
                     * Creates a plain object from a CreateReferenceListRequest message. Also converts values to other types if specified.
                     * @param message CreateReferenceListRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.CreateReferenceListRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateReferenceListRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateReferenceListRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateReferenceListRequest. */
                interface IUpdateReferenceListRequest {

                    /** UpdateReferenceListRequest referenceList */
                    referenceList?: (google.cloud.chronicle.v1.IReferenceList|null);

                    /** UpdateReferenceListRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateReferenceListRequest. */
                class UpdateReferenceListRequest implements IUpdateReferenceListRequest {

                    /**
                     * Constructs a new UpdateReferenceListRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IUpdateReferenceListRequest);

                    /** UpdateReferenceListRequest referenceList. */
                    public referenceList?: (google.cloud.chronicle.v1.IReferenceList|null);

                    /** UpdateReferenceListRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateReferenceListRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateReferenceListRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IUpdateReferenceListRequest): google.cloud.chronicle.v1.UpdateReferenceListRequest;

                    /**
                     * Encodes the specified UpdateReferenceListRequest message. Does not implicitly {@link google.cloud.chronicle.v1.UpdateReferenceListRequest.verify|verify} messages.
                     * @param message UpdateReferenceListRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IUpdateReferenceListRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateReferenceListRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.UpdateReferenceListRequest.verify|verify} messages.
                     * @param message UpdateReferenceListRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IUpdateReferenceListRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateReferenceListRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateReferenceListRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.UpdateReferenceListRequest;

                    /**
                     * Decodes an UpdateReferenceListRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateReferenceListRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.UpdateReferenceListRequest;

                    /**
                     * Verifies an UpdateReferenceListRequest message.
                     * @param message Plain 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 UpdateReferenceListRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateReferenceListRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.UpdateReferenceListRequest;

                    /**
                     * Creates a plain object from an UpdateReferenceListRequest message. Also converts values to other types if specified.
                     * @param message UpdateReferenceListRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.UpdateReferenceListRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateReferenceListRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateReferenceListRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a VerifyReferenceListRequest. */
                interface IVerifyReferenceListRequest {

                    /** VerifyReferenceListRequest instance */
                    instance?: (string|null);

                    /** VerifyReferenceListRequest syntaxType */
                    syntaxType?: (google.cloud.chronicle.v1.ReferenceListSyntaxType|keyof typeof google.cloud.chronicle.v1.ReferenceListSyntaxType|null);

                    /** VerifyReferenceListRequest entries */
                    entries?: (google.cloud.chronicle.v1.IReferenceListEntry[]|null);
                }

                /** Represents a VerifyReferenceListRequest. */
                class VerifyReferenceListRequest implements IVerifyReferenceListRequest {

                    /**
                     * Constructs a new VerifyReferenceListRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IVerifyReferenceListRequest);

                    /** VerifyReferenceListRequest instance. */
                    public instance: string;

                    /** VerifyReferenceListRequest syntaxType. */
                    public syntaxType: (google.cloud.chronicle.v1.ReferenceListSyntaxType|keyof typeof google.cloud.chronicle.v1.ReferenceListSyntaxType);

                    /** VerifyReferenceListRequest entries. */
                    public entries: google.cloud.chronicle.v1.IReferenceListEntry[];

                    /**
                     * Creates a new VerifyReferenceListRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns VerifyReferenceListRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IVerifyReferenceListRequest): google.cloud.chronicle.v1.VerifyReferenceListRequest;

                    /**
                     * Encodes the specified VerifyReferenceListRequest message. Does not implicitly {@link google.cloud.chronicle.v1.VerifyReferenceListRequest.verify|verify} messages.
                     * @param message VerifyReferenceListRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IVerifyReferenceListRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified VerifyReferenceListRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.VerifyReferenceListRequest.verify|verify} messages.
                     * @param message VerifyReferenceListRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IVerifyReferenceListRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a VerifyReferenceListRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns VerifyReferenceListRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.VerifyReferenceListRequest;

                    /**
                     * Decodes a VerifyReferenceListRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns VerifyReferenceListRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.VerifyReferenceListRequest;

                    /**
                     * Verifies a VerifyReferenceListRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a VerifyReferenceListRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns VerifyReferenceListRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.VerifyReferenceListRequest;

                    /**
                     * Creates a plain object from a VerifyReferenceListRequest message. Also converts values to other types if specified.
                     * @param message VerifyReferenceListRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.VerifyReferenceListRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this VerifyReferenceListRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for VerifyReferenceListRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a VerifyReferenceListResponse. */
                interface IVerifyReferenceListResponse {

                    /** VerifyReferenceListResponse success */
                    success?: (boolean|null);

                    /** VerifyReferenceListResponse errors */
                    errors?: (google.cloud.chronicle.v1.IReferenceListError[]|null);
                }

                /** Represents a VerifyReferenceListResponse. */
                class VerifyReferenceListResponse implements IVerifyReferenceListResponse {

                    /**
                     * Constructs a new VerifyReferenceListResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IVerifyReferenceListResponse);

                    /** VerifyReferenceListResponse success. */
                    public success: boolean;

                    /** VerifyReferenceListResponse errors. */
                    public errors: google.cloud.chronicle.v1.IReferenceListError[];

                    /**
                     * Creates a new VerifyReferenceListResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns VerifyReferenceListResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IVerifyReferenceListResponse): google.cloud.chronicle.v1.VerifyReferenceListResponse;

                    /**
                     * Encodes the specified VerifyReferenceListResponse message. Does not implicitly {@link google.cloud.chronicle.v1.VerifyReferenceListResponse.verify|verify} messages.
                     * @param message VerifyReferenceListResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IVerifyReferenceListResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified VerifyReferenceListResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.VerifyReferenceListResponse.verify|verify} messages.
                     * @param message VerifyReferenceListResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IVerifyReferenceListResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a VerifyReferenceListResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns VerifyReferenceListResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.VerifyReferenceListResponse;

                    /**
                     * Decodes a VerifyReferenceListResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns VerifyReferenceListResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.VerifyReferenceListResponse;

                    /**
                     * Verifies a VerifyReferenceListResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a VerifyReferenceListResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns VerifyReferenceListResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.VerifyReferenceListResponse;

                    /**
                     * Creates a plain object from a VerifyReferenceListResponse message. Also converts values to other types if specified.
                     * @param message VerifyReferenceListResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.VerifyReferenceListResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this VerifyReferenceListResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for VerifyReferenceListResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ReferenceList. */
                interface IReferenceList {

                    /** ReferenceList name */
                    name?: (string|null);

                    /** ReferenceList displayName */
                    displayName?: (string|null);

                    /** ReferenceList revisionCreateTime */
                    revisionCreateTime?: (google.protobuf.ITimestamp|null);

                    /** ReferenceList description */
                    description?: (string|null);

                    /** ReferenceList entries */
                    entries?: (google.cloud.chronicle.v1.IReferenceListEntry[]|null);

                    /** ReferenceList rules */
                    rules?: (string[]|null);

                    /** ReferenceList syntaxType */
                    syntaxType?: (google.cloud.chronicle.v1.ReferenceListSyntaxType|keyof typeof google.cloud.chronicle.v1.ReferenceListSyntaxType|null);

                    /** ReferenceList ruleAssociationsCount */
                    ruleAssociationsCount?: (number|null);

                    /** ReferenceList scopeInfo */
                    scopeInfo?: (google.cloud.chronicle.v1.IScopeInfo|null);
                }

                /** Represents a ReferenceList. */
                class ReferenceList implements IReferenceList {

                    /**
                     * Constructs a new ReferenceList.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IReferenceList);

                    /** ReferenceList name. */
                    public name: string;

                    /** ReferenceList displayName. */
                    public displayName: string;

                    /** ReferenceList revisionCreateTime. */
                    public revisionCreateTime?: (google.protobuf.ITimestamp|null);

                    /** ReferenceList description. */
                    public description: string;

                    /** ReferenceList entries. */
                    public entries: google.cloud.chronicle.v1.IReferenceListEntry[];

                    /** ReferenceList rules. */
                    public rules: string[];

                    /** ReferenceList syntaxType. */
                    public syntaxType: (google.cloud.chronicle.v1.ReferenceListSyntaxType|keyof typeof google.cloud.chronicle.v1.ReferenceListSyntaxType);

                    /** ReferenceList ruleAssociationsCount. */
                    public ruleAssociationsCount: number;

                    /** ReferenceList scopeInfo. */
                    public scopeInfo?: (google.cloud.chronicle.v1.IScopeInfo|null);

                    /**
                     * Creates a new ReferenceList instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ReferenceList instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IReferenceList): google.cloud.chronicle.v1.ReferenceList;

                    /**
                     * Encodes the specified ReferenceList message. Does not implicitly {@link google.cloud.chronicle.v1.ReferenceList.verify|verify} messages.
                     * @param message ReferenceList message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IReferenceList, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ReferenceList message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ReferenceList.verify|verify} messages.
                     * @param message ReferenceList message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IReferenceList, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ReferenceList message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ReferenceList
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ReferenceList;

                    /**
                     * Decodes a ReferenceList message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ReferenceList
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ReferenceList;

                    /**
                     * Verifies a ReferenceList message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ReferenceList message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ReferenceList
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ReferenceList;

                    /**
                     * Creates a plain object from a ReferenceList message. Also converts values to other types if specified.
                     * @param message ReferenceList
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ReferenceList, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ReferenceList to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ReferenceList
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ReferenceListEntry. */
                interface IReferenceListEntry {

                    /** ReferenceListEntry value */
                    value?: (string|null);
                }

                /** Represents a ReferenceListEntry. */
                class ReferenceListEntry implements IReferenceListEntry {

                    /**
                     * Constructs a new ReferenceListEntry.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IReferenceListEntry);

                    /** ReferenceListEntry value. */
                    public value: string;

                    /**
                     * Creates a new ReferenceListEntry instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ReferenceListEntry instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IReferenceListEntry): google.cloud.chronicle.v1.ReferenceListEntry;

                    /**
                     * Encodes the specified ReferenceListEntry message. Does not implicitly {@link google.cloud.chronicle.v1.ReferenceListEntry.verify|verify} messages.
                     * @param message ReferenceListEntry message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IReferenceListEntry, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ReferenceListEntry message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ReferenceListEntry.verify|verify} messages.
                     * @param message ReferenceListEntry message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IReferenceListEntry, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ReferenceListEntry message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ReferenceListEntry
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ReferenceListEntry;

                    /**
                     * Decodes a ReferenceListEntry message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ReferenceListEntry
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ReferenceListEntry;

                    /**
                     * Verifies a ReferenceListEntry message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ReferenceListEntry message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ReferenceListEntry
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ReferenceListEntry;

                    /**
                     * Creates a plain object from a ReferenceListEntry message. Also converts values to other types if specified.
                     * @param message ReferenceListEntry
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ReferenceListEntry, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ReferenceListEntry to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ReferenceListEntry
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ReferenceListError. */
                interface IReferenceListError {

                    /** ReferenceListError lineNumber */
                    lineNumber?: (number|null);

                    /** ReferenceListError errorMessage */
                    errorMessage?: (string|null);
                }

                /** Represents a ReferenceListError. */
                class ReferenceListError implements IReferenceListError {

                    /**
                     * Constructs a new ReferenceListError.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IReferenceListError);

                    /** ReferenceListError lineNumber. */
                    public lineNumber: number;

                    /** ReferenceListError errorMessage. */
                    public errorMessage: string;

                    /**
                     * Creates a new ReferenceListError instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ReferenceListError instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IReferenceListError): google.cloud.chronicle.v1.ReferenceListError;

                    /**
                     * Encodes the specified ReferenceListError message. Does not implicitly {@link google.cloud.chronicle.v1.ReferenceListError.verify|verify} messages.
                     * @param message ReferenceListError message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IReferenceListError, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ReferenceListError message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ReferenceListError.verify|verify} messages.
                     * @param message ReferenceListError message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IReferenceListError, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ReferenceListError message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ReferenceListError
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ReferenceListError;

                    /**
                     * Decodes a ReferenceListError message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ReferenceListError
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ReferenceListError;

                    /**
                     * Verifies a ReferenceListError message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ReferenceListError message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ReferenceListError
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ReferenceListError;

                    /**
                     * Creates a plain object from a ReferenceListError message. Also converts values to other types if specified.
                     * @param message ReferenceListError
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ReferenceListError, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ReferenceListError to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ReferenceListError
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a RuleService */
                class RuleService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new RuleService 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 RuleService 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): RuleService;

                    /**
                     * Calls CreateRule.
                     * @param request CreateRuleRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Rule
                     */
                    public createRule(request: google.cloud.chronicle.v1.ICreateRuleRequest, callback: google.cloud.chronicle.v1.RuleService.CreateRuleCallback): void;

                    /**
                     * Calls CreateRule.
                     * @param request CreateRuleRequest message or plain object
                     * @returns Promise
                     */
                    public createRule(request: google.cloud.chronicle.v1.ICreateRuleRequest): Promise<google.cloud.chronicle.v1.Rule>;

                    /**
                     * Calls GetRule.
                     * @param request GetRuleRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Rule
                     */
                    public getRule(request: google.cloud.chronicle.v1.IGetRuleRequest, callback: google.cloud.chronicle.v1.RuleService.GetRuleCallback): void;

                    /**
                     * Calls GetRule.
                     * @param request GetRuleRequest message or plain object
                     * @returns Promise
                     */
                    public getRule(request: google.cloud.chronicle.v1.IGetRuleRequest): Promise<google.cloud.chronicle.v1.Rule>;

                    /**
                     * Calls ListRules.
                     * @param request ListRulesRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListRulesResponse
                     */
                    public listRules(request: google.cloud.chronicle.v1.IListRulesRequest, callback: google.cloud.chronicle.v1.RuleService.ListRulesCallback): void;

                    /**
                     * Calls ListRules.
                     * @param request ListRulesRequest message or plain object
                     * @returns Promise
                     */
                    public listRules(request: google.cloud.chronicle.v1.IListRulesRequest): Promise<google.cloud.chronicle.v1.ListRulesResponse>;

                    /**
                     * Calls UpdateRule.
                     * @param request UpdateRuleRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Rule
                     */
                    public updateRule(request: google.cloud.chronicle.v1.IUpdateRuleRequest, callback: google.cloud.chronicle.v1.RuleService.UpdateRuleCallback): void;

                    /**
                     * Calls UpdateRule.
                     * @param request UpdateRuleRequest message or plain object
                     * @returns Promise
                     */
                    public updateRule(request: google.cloud.chronicle.v1.IUpdateRuleRequest): Promise<google.cloud.chronicle.v1.Rule>;

                    /**
                     * Calls DeleteRule.
                     * @param request DeleteRuleRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Empty
                     */
                    public deleteRule(request: google.cloud.chronicle.v1.IDeleteRuleRequest, callback: google.cloud.chronicle.v1.RuleService.DeleteRuleCallback): void;

                    /**
                     * Calls DeleteRule.
                     * @param request DeleteRuleRequest message or plain object
                     * @returns Promise
                     */
                    public deleteRule(request: google.cloud.chronicle.v1.IDeleteRuleRequest): Promise<google.protobuf.Empty>;

                    /**
                     * Calls VerifyRuleText.
                     * @param request VerifyRuleTextRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and VerifyRuleTextResponse
                     */
                    public verifyRuleText(request: google.cloud.chronicle.v1.IVerifyRuleTextRequest, callback: google.cloud.chronicle.v1.RuleService.VerifyRuleTextCallback): void;

                    /**
                     * Calls VerifyRuleText.
                     * @param request VerifyRuleTextRequest message or plain object
                     * @returns Promise
                     */
                    public verifyRuleText(request: google.cloud.chronicle.v1.IVerifyRuleTextRequest): Promise<google.cloud.chronicle.v1.VerifyRuleTextResponse>;

                    /**
                     * Calls ListRuleRevisions.
                     * @param request ListRuleRevisionsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListRuleRevisionsResponse
                     */
                    public listRuleRevisions(request: google.cloud.chronicle.v1.IListRuleRevisionsRequest, callback: google.cloud.chronicle.v1.RuleService.ListRuleRevisionsCallback): void;

                    /**
                     * Calls ListRuleRevisions.
                     * @param request ListRuleRevisionsRequest message or plain object
                     * @returns Promise
                     */
                    public listRuleRevisions(request: google.cloud.chronicle.v1.IListRuleRevisionsRequest): Promise<google.cloud.chronicle.v1.ListRuleRevisionsResponse>;

                    /**
                     * Calls CreateRetrohunt.
                     * @param request CreateRetrohuntRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Operation
                     */
                    public createRetrohunt(request: google.cloud.chronicle.v1.ICreateRetrohuntRequest, callback: google.cloud.chronicle.v1.RuleService.CreateRetrohuntCallback): void;

                    /**
                     * Calls CreateRetrohunt.
                     * @param request CreateRetrohuntRequest message or plain object
                     * @returns Promise
                     */
                    public createRetrohunt(request: google.cloud.chronicle.v1.ICreateRetrohuntRequest): Promise<google.longrunning.Operation>;

                    /**
                     * Calls GetRetrohunt.
                     * @param request GetRetrohuntRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and Retrohunt
                     */
                    public getRetrohunt(request: google.cloud.chronicle.v1.IGetRetrohuntRequest, callback: google.cloud.chronicle.v1.RuleService.GetRetrohuntCallback): void;

                    /**
                     * Calls GetRetrohunt.
                     * @param request GetRetrohuntRequest message or plain object
                     * @returns Promise
                     */
                    public getRetrohunt(request: google.cloud.chronicle.v1.IGetRetrohuntRequest): Promise<google.cloud.chronicle.v1.Retrohunt>;

                    /**
                     * Calls ListRetrohunts.
                     * @param request ListRetrohuntsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListRetrohuntsResponse
                     */
                    public listRetrohunts(request: google.cloud.chronicle.v1.IListRetrohuntsRequest, callback: google.cloud.chronicle.v1.RuleService.ListRetrohuntsCallback): void;

                    /**
                     * Calls ListRetrohunts.
                     * @param request ListRetrohuntsRequest message or plain object
                     * @returns Promise
                     */
                    public listRetrohunts(request: google.cloud.chronicle.v1.IListRetrohuntsRequest): Promise<google.cloud.chronicle.v1.ListRetrohuntsResponse>;

                    /**
                     * Calls GetRuleDeployment.
                     * @param request GetRuleDeploymentRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and RuleDeployment
                     */
                    public getRuleDeployment(request: google.cloud.chronicle.v1.IGetRuleDeploymentRequest, callback: google.cloud.chronicle.v1.RuleService.GetRuleDeploymentCallback): void;

                    /**
                     * Calls GetRuleDeployment.
                     * @param request GetRuleDeploymentRequest message or plain object
                     * @returns Promise
                     */
                    public getRuleDeployment(request: google.cloud.chronicle.v1.IGetRuleDeploymentRequest): Promise<google.cloud.chronicle.v1.RuleDeployment>;

                    /**
                     * Calls ListRuleDeployments.
                     * @param request ListRuleDeploymentsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListRuleDeploymentsResponse
                     */
                    public listRuleDeployments(request: google.cloud.chronicle.v1.IListRuleDeploymentsRequest, callback: google.cloud.chronicle.v1.RuleService.ListRuleDeploymentsCallback): void;

                    /**
                     * Calls ListRuleDeployments.
                     * @param request ListRuleDeploymentsRequest message or plain object
                     * @returns Promise
                     */
                    public listRuleDeployments(request: google.cloud.chronicle.v1.IListRuleDeploymentsRequest): Promise<google.cloud.chronicle.v1.ListRuleDeploymentsResponse>;

                    /**
                     * Calls UpdateRuleDeployment.
                     * @param request UpdateRuleDeploymentRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and RuleDeployment
                     */
                    public updateRuleDeployment(request: google.cloud.chronicle.v1.IUpdateRuleDeploymentRequest, callback: google.cloud.chronicle.v1.RuleService.UpdateRuleDeploymentCallback): void;

                    /**
                     * Calls UpdateRuleDeployment.
                     * @param request UpdateRuleDeploymentRequest message or plain object
                     * @returns Promise
                     */
                    public updateRuleDeployment(request: google.cloud.chronicle.v1.IUpdateRuleDeploymentRequest): Promise<google.cloud.chronicle.v1.RuleDeployment>;
                }

                namespace RuleService {

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.RuleService|createRule}.
                     * @param error Error, if any
                     * @param [response] Rule
                     */
                    type CreateRuleCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.Rule) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.RuleService|getRule}.
                     * @param error Error, if any
                     * @param [response] Rule
                     */
                    type GetRuleCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.Rule) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.RuleService|listRules}.
                     * @param error Error, if any
                     * @param [response] ListRulesResponse
                     */
                    type ListRulesCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ListRulesResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.RuleService|updateRule}.
                     * @param error Error, if any
                     * @param [response] Rule
                     */
                    type UpdateRuleCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.Rule) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.RuleService|deleteRule}.
                     * @param error Error, if any
                     * @param [response] Empty
                     */
                    type DeleteRuleCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.RuleService|verifyRuleText}.
                     * @param error Error, if any
                     * @param [response] VerifyRuleTextResponse
                     */
                    type VerifyRuleTextCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.VerifyRuleTextResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.RuleService|listRuleRevisions}.
                     * @param error Error, if any
                     * @param [response] ListRuleRevisionsResponse
                     */
                    type ListRuleRevisionsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ListRuleRevisionsResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.RuleService|createRetrohunt}.
                     * @param error Error, if any
                     * @param [response] Operation
                     */
                    type CreateRetrohuntCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.RuleService|getRetrohunt}.
                     * @param error Error, if any
                     * @param [response] Retrohunt
                     */
                    type GetRetrohuntCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.Retrohunt) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.RuleService|listRetrohunts}.
                     * @param error Error, if any
                     * @param [response] ListRetrohuntsResponse
                     */
                    type ListRetrohuntsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ListRetrohuntsResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.RuleService|getRuleDeployment}.
                     * @param error Error, if any
                     * @param [response] RuleDeployment
                     */
                    type GetRuleDeploymentCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.RuleDeployment) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.RuleService|listRuleDeployments}.
                     * @param error Error, if any
                     * @param [response] ListRuleDeploymentsResponse
                     */
                    type ListRuleDeploymentsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ListRuleDeploymentsResponse) => void;

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.RuleService|updateRuleDeployment}.
                     * @param error Error, if any
                     * @param [response] RuleDeployment
                     */
                    type UpdateRuleDeploymentCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.RuleDeployment) => void;
                }

                /** RunFrequency enum. */
                enum RunFrequency {
                    RUN_FREQUENCY_UNSPECIFIED = 0,
                    LIVE = 1,
                    HOURLY = 2,
                    DAILY = 3
                }

                /** RuleType enum. */
                enum RuleType {
                    RULE_TYPE_UNSPECIFIED = 0,
                    SINGLE_EVENT = 1,
                    MULTI_EVENT = 2
                }

                /** RuleView enum. */
                enum RuleView {
                    RULE_VIEW_UNSPECIFIED = 0,
                    BASIC = 1,
                    FULL = 2,
                    REVISION_METADATA_ONLY = 3
                }

                /** Properties of a Rule. */
                interface IRule {

                    /** Rule name */
                    name?: (string|null);

                    /** Rule revisionId */
                    revisionId?: (string|null);

                    /** Rule displayName */
                    displayName?: (string|null);

                    /** Rule text */
                    text?: (string|null);

                    /** Rule author */
                    author?: (string|null);

                    /** Rule severity */
                    severity?: (google.cloud.chronicle.v1.ISeverity|null);

                    /** Rule metadata */
                    metadata?: ({ [k: string]: string }|null);

                    /** Rule createTime */
                    createTime?: (google.protobuf.ITimestamp|null);

                    /** Rule revisionCreateTime */
                    revisionCreateTime?: (google.protobuf.ITimestamp|null);

                    /** Rule compilationState */
                    compilationState?: (google.cloud.chronicle.v1.Rule.CompilationState|keyof typeof google.cloud.chronicle.v1.Rule.CompilationState|null);

                    /** Rule type */
                    type?: (google.cloud.chronicle.v1.RuleType|keyof typeof google.cloud.chronicle.v1.RuleType|null);

                    /** Rule referenceLists */
                    referenceLists?: (string[]|null);

                    /** Rule allowedRunFrequencies */
                    allowedRunFrequencies?: (google.cloud.chronicle.v1.RunFrequency[]|null);

                    /** Rule etag */
                    etag?: (string|null);

                    /** Rule scope */
                    scope?: (string|null);

                    /** Rule compilationDiagnostics */
                    compilationDiagnostics?: (google.cloud.chronicle.v1.ICompilationDiagnostic[]|null);

                    /** Rule nearRealTimeLiveRuleEligible */
                    nearRealTimeLiveRuleEligible?: (boolean|null);

                    /** Rule inputsUsed */
                    inputsUsed?: (google.cloud.chronicle.v1.IInputsUsed|null);
                }

                /** Represents a Rule. */
                class Rule implements IRule {

                    /**
                     * Constructs a new Rule.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IRule);

                    /** Rule name. */
                    public name: string;

                    /** Rule revisionId. */
                    public revisionId: string;

                    /** Rule displayName. */
                    public displayName: string;

                    /** Rule text. */
                    public text: string;

                    /** Rule author. */
                    public author: string;

                    /** Rule severity. */
                    public severity?: (google.cloud.chronicle.v1.ISeverity|null);

                    /** Rule metadata. */
                    public metadata: { [k: string]: string };

                    /** Rule createTime. */
                    public createTime?: (google.protobuf.ITimestamp|null);

                    /** Rule revisionCreateTime. */
                    public revisionCreateTime?: (google.protobuf.ITimestamp|null);

                    /** Rule compilationState. */
                    public compilationState: (google.cloud.chronicle.v1.Rule.CompilationState|keyof typeof google.cloud.chronicle.v1.Rule.CompilationState);

                    /** Rule type. */
                    public type: (google.cloud.chronicle.v1.RuleType|keyof typeof google.cloud.chronicle.v1.RuleType);

                    /** Rule referenceLists. */
                    public referenceLists: string[];

                    /** Rule allowedRunFrequencies. */
                    public allowedRunFrequencies: google.cloud.chronicle.v1.RunFrequency[];

                    /** Rule etag. */
                    public etag: string;

                    /** Rule scope. */
                    public scope: string;

                    /** Rule compilationDiagnostics. */
                    public compilationDiagnostics: google.cloud.chronicle.v1.ICompilationDiagnostic[];

                    /** Rule nearRealTimeLiveRuleEligible. */
                    public nearRealTimeLiveRuleEligible: boolean;

                    /** Rule inputsUsed. */
                    public inputsUsed?: (google.cloud.chronicle.v1.IInputsUsed|null);

                    /**
                     * Creates a new Rule instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Rule instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IRule): google.cloud.chronicle.v1.Rule;

                    /**
                     * Encodes the specified Rule message. Does not implicitly {@link google.cloud.chronicle.v1.Rule.verify|verify} messages.
                     * @param message Rule message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IRule, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Rule message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.Rule.verify|verify} messages.
                     * @param message Rule message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IRule, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Rule message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Rule
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.Rule;

                    /**
                     * Decodes a Rule message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Rule
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.Rule;

                    /**
                     * Verifies a Rule message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Rule message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Rule
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.Rule;

                    /**
                     * Creates a plain object from a Rule message. Also converts values to other types if specified.
                     * @param message Rule
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.Rule, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Rule to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Rule
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace Rule {

                    /** CompilationState enum. */
                    enum CompilationState {
                        COMPILATION_STATE_UNSPECIFIED = 0,
                        SUCCEEDED = 1,
                        FAILED = 2
                    }
                }

                /** Properties of a RuleDeployment. */
                interface IRuleDeployment {

                    /** RuleDeployment name */
                    name?: (string|null);

                    /** RuleDeployment enabled */
                    enabled?: (boolean|null);

                    /** RuleDeployment alerting */
                    alerting?: (boolean|null);

                    /** RuleDeployment archived */
                    archived?: (boolean|null);

                    /** RuleDeployment archiveTime */
                    archiveTime?: (google.protobuf.ITimestamp|null);

                    /** RuleDeployment runFrequency */
                    runFrequency?: (google.cloud.chronicle.v1.RunFrequency|keyof typeof google.cloud.chronicle.v1.RunFrequency|null);

                    /** RuleDeployment executionState */
                    executionState?: (google.cloud.chronicle.v1.RuleDeployment.ExecutionState|keyof typeof google.cloud.chronicle.v1.RuleDeployment.ExecutionState|null);

                    /** RuleDeployment producerRules */
                    producerRules?: (string[]|null);

                    /** RuleDeployment consumerRules */
                    consumerRules?: (string[]|null);

                    /** RuleDeployment lastAlertStatusChangeTime */
                    lastAlertStatusChangeTime?: (google.protobuf.ITimestamp|null);
                }

                /** Represents a RuleDeployment. */
                class RuleDeployment implements IRuleDeployment {

                    /**
                     * Constructs a new RuleDeployment.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IRuleDeployment);

                    /** RuleDeployment name. */
                    public name: string;

                    /** RuleDeployment enabled. */
                    public enabled: boolean;

                    /** RuleDeployment alerting. */
                    public alerting: boolean;

                    /** RuleDeployment archived. */
                    public archived: boolean;

                    /** RuleDeployment archiveTime. */
                    public archiveTime?: (google.protobuf.ITimestamp|null);

                    /** RuleDeployment runFrequency. */
                    public runFrequency: (google.cloud.chronicle.v1.RunFrequency|keyof typeof google.cloud.chronicle.v1.RunFrequency);

                    /** RuleDeployment executionState. */
                    public executionState: (google.cloud.chronicle.v1.RuleDeployment.ExecutionState|keyof typeof google.cloud.chronicle.v1.RuleDeployment.ExecutionState);

                    /** RuleDeployment producerRules. */
                    public producerRules: string[];

                    /** RuleDeployment consumerRules. */
                    public consumerRules: string[];

                    /** RuleDeployment lastAlertStatusChangeTime. */
                    public lastAlertStatusChangeTime?: (google.protobuf.ITimestamp|null);

                    /**
                     * Creates a new RuleDeployment instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns RuleDeployment instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IRuleDeployment): google.cloud.chronicle.v1.RuleDeployment;

                    /**
                     * Encodes the specified RuleDeployment message. Does not implicitly {@link google.cloud.chronicle.v1.RuleDeployment.verify|verify} messages.
                     * @param message RuleDeployment message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IRuleDeployment, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified RuleDeployment message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.RuleDeployment.verify|verify} messages.
                     * @param message RuleDeployment message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IRuleDeployment, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a RuleDeployment message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns RuleDeployment
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.RuleDeployment;

                    /**
                     * Decodes a RuleDeployment message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns RuleDeployment
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.RuleDeployment;

                    /**
                     * Verifies a RuleDeployment message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a RuleDeployment message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns RuleDeployment
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.RuleDeployment;

                    /**
                     * Creates a plain object from a RuleDeployment message. Also converts values to other types if specified.
                     * @param message RuleDeployment
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.RuleDeployment, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this RuleDeployment to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for RuleDeployment
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace RuleDeployment {

                    /** ExecutionState enum. */
                    enum ExecutionState {
                        EXECUTION_STATE_UNSPECIFIED = 0,
                        DEFAULT = 1,
                        LIMITED = 2,
                        PAUSED = 3
                    }
                }

                /** Properties of a Retrohunt. */
                interface IRetrohunt {

                    /** Retrohunt name */
                    name?: (string|null);

                    /** Retrohunt processInterval */
                    processInterval?: (google.type.IInterval|null);

                    /** Retrohunt executionInterval */
                    executionInterval?: (google.type.IInterval|null);

                    /** Retrohunt state */
                    state?: (google.cloud.chronicle.v1.Retrohunt.State|keyof typeof google.cloud.chronicle.v1.Retrohunt.State|null);

                    /** Retrohunt progressPercentage */
                    progressPercentage?: (number|null);
                }

                /** Represents a Retrohunt. */
                class Retrohunt implements IRetrohunt {

                    /**
                     * Constructs a new Retrohunt.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IRetrohunt);

                    /** Retrohunt name. */
                    public name: string;

                    /** Retrohunt processInterval. */
                    public processInterval?: (google.type.IInterval|null);

                    /** Retrohunt executionInterval. */
                    public executionInterval?: (google.type.IInterval|null);

                    /** Retrohunt state. */
                    public state: (google.cloud.chronicle.v1.Retrohunt.State|keyof typeof google.cloud.chronicle.v1.Retrohunt.State);

                    /** Retrohunt progressPercentage. */
                    public progressPercentage: number;

                    /**
                     * Creates a new Retrohunt instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Retrohunt instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IRetrohunt): google.cloud.chronicle.v1.Retrohunt;

                    /**
                     * Encodes the specified Retrohunt message. Does not implicitly {@link google.cloud.chronicle.v1.Retrohunt.verify|verify} messages.
                     * @param message Retrohunt message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IRetrohunt, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Retrohunt message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.Retrohunt.verify|verify} messages.
                     * @param message Retrohunt message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IRetrohunt, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Retrohunt message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Retrohunt
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.Retrohunt;

                    /**
                     * Decodes a Retrohunt message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Retrohunt
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.Retrohunt;

                    /**
                     * Verifies a Retrohunt message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Retrohunt message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Retrohunt
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.Retrohunt;

                    /**
                     * Creates a plain object from a Retrohunt message. Also converts values to other types if specified.
                     * @param message Retrohunt
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.Retrohunt, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Retrohunt to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Retrohunt
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace Retrohunt {

                    /** State enum. */
                    enum State {
                        STATE_UNSPECIFIED = 0,
                        RUNNING = 1,
                        DONE = 2,
                        CANCELLED = 3,
                        FAILED = 4
                    }
                }

                /** Properties of a CreateRuleRequest. */
                interface ICreateRuleRequest {

                    /** CreateRuleRequest parent */
                    parent?: (string|null);

                    /** CreateRuleRequest rule */
                    rule?: (google.cloud.chronicle.v1.IRule|null);
                }

                /** Represents a CreateRuleRequest. */
                class CreateRuleRequest implements ICreateRuleRequest {

                    /**
                     * Constructs a new CreateRuleRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.ICreateRuleRequest);

                    /** CreateRuleRequest parent. */
                    public parent: string;

                    /** CreateRuleRequest rule. */
                    public rule?: (google.cloud.chronicle.v1.IRule|null);

                    /**
                     * Creates a new CreateRuleRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateRuleRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.ICreateRuleRequest): google.cloud.chronicle.v1.CreateRuleRequest;

                    /**
                     * Encodes the specified CreateRuleRequest message. Does not implicitly {@link google.cloud.chronicle.v1.CreateRuleRequest.verify|verify} messages.
                     * @param message CreateRuleRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.ICreateRuleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateRuleRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.CreateRuleRequest.verify|verify} messages.
                     * @param message CreateRuleRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.ICreateRuleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateRuleRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateRuleRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.CreateRuleRequest;

                    /**
                     * Decodes a CreateRuleRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateRuleRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.CreateRuleRequest;

                    /**
                     * Verifies a CreateRuleRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateRuleRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateRuleRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.CreateRuleRequest;

                    /**
                     * Creates a plain object from a CreateRuleRequest message. Also converts values to other types if specified.
                     * @param message CreateRuleRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.CreateRuleRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateRuleRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateRuleRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a GetRuleRequest. */
                interface IGetRuleRequest {

                    /** GetRuleRequest name */
                    name?: (string|null);

                    /** GetRuleRequest view */
                    view?: (google.cloud.chronicle.v1.RuleView|keyof typeof google.cloud.chronicle.v1.RuleView|null);
                }

                /** Represents a GetRuleRequest. */
                class GetRuleRequest implements IGetRuleRequest {

                    /**
                     * Constructs a new GetRuleRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetRuleRequest);

                    /** GetRuleRequest name. */
                    public name: string;

                    /** GetRuleRequest view. */
                    public view: (google.cloud.chronicle.v1.RuleView|keyof typeof google.cloud.chronicle.v1.RuleView);

                    /**
                     * Creates a new GetRuleRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetRuleRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetRuleRequest): google.cloud.chronicle.v1.GetRuleRequest;

                    /**
                     * Encodes the specified GetRuleRequest message. Does not implicitly {@link google.cloud.chronicle.v1.GetRuleRequest.verify|verify} messages.
                     * @param message GetRuleRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IGetRuleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetRuleRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.GetRuleRequest.verify|verify} messages.
                     * @param message GetRuleRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IGetRuleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetRuleRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetRuleRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.GetRuleRequest;

                    /**
                     * Decodes a GetRuleRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetRuleRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.GetRuleRequest;

                    /**
                     * Verifies a GetRuleRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetRuleRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetRuleRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.GetRuleRequest;

                    /**
                     * Creates a plain object from a GetRuleRequest message. Also converts values to other types if specified.
                     * @param message GetRuleRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.GetRuleRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetRuleRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetRuleRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListRulesRequest. */
                interface IListRulesRequest {

                    /** ListRulesRequest parent */
                    parent?: (string|null);

                    /** ListRulesRequest pageSize */
                    pageSize?: (number|null);

                    /** ListRulesRequest pageToken */
                    pageToken?: (string|null);

                    /** ListRulesRequest view */
                    view?: (google.cloud.chronicle.v1.RuleView|keyof typeof google.cloud.chronicle.v1.RuleView|null);

                    /** ListRulesRequest filter */
                    filter?: (string|null);
                }

                /** Represents a ListRulesRequest. */
                class ListRulesRequest implements IListRulesRequest {

                    /**
                     * Constructs a new ListRulesRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListRulesRequest);

                    /** ListRulesRequest parent. */
                    public parent: string;

                    /** ListRulesRequest pageSize. */
                    public pageSize: number;

                    /** ListRulesRequest pageToken. */
                    public pageToken: string;

                    /** ListRulesRequest view. */
                    public view: (google.cloud.chronicle.v1.RuleView|keyof typeof google.cloud.chronicle.v1.RuleView);

                    /** ListRulesRequest filter. */
                    public filter: string;

                    /**
                     * Creates a new ListRulesRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListRulesRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListRulesRequest): google.cloud.chronicle.v1.ListRulesRequest;

                    /**
                     * Encodes the specified ListRulesRequest message. Does not implicitly {@link google.cloud.chronicle.v1.ListRulesRequest.verify|verify} messages.
                     * @param message ListRulesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListRulesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListRulesRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListRulesRequest.verify|verify} messages.
                     * @param message ListRulesRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListRulesRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListRulesRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListRulesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListRulesRequest;

                    /**
                     * Decodes a ListRulesRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListRulesRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListRulesRequest;

                    /**
                     * Verifies a ListRulesRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListRulesRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListRulesRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListRulesRequest;

                    /**
                     * Creates a plain object from a ListRulesRequest message. Also converts values to other types if specified.
                     * @param message ListRulesRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListRulesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListRulesRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListRulesRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListRulesResponse. */
                interface IListRulesResponse {

                    /** ListRulesResponse rules */
                    rules?: (google.cloud.chronicle.v1.IRule[]|null);

                    /** ListRulesResponse nextPageToken */
                    nextPageToken?: (string|null);
                }

                /** Represents a ListRulesResponse. */
                class ListRulesResponse implements IListRulesResponse {

                    /**
                     * Constructs a new ListRulesResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListRulesResponse);

                    /** ListRulesResponse rules. */
                    public rules: google.cloud.chronicle.v1.IRule[];

                    /** ListRulesResponse nextPageToken. */
                    public nextPageToken: string;

                    /**
                     * Creates a new ListRulesResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListRulesResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListRulesResponse): google.cloud.chronicle.v1.ListRulesResponse;

                    /**
                     * Encodes the specified ListRulesResponse message. Does not implicitly {@link google.cloud.chronicle.v1.ListRulesResponse.verify|verify} messages.
                     * @param message ListRulesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListRulesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListRulesResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListRulesResponse.verify|verify} messages.
                     * @param message ListRulesResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListRulesResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListRulesResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListRulesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListRulesResponse;

                    /**
                     * Decodes a ListRulesResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListRulesResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListRulesResponse;

                    /**
                     * Verifies a ListRulesResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListRulesResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListRulesResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListRulesResponse;

                    /**
                     * Creates a plain object from a ListRulesResponse message. Also converts values to other types if specified.
                     * @param message ListRulesResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListRulesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListRulesResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListRulesResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateRuleRequest. */
                interface IUpdateRuleRequest {

                    /** UpdateRuleRequest rule */
                    rule?: (google.cloud.chronicle.v1.IRule|null);

                    /** UpdateRuleRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateRuleRequest. */
                class UpdateRuleRequest implements IUpdateRuleRequest {

                    /**
                     * Constructs a new UpdateRuleRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IUpdateRuleRequest);

                    /** UpdateRuleRequest rule. */
                    public rule?: (google.cloud.chronicle.v1.IRule|null);

                    /** UpdateRuleRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateRuleRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateRuleRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IUpdateRuleRequest): google.cloud.chronicle.v1.UpdateRuleRequest;

                    /**
                     * Encodes the specified UpdateRuleRequest message. Does not implicitly {@link google.cloud.chronicle.v1.UpdateRuleRequest.verify|verify} messages.
                     * @param message UpdateRuleRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IUpdateRuleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateRuleRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.UpdateRuleRequest.verify|verify} messages.
                     * @param message UpdateRuleRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IUpdateRuleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateRuleRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateRuleRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.UpdateRuleRequest;

                    /**
                     * Decodes an UpdateRuleRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateRuleRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.UpdateRuleRequest;

                    /**
                     * Verifies an UpdateRuleRequest message.
                     * @param message Plain 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 UpdateRuleRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateRuleRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.UpdateRuleRequest;

                    /**
                     * Creates a plain object from an UpdateRuleRequest message. Also converts values to other types if specified.
                     * @param message UpdateRuleRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.UpdateRuleRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateRuleRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateRuleRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a DeleteRuleRequest. */
                interface IDeleteRuleRequest {

                    /** DeleteRuleRequest name */
                    name?: (string|null);

                    /** DeleteRuleRequest force */
                    force?: (boolean|null);
                }

                /** Represents a DeleteRuleRequest. */
                class DeleteRuleRequest implements IDeleteRuleRequest {

                    /**
                     * Constructs a new DeleteRuleRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IDeleteRuleRequest);

                    /** DeleteRuleRequest name. */
                    public name: string;

                    /** DeleteRuleRequest force. */
                    public force: boolean;

                    /**
                     * Creates a new DeleteRuleRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns DeleteRuleRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IDeleteRuleRequest): google.cloud.chronicle.v1.DeleteRuleRequest;

                    /**
                     * Encodes the specified DeleteRuleRequest message. Does not implicitly {@link google.cloud.chronicle.v1.DeleteRuleRequest.verify|verify} messages.
                     * @param message DeleteRuleRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IDeleteRuleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified DeleteRuleRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.DeleteRuleRequest.verify|verify} messages.
                     * @param message DeleteRuleRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IDeleteRuleRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a DeleteRuleRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns DeleteRuleRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.DeleteRuleRequest;

                    /**
                     * Decodes a DeleteRuleRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns DeleteRuleRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.DeleteRuleRequest;

                    /**
                     * Verifies a DeleteRuleRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a DeleteRuleRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns DeleteRuleRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.DeleteRuleRequest;

                    /**
                     * Creates a plain object from a DeleteRuleRequest message. Also converts values to other types if specified.
                     * @param message DeleteRuleRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.DeleteRuleRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this DeleteRuleRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for DeleteRuleRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a VerifyRuleTextRequest. */
                interface IVerifyRuleTextRequest {

                    /** VerifyRuleTextRequest instance */
                    instance?: (string|null);

                    /** VerifyRuleTextRequest ruleText */
                    ruleText?: (string|null);
                }

                /** Represents a VerifyRuleTextRequest. */
                class VerifyRuleTextRequest implements IVerifyRuleTextRequest {

                    /**
                     * Constructs a new VerifyRuleTextRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IVerifyRuleTextRequest);

                    /** VerifyRuleTextRequest instance. */
                    public instance: string;

                    /** VerifyRuleTextRequest ruleText. */
                    public ruleText: string;

                    /**
                     * Creates a new VerifyRuleTextRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns VerifyRuleTextRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IVerifyRuleTextRequest): google.cloud.chronicle.v1.VerifyRuleTextRequest;

                    /**
                     * Encodes the specified VerifyRuleTextRequest message. Does not implicitly {@link google.cloud.chronicle.v1.VerifyRuleTextRequest.verify|verify} messages.
                     * @param message VerifyRuleTextRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IVerifyRuleTextRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified VerifyRuleTextRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.VerifyRuleTextRequest.verify|verify} messages.
                     * @param message VerifyRuleTextRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IVerifyRuleTextRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a VerifyRuleTextRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns VerifyRuleTextRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.VerifyRuleTextRequest;

                    /**
                     * Decodes a VerifyRuleTextRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns VerifyRuleTextRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.VerifyRuleTextRequest;

                    /**
                     * Verifies a VerifyRuleTextRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a VerifyRuleTextRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns VerifyRuleTextRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.VerifyRuleTextRequest;

                    /**
                     * Creates a plain object from a VerifyRuleTextRequest message. Also converts values to other types if specified.
                     * @param message VerifyRuleTextRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.VerifyRuleTextRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this VerifyRuleTextRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for VerifyRuleTextRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a VerifyRuleTextResponse. */
                interface IVerifyRuleTextResponse {

                    /** VerifyRuleTextResponse success */
                    success?: (boolean|null);

                    /** VerifyRuleTextResponse compilationDiagnostics */
                    compilationDiagnostics?: (google.cloud.chronicle.v1.ICompilationDiagnostic[]|null);
                }

                /** Represents a VerifyRuleTextResponse. */
                class VerifyRuleTextResponse implements IVerifyRuleTextResponse {

                    /**
                     * Constructs a new VerifyRuleTextResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IVerifyRuleTextResponse);

                    /** VerifyRuleTextResponse success. */
                    public success: boolean;

                    /** VerifyRuleTextResponse compilationDiagnostics. */
                    public compilationDiagnostics: google.cloud.chronicle.v1.ICompilationDiagnostic[];

                    /**
                     * Creates a new VerifyRuleTextResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns VerifyRuleTextResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IVerifyRuleTextResponse): google.cloud.chronicle.v1.VerifyRuleTextResponse;

                    /**
                     * Encodes the specified VerifyRuleTextResponse message. Does not implicitly {@link google.cloud.chronicle.v1.VerifyRuleTextResponse.verify|verify} messages.
                     * @param message VerifyRuleTextResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IVerifyRuleTextResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified VerifyRuleTextResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.VerifyRuleTextResponse.verify|verify} messages.
                     * @param message VerifyRuleTextResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IVerifyRuleTextResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a VerifyRuleTextResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns VerifyRuleTextResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.VerifyRuleTextResponse;

                    /**
                     * Decodes a VerifyRuleTextResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns VerifyRuleTextResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.VerifyRuleTextResponse;

                    /**
                     * Verifies a VerifyRuleTextResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a VerifyRuleTextResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns VerifyRuleTextResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.VerifyRuleTextResponse;

                    /**
                     * Creates a plain object from a VerifyRuleTextResponse message. Also converts values to other types if specified.
                     * @param message VerifyRuleTextResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.VerifyRuleTextResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this VerifyRuleTextResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for VerifyRuleTextResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListRuleRevisionsRequest. */
                interface IListRuleRevisionsRequest {

                    /** ListRuleRevisionsRequest name */
                    name?: (string|null);

                    /** ListRuleRevisionsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListRuleRevisionsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListRuleRevisionsRequest view */
                    view?: (google.cloud.chronicle.v1.RuleView|keyof typeof google.cloud.chronicle.v1.RuleView|null);
                }

                /** Represents a ListRuleRevisionsRequest. */
                class ListRuleRevisionsRequest implements IListRuleRevisionsRequest {

                    /**
                     * Constructs a new ListRuleRevisionsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListRuleRevisionsRequest);

                    /** ListRuleRevisionsRequest name. */
                    public name: string;

                    /** ListRuleRevisionsRequest pageSize. */
                    public pageSize: number;

                    /** ListRuleRevisionsRequest pageToken. */
                    public pageToken: string;

                    /** ListRuleRevisionsRequest view. */
                    public view: (google.cloud.chronicle.v1.RuleView|keyof typeof google.cloud.chronicle.v1.RuleView);

                    /**
                     * Creates a new ListRuleRevisionsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListRuleRevisionsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListRuleRevisionsRequest): google.cloud.chronicle.v1.ListRuleRevisionsRequest;

                    /**
                     * Encodes the specified ListRuleRevisionsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.ListRuleRevisionsRequest.verify|verify} messages.
                     * @param message ListRuleRevisionsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListRuleRevisionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListRuleRevisionsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListRuleRevisionsRequest.verify|verify} messages.
                     * @param message ListRuleRevisionsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListRuleRevisionsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListRuleRevisionsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListRuleRevisionsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListRuleRevisionsRequest;

                    /**
                     * Decodes a ListRuleRevisionsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListRuleRevisionsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListRuleRevisionsRequest;

                    /**
                     * Verifies a ListRuleRevisionsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListRuleRevisionsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListRuleRevisionsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListRuleRevisionsRequest;

                    /**
                     * Creates a plain object from a ListRuleRevisionsRequest message. Also converts values to other types if specified.
                     * @param message ListRuleRevisionsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListRuleRevisionsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListRuleRevisionsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListRuleRevisionsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListRuleRevisionsResponse. */
                interface IListRuleRevisionsResponse {

                    /** ListRuleRevisionsResponse rules */
                    rules?: (google.cloud.chronicle.v1.IRule[]|null);

                    /** ListRuleRevisionsResponse nextPageToken */
                    nextPageToken?: (string|null);
                }

                /** Represents a ListRuleRevisionsResponse. */
                class ListRuleRevisionsResponse implements IListRuleRevisionsResponse {

                    /**
                     * Constructs a new ListRuleRevisionsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListRuleRevisionsResponse);

                    /** ListRuleRevisionsResponse rules. */
                    public rules: google.cloud.chronicle.v1.IRule[];

                    /** ListRuleRevisionsResponse nextPageToken. */
                    public nextPageToken: string;

                    /**
                     * Creates a new ListRuleRevisionsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListRuleRevisionsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListRuleRevisionsResponse): google.cloud.chronicle.v1.ListRuleRevisionsResponse;

                    /**
                     * Encodes the specified ListRuleRevisionsResponse message. Does not implicitly {@link google.cloud.chronicle.v1.ListRuleRevisionsResponse.verify|verify} messages.
                     * @param message ListRuleRevisionsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListRuleRevisionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListRuleRevisionsResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListRuleRevisionsResponse.verify|verify} messages.
                     * @param message ListRuleRevisionsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListRuleRevisionsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListRuleRevisionsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListRuleRevisionsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListRuleRevisionsResponse;

                    /**
                     * Decodes a ListRuleRevisionsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListRuleRevisionsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListRuleRevisionsResponse;

                    /**
                     * Verifies a ListRuleRevisionsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListRuleRevisionsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListRuleRevisionsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListRuleRevisionsResponse;

                    /**
                     * Creates a plain object from a ListRuleRevisionsResponse message. Also converts values to other types if specified.
                     * @param message ListRuleRevisionsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListRuleRevisionsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListRuleRevisionsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListRuleRevisionsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CreateRetrohuntRequest. */
                interface ICreateRetrohuntRequest {

                    /** CreateRetrohuntRequest parent */
                    parent?: (string|null);

                    /** CreateRetrohuntRequest retrohunt */
                    retrohunt?: (google.cloud.chronicle.v1.IRetrohunt|null);
                }

                /** Represents a CreateRetrohuntRequest. */
                class CreateRetrohuntRequest implements ICreateRetrohuntRequest {

                    /**
                     * Constructs a new CreateRetrohuntRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.ICreateRetrohuntRequest);

                    /** CreateRetrohuntRequest parent. */
                    public parent: string;

                    /** CreateRetrohuntRequest retrohunt. */
                    public retrohunt?: (google.cloud.chronicle.v1.IRetrohunt|null);

                    /**
                     * Creates a new CreateRetrohuntRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CreateRetrohuntRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.ICreateRetrohuntRequest): google.cloud.chronicle.v1.CreateRetrohuntRequest;

                    /**
                     * Encodes the specified CreateRetrohuntRequest message. Does not implicitly {@link google.cloud.chronicle.v1.CreateRetrohuntRequest.verify|verify} messages.
                     * @param message CreateRetrohuntRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.ICreateRetrohuntRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CreateRetrohuntRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.CreateRetrohuntRequest.verify|verify} messages.
                     * @param message CreateRetrohuntRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.ICreateRetrohuntRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CreateRetrohuntRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CreateRetrohuntRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.CreateRetrohuntRequest;

                    /**
                     * Decodes a CreateRetrohuntRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CreateRetrohuntRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.CreateRetrohuntRequest;

                    /**
                     * Verifies a CreateRetrohuntRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CreateRetrohuntRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CreateRetrohuntRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.CreateRetrohuntRequest;

                    /**
                     * Creates a plain object from a CreateRetrohuntRequest message. Also converts values to other types if specified.
                     * @param message CreateRetrohuntRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.CreateRetrohuntRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CreateRetrohuntRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CreateRetrohuntRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a GetRetrohuntRequest. */
                interface IGetRetrohuntRequest {

                    /** GetRetrohuntRequest name */
                    name?: (string|null);
                }

                /** Represents a GetRetrohuntRequest. */
                class GetRetrohuntRequest implements IGetRetrohuntRequest {

                    /**
                     * Constructs a new GetRetrohuntRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetRetrohuntRequest);

                    /** GetRetrohuntRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetRetrohuntRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetRetrohuntRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetRetrohuntRequest): google.cloud.chronicle.v1.GetRetrohuntRequest;

                    /**
                     * Encodes the specified GetRetrohuntRequest message. Does not implicitly {@link google.cloud.chronicle.v1.GetRetrohuntRequest.verify|verify} messages.
                     * @param message GetRetrohuntRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IGetRetrohuntRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetRetrohuntRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.GetRetrohuntRequest.verify|verify} messages.
                     * @param message GetRetrohuntRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IGetRetrohuntRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetRetrohuntRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetRetrohuntRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.GetRetrohuntRequest;

                    /**
                     * Decodes a GetRetrohuntRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetRetrohuntRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.GetRetrohuntRequest;

                    /**
                     * Verifies a GetRetrohuntRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetRetrohuntRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetRetrohuntRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.GetRetrohuntRequest;

                    /**
                     * Creates a plain object from a GetRetrohuntRequest message. Also converts values to other types if specified.
                     * @param message GetRetrohuntRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.GetRetrohuntRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetRetrohuntRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetRetrohuntRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListRetrohuntsRequest. */
                interface IListRetrohuntsRequest {

                    /** ListRetrohuntsRequest parent */
                    parent?: (string|null);

                    /** ListRetrohuntsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListRetrohuntsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListRetrohuntsRequest filter */
                    filter?: (string|null);
                }

                /** Represents a ListRetrohuntsRequest. */
                class ListRetrohuntsRequest implements IListRetrohuntsRequest {

                    /**
                     * Constructs a new ListRetrohuntsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListRetrohuntsRequest);

                    /** ListRetrohuntsRequest parent. */
                    public parent: string;

                    /** ListRetrohuntsRequest pageSize. */
                    public pageSize: number;

                    /** ListRetrohuntsRequest pageToken. */
                    public pageToken: string;

                    /** ListRetrohuntsRequest filter. */
                    public filter: string;

                    /**
                     * Creates a new ListRetrohuntsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListRetrohuntsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListRetrohuntsRequest): google.cloud.chronicle.v1.ListRetrohuntsRequest;

                    /**
                     * Encodes the specified ListRetrohuntsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.ListRetrohuntsRequest.verify|verify} messages.
                     * @param message ListRetrohuntsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListRetrohuntsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListRetrohuntsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListRetrohuntsRequest.verify|verify} messages.
                     * @param message ListRetrohuntsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListRetrohuntsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListRetrohuntsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListRetrohuntsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListRetrohuntsRequest;

                    /**
                     * Decodes a ListRetrohuntsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListRetrohuntsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListRetrohuntsRequest;

                    /**
                     * Verifies a ListRetrohuntsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListRetrohuntsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListRetrohuntsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListRetrohuntsRequest;

                    /**
                     * Creates a plain object from a ListRetrohuntsRequest message. Also converts values to other types if specified.
                     * @param message ListRetrohuntsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListRetrohuntsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListRetrohuntsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListRetrohuntsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListRetrohuntsResponse. */
                interface IListRetrohuntsResponse {

                    /** ListRetrohuntsResponse retrohunts */
                    retrohunts?: (google.cloud.chronicle.v1.IRetrohunt[]|null);

                    /** ListRetrohuntsResponse nextPageToken */
                    nextPageToken?: (string|null);
                }

                /** Represents a ListRetrohuntsResponse. */
                class ListRetrohuntsResponse implements IListRetrohuntsResponse {

                    /**
                     * Constructs a new ListRetrohuntsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListRetrohuntsResponse);

                    /** ListRetrohuntsResponse retrohunts. */
                    public retrohunts: google.cloud.chronicle.v1.IRetrohunt[];

                    /** ListRetrohuntsResponse nextPageToken. */
                    public nextPageToken: string;

                    /**
                     * Creates a new ListRetrohuntsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListRetrohuntsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListRetrohuntsResponse): google.cloud.chronicle.v1.ListRetrohuntsResponse;

                    /**
                     * Encodes the specified ListRetrohuntsResponse message. Does not implicitly {@link google.cloud.chronicle.v1.ListRetrohuntsResponse.verify|verify} messages.
                     * @param message ListRetrohuntsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListRetrohuntsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListRetrohuntsResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListRetrohuntsResponse.verify|verify} messages.
                     * @param message ListRetrohuntsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListRetrohuntsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListRetrohuntsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListRetrohuntsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListRetrohuntsResponse;

                    /**
                     * Decodes a ListRetrohuntsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListRetrohuntsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListRetrohuntsResponse;

                    /**
                     * Verifies a ListRetrohuntsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListRetrohuntsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListRetrohuntsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListRetrohuntsResponse;

                    /**
                     * Creates a plain object from a ListRetrohuntsResponse message. Also converts values to other types if specified.
                     * @param message ListRetrohuntsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListRetrohuntsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListRetrohuntsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListRetrohuntsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a GetRuleDeploymentRequest. */
                interface IGetRuleDeploymentRequest {

                    /** GetRuleDeploymentRequest name */
                    name?: (string|null);
                }

                /** Represents a GetRuleDeploymentRequest. */
                class GetRuleDeploymentRequest implements IGetRuleDeploymentRequest {

                    /**
                     * Constructs a new GetRuleDeploymentRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IGetRuleDeploymentRequest);

                    /** GetRuleDeploymentRequest name. */
                    public name: string;

                    /**
                     * Creates a new GetRuleDeploymentRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns GetRuleDeploymentRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IGetRuleDeploymentRequest): google.cloud.chronicle.v1.GetRuleDeploymentRequest;

                    /**
                     * Encodes the specified GetRuleDeploymentRequest message. Does not implicitly {@link google.cloud.chronicle.v1.GetRuleDeploymentRequest.verify|verify} messages.
                     * @param message GetRuleDeploymentRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IGetRuleDeploymentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified GetRuleDeploymentRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.GetRuleDeploymentRequest.verify|verify} messages.
                     * @param message GetRuleDeploymentRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IGetRuleDeploymentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a GetRuleDeploymentRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns GetRuleDeploymentRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.GetRuleDeploymentRequest;

                    /**
                     * Decodes a GetRuleDeploymentRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns GetRuleDeploymentRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.GetRuleDeploymentRequest;

                    /**
                     * Verifies a GetRuleDeploymentRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a GetRuleDeploymentRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns GetRuleDeploymentRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.GetRuleDeploymentRequest;

                    /**
                     * Creates a plain object from a GetRuleDeploymentRequest message. Also converts values to other types if specified.
                     * @param message GetRuleDeploymentRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.GetRuleDeploymentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this GetRuleDeploymentRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for GetRuleDeploymentRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListRuleDeploymentsRequest. */
                interface IListRuleDeploymentsRequest {

                    /** ListRuleDeploymentsRequest parent */
                    parent?: (string|null);

                    /** ListRuleDeploymentsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListRuleDeploymentsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListRuleDeploymentsRequest filter */
                    filter?: (string|null);
                }

                /** Represents a ListRuleDeploymentsRequest. */
                class ListRuleDeploymentsRequest implements IListRuleDeploymentsRequest {

                    /**
                     * Constructs a new ListRuleDeploymentsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListRuleDeploymentsRequest);

                    /** ListRuleDeploymentsRequest parent. */
                    public parent: string;

                    /** ListRuleDeploymentsRequest pageSize. */
                    public pageSize: number;

                    /** ListRuleDeploymentsRequest pageToken. */
                    public pageToken: string;

                    /** ListRuleDeploymentsRequest filter. */
                    public filter: string;

                    /**
                     * Creates a new ListRuleDeploymentsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListRuleDeploymentsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListRuleDeploymentsRequest): google.cloud.chronicle.v1.ListRuleDeploymentsRequest;

                    /**
                     * Encodes the specified ListRuleDeploymentsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.ListRuleDeploymentsRequest.verify|verify} messages.
                     * @param message ListRuleDeploymentsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListRuleDeploymentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListRuleDeploymentsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListRuleDeploymentsRequest.verify|verify} messages.
                     * @param message ListRuleDeploymentsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListRuleDeploymentsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListRuleDeploymentsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListRuleDeploymentsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListRuleDeploymentsRequest;

                    /**
                     * Decodes a ListRuleDeploymentsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListRuleDeploymentsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListRuleDeploymentsRequest;

                    /**
                     * Verifies a ListRuleDeploymentsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListRuleDeploymentsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListRuleDeploymentsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListRuleDeploymentsRequest;

                    /**
                     * Creates a plain object from a ListRuleDeploymentsRequest message. Also converts values to other types if specified.
                     * @param message ListRuleDeploymentsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListRuleDeploymentsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListRuleDeploymentsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListRuleDeploymentsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListRuleDeploymentsResponse. */
                interface IListRuleDeploymentsResponse {

                    /** ListRuleDeploymentsResponse ruleDeployments */
                    ruleDeployments?: (google.cloud.chronicle.v1.IRuleDeployment[]|null);

                    /** ListRuleDeploymentsResponse nextPageToken */
                    nextPageToken?: (string|null);
                }

                /** Represents a ListRuleDeploymentsResponse. */
                class ListRuleDeploymentsResponse implements IListRuleDeploymentsResponse {

                    /**
                     * Constructs a new ListRuleDeploymentsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListRuleDeploymentsResponse);

                    /** ListRuleDeploymentsResponse ruleDeployments. */
                    public ruleDeployments: google.cloud.chronicle.v1.IRuleDeployment[];

                    /** ListRuleDeploymentsResponse nextPageToken. */
                    public nextPageToken: string;

                    /**
                     * Creates a new ListRuleDeploymentsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListRuleDeploymentsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListRuleDeploymentsResponse): google.cloud.chronicle.v1.ListRuleDeploymentsResponse;

                    /**
                     * Encodes the specified ListRuleDeploymentsResponse message. Does not implicitly {@link google.cloud.chronicle.v1.ListRuleDeploymentsResponse.verify|verify} messages.
                     * @param message ListRuleDeploymentsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListRuleDeploymentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListRuleDeploymentsResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListRuleDeploymentsResponse.verify|verify} messages.
                     * @param message ListRuleDeploymentsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListRuleDeploymentsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListRuleDeploymentsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListRuleDeploymentsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListRuleDeploymentsResponse;

                    /**
                     * Decodes a ListRuleDeploymentsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListRuleDeploymentsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListRuleDeploymentsResponse;

                    /**
                     * Verifies a ListRuleDeploymentsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListRuleDeploymentsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListRuleDeploymentsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListRuleDeploymentsResponse;

                    /**
                     * Creates a plain object from a ListRuleDeploymentsResponse message. Also converts values to other types if specified.
                     * @param message ListRuleDeploymentsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListRuleDeploymentsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListRuleDeploymentsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListRuleDeploymentsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an UpdateRuleDeploymentRequest. */
                interface IUpdateRuleDeploymentRequest {

                    /** UpdateRuleDeploymentRequest ruleDeployment */
                    ruleDeployment?: (google.cloud.chronicle.v1.IRuleDeployment|null);

                    /** UpdateRuleDeploymentRequest updateMask */
                    updateMask?: (google.protobuf.IFieldMask|null);
                }

                /** Represents an UpdateRuleDeploymentRequest. */
                class UpdateRuleDeploymentRequest implements IUpdateRuleDeploymentRequest {

                    /**
                     * Constructs a new UpdateRuleDeploymentRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IUpdateRuleDeploymentRequest);

                    /** UpdateRuleDeploymentRequest ruleDeployment. */
                    public ruleDeployment?: (google.cloud.chronicle.v1.IRuleDeployment|null);

                    /** UpdateRuleDeploymentRequest updateMask. */
                    public updateMask?: (google.protobuf.IFieldMask|null);

                    /**
                     * Creates a new UpdateRuleDeploymentRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns UpdateRuleDeploymentRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IUpdateRuleDeploymentRequest): google.cloud.chronicle.v1.UpdateRuleDeploymentRequest;

                    /**
                     * Encodes the specified UpdateRuleDeploymentRequest message. Does not implicitly {@link google.cloud.chronicle.v1.UpdateRuleDeploymentRequest.verify|verify} messages.
                     * @param message UpdateRuleDeploymentRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IUpdateRuleDeploymentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified UpdateRuleDeploymentRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.UpdateRuleDeploymentRequest.verify|verify} messages.
                     * @param message UpdateRuleDeploymentRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IUpdateRuleDeploymentRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an UpdateRuleDeploymentRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns UpdateRuleDeploymentRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.UpdateRuleDeploymentRequest;

                    /**
                     * Decodes an UpdateRuleDeploymentRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns UpdateRuleDeploymentRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.UpdateRuleDeploymentRequest;

                    /**
                     * Verifies an UpdateRuleDeploymentRequest message.
                     * @param message Plain 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 UpdateRuleDeploymentRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns UpdateRuleDeploymentRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.UpdateRuleDeploymentRequest;

                    /**
                     * Creates a plain object from an UpdateRuleDeploymentRequest message. Also converts values to other types if specified.
                     * @param message UpdateRuleDeploymentRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.UpdateRuleDeploymentRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this UpdateRuleDeploymentRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for UpdateRuleDeploymentRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CompilationPosition. */
                interface ICompilationPosition {

                    /** CompilationPosition startLine */
                    startLine?: (number|null);

                    /** CompilationPosition startColumn */
                    startColumn?: (number|null);

                    /** CompilationPosition endLine */
                    endLine?: (number|null);

                    /** CompilationPosition endColumn */
                    endColumn?: (number|null);
                }

                /** Represents a CompilationPosition. */
                class CompilationPosition implements ICompilationPosition {

                    /**
                     * Constructs a new CompilationPosition.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.ICompilationPosition);

                    /** CompilationPosition startLine. */
                    public startLine: number;

                    /** CompilationPosition startColumn. */
                    public startColumn: number;

                    /** CompilationPosition endLine. */
                    public endLine: number;

                    /** CompilationPosition endColumn. */
                    public endColumn: number;

                    /**
                     * Creates a new CompilationPosition instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CompilationPosition instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.ICompilationPosition): google.cloud.chronicle.v1.CompilationPosition;

                    /**
                     * Encodes the specified CompilationPosition message. Does not implicitly {@link google.cloud.chronicle.v1.CompilationPosition.verify|verify} messages.
                     * @param message CompilationPosition message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.ICompilationPosition, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CompilationPosition message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.CompilationPosition.verify|verify} messages.
                     * @param message CompilationPosition message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.ICompilationPosition, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CompilationPosition message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CompilationPosition
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.CompilationPosition;

                    /**
                     * Decodes a CompilationPosition message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CompilationPosition
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.CompilationPosition;

                    /**
                     * Verifies a CompilationPosition message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CompilationPosition message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CompilationPosition
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.CompilationPosition;

                    /**
                     * Creates a plain object from a CompilationPosition message. Also converts values to other types if specified.
                     * @param message CompilationPosition
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.CompilationPosition, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CompilationPosition to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CompilationPosition
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a CompilationDiagnostic. */
                interface ICompilationDiagnostic {

                    /** CompilationDiagnostic message */
                    message?: (string|null);

                    /** CompilationDiagnostic position */
                    position?: (google.cloud.chronicle.v1.ICompilationPosition|null);

                    /** CompilationDiagnostic severity */
                    severity?: (google.cloud.chronicle.v1.CompilationDiagnostic.Severity|keyof typeof google.cloud.chronicle.v1.CompilationDiagnostic.Severity|null);

                    /** CompilationDiagnostic uri */
                    uri?: (string|null);
                }

                /** Represents a CompilationDiagnostic. */
                class CompilationDiagnostic implements ICompilationDiagnostic {

                    /**
                     * Constructs a new CompilationDiagnostic.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.ICompilationDiagnostic);

                    /** CompilationDiagnostic message. */
                    public message: string;

                    /** CompilationDiagnostic position. */
                    public position?: (google.cloud.chronicle.v1.ICompilationPosition|null);

                    /** CompilationDiagnostic severity. */
                    public severity: (google.cloud.chronicle.v1.CompilationDiagnostic.Severity|keyof typeof google.cloud.chronicle.v1.CompilationDiagnostic.Severity);

                    /** CompilationDiagnostic uri. */
                    public uri: string;

                    /**
                     * Creates a new CompilationDiagnostic instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns CompilationDiagnostic instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.ICompilationDiagnostic): google.cloud.chronicle.v1.CompilationDiagnostic;

                    /**
                     * Encodes the specified CompilationDiagnostic message. Does not implicitly {@link google.cloud.chronicle.v1.CompilationDiagnostic.verify|verify} messages.
                     * @param message CompilationDiagnostic message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.ICompilationDiagnostic, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified CompilationDiagnostic message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.CompilationDiagnostic.verify|verify} messages.
                     * @param message CompilationDiagnostic message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.ICompilationDiagnostic, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a CompilationDiagnostic message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns CompilationDiagnostic
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.CompilationDiagnostic;

                    /**
                     * Decodes a CompilationDiagnostic message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns CompilationDiagnostic
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.CompilationDiagnostic;

                    /**
                     * Verifies a CompilationDiagnostic message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a CompilationDiagnostic message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns CompilationDiagnostic
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.CompilationDiagnostic;

                    /**
                     * Creates a plain object from a CompilationDiagnostic message. Also converts values to other types if specified.
                     * @param message CompilationDiagnostic
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.CompilationDiagnostic, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this CompilationDiagnostic to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for CompilationDiagnostic
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                namespace CompilationDiagnostic {

                    /** Severity enum. */
                    enum Severity {
                        SEVERITY_UNSPECIFIED = 0,
                        WARNING = 1,
                        ERROR = 2
                    }
                }

                /** Properties of a Severity. */
                interface ISeverity {

                    /** Severity displayName */
                    displayName?: (string|null);
                }

                /** Represents a Severity. */
                class Severity implements ISeverity {

                    /**
                     * Constructs a new Severity.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.ISeverity);

                    /** Severity displayName. */
                    public displayName: string;

                    /**
                     * Creates a new Severity instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns Severity instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.ISeverity): google.cloud.chronicle.v1.Severity;

                    /**
                     * Encodes the specified Severity message. Does not implicitly {@link google.cloud.chronicle.v1.Severity.verify|verify} messages.
                     * @param message Severity message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.ISeverity, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified Severity message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.Severity.verify|verify} messages.
                     * @param message Severity message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.ISeverity, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a Severity message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns Severity
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.Severity;

                    /**
                     * Decodes a Severity message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns Severity
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.Severity;

                    /**
                     * Verifies a Severity message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a Severity message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns Severity
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.Severity;

                    /**
                     * Creates a plain object from a Severity message. Also converts values to other types if specified.
                     * @param message Severity
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.Severity, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this Severity to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for Severity
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a RetrohuntMetadata. */
                interface IRetrohuntMetadata {

                    /** RetrohuntMetadata retrohunt */
                    retrohunt?: (string|null);

                    /** RetrohuntMetadata executionInterval */
                    executionInterval?: (google.type.IInterval|null);

                    /** RetrohuntMetadata progressPercentage */
                    progressPercentage?: (number|null);
                }

                /** Represents a RetrohuntMetadata. */
                class RetrohuntMetadata implements IRetrohuntMetadata {

                    /**
                     * Constructs a new RetrohuntMetadata.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IRetrohuntMetadata);

                    /** RetrohuntMetadata retrohunt. */
                    public retrohunt: string;

                    /** RetrohuntMetadata executionInterval. */
                    public executionInterval?: (google.type.IInterval|null);

                    /** RetrohuntMetadata progressPercentage. */
                    public progressPercentage: number;

                    /**
                     * Creates a new RetrohuntMetadata instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns RetrohuntMetadata instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IRetrohuntMetadata): google.cloud.chronicle.v1.RetrohuntMetadata;

                    /**
                     * Encodes the specified RetrohuntMetadata message. Does not implicitly {@link google.cloud.chronicle.v1.RetrohuntMetadata.verify|verify} messages.
                     * @param message RetrohuntMetadata message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IRetrohuntMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified RetrohuntMetadata message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.RetrohuntMetadata.verify|verify} messages.
                     * @param message RetrohuntMetadata message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IRetrohuntMetadata, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a RetrohuntMetadata message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns RetrohuntMetadata
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.RetrohuntMetadata;

                    /**
                     * Decodes a RetrohuntMetadata message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns RetrohuntMetadata
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.RetrohuntMetadata;

                    /**
                     * Verifies a RetrohuntMetadata message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a RetrohuntMetadata message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns RetrohuntMetadata
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.RetrohuntMetadata;

                    /**
                     * Creates a plain object from a RetrohuntMetadata message. Also converts values to other types if specified.
                     * @param message RetrohuntMetadata
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.RetrohuntMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this RetrohuntMetadata to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for RetrohuntMetadata
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of an InputsUsed. */
                interface IInputsUsed {

                    /** InputsUsed usesUdm */
                    usesUdm?: (boolean|null);

                    /** InputsUsed usesEntity */
                    usesEntity?: (boolean|null);

                    /** InputsUsed usesDetection */
                    usesDetection?: (boolean|null);
                }

                /** Represents an InputsUsed. */
                class InputsUsed implements IInputsUsed {

                    /**
                     * Constructs a new InputsUsed.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IInputsUsed);

                    /** InputsUsed usesUdm. */
                    public usesUdm: boolean;

                    /** InputsUsed usesEntity. */
                    public usesEntity: boolean;

                    /** InputsUsed usesDetection. */
                    public usesDetection: boolean;

                    /**
                     * Creates a new InputsUsed instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns InputsUsed instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IInputsUsed): google.cloud.chronicle.v1.InputsUsed;

                    /**
                     * Encodes the specified InputsUsed message. Does not implicitly {@link google.cloud.chronicle.v1.InputsUsed.verify|verify} messages.
                     * @param message InputsUsed message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IInputsUsed, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified InputsUsed message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.InputsUsed.verify|verify} messages.
                     * @param message InputsUsed message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IInputsUsed, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes an InputsUsed message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns InputsUsed
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.InputsUsed;

                    /**
                     * Decodes an InputsUsed message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns InputsUsed
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.InputsUsed;

                    /**
                     * Verifies an InputsUsed message.
                     * @param message Plain 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 InputsUsed message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns InputsUsed
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.InputsUsed;

                    /**
                     * Creates a plain object from an InputsUsed message. Also converts values to other types if specified.
                     * @param message InputsUsed
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.InputsUsed, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this InputsUsed to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for InputsUsed
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Represents a RuleExecutionErrorService */
                class RuleExecutionErrorService extends $protobuf.rpc.Service {

                    /**
                     * Constructs a new RuleExecutionErrorService 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 RuleExecutionErrorService 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): RuleExecutionErrorService;

                    /**
                     * Calls ListRuleExecutionErrors.
                     * @param request ListRuleExecutionErrorsRequest message or plain object
                     * @param callback Node-style callback called with the error, if any, and ListRuleExecutionErrorsResponse
                     */
                    public listRuleExecutionErrors(request: google.cloud.chronicle.v1.IListRuleExecutionErrorsRequest, callback: google.cloud.chronicle.v1.RuleExecutionErrorService.ListRuleExecutionErrorsCallback): void;

                    /**
                     * Calls ListRuleExecutionErrors.
                     * @param request ListRuleExecutionErrorsRequest message or plain object
                     * @returns Promise
                     */
                    public listRuleExecutionErrors(request: google.cloud.chronicle.v1.IListRuleExecutionErrorsRequest): Promise<google.cloud.chronicle.v1.ListRuleExecutionErrorsResponse>;
                }

                namespace RuleExecutionErrorService {

                    /**
                     * Callback as used by {@link google.cloud.chronicle.v1.RuleExecutionErrorService|listRuleExecutionErrors}.
                     * @param error Error, if any
                     * @param [response] ListRuleExecutionErrorsResponse
                     */
                    type ListRuleExecutionErrorsCallback = (error: (Error|null), response?: google.cloud.chronicle.v1.ListRuleExecutionErrorsResponse) => void;
                }

                /** Properties of a ListRuleExecutionErrorsRequest. */
                interface IListRuleExecutionErrorsRequest {

                    /** ListRuleExecutionErrorsRequest parent */
                    parent?: (string|null);

                    /** ListRuleExecutionErrorsRequest pageSize */
                    pageSize?: (number|null);

                    /** ListRuleExecutionErrorsRequest pageToken */
                    pageToken?: (string|null);

                    /** ListRuleExecutionErrorsRequest filter */
                    filter?: (string|null);
                }

                /** Represents a ListRuleExecutionErrorsRequest. */
                class ListRuleExecutionErrorsRequest implements IListRuleExecutionErrorsRequest {

                    /**
                     * Constructs a new ListRuleExecutionErrorsRequest.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListRuleExecutionErrorsRequest);

                    /** ListRuleExecutionErrorsRequest parent. */
                    public parent: string;

                    /** ListRuleExecutionErrorsRequest pageSize. */
                    public pageSize: number;

                    /** ListRuleExecutionErrorsRequest pageToken. */
                    public pageToken: string;

                    /** ListRuleExecutionErrorsRequest filter. */
                    public filter: string;

                    /**
                     * Creates a new ListRuleExecutionErrorsRequest instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListRuleExecutionErrorsRequest instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListRuleExecutionErrorsRequest): google.cloud.chronicle.v1.ListRuleExecutionErrorsRequest;

                    /**
                     * Encodes the specified ListRuleExecutionErrorsRequest message. Does not implicitly {@link google.cloud.chronicle.v1.ListRuleExecutionErrorsRequest.verify|verify} messages.
                     * @param message ListRuleExecutionErrorsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListRuleExecutionErrorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListRuleExecutionErrorsRequest message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListRuleExecutionErrorsRequest.verify|verify} messages.
                     * @param message ListRuleExecutionErrorsRequest message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListRuleExecutionErrorsRequest, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListRuleExecutionErrorsRequest message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListRuleExecutionErrorsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListRuleExecutionErrorsRequest;

                    /**
                     * Decodes a ListRuleExecutionErrorsRequest message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListRuleExecutionErrorsRequest
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListRuleExecutionErrorsRequest;

                    /**
                     * Verifies a ListRuleExecutionErrorsRequest message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListRuleExecutionErrorsRequest message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListRuleExecutionErrorsRequest
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListRuleExecutionErrorsRequest;

                    /**
                     * Creates a plain object from a ListRuleExecutionErrorsRequest message. Also converts values to other types if specified.
                     * @param message ListRuleExecutionErrorsRequest
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListRuleExecutionErrorsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListRuleExecutionErrorsRequest to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListRuleExecutionErrorsRequest
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a ListRuleExecutionErrorsResponse. */
                interface IListRuleExecutionErrorsResponse {

                    /** ListRuleExecutionErrorsResponse ruleExecutionErrors */
                    ruleExecutionErrors?: (google.cloud.chronicle.v1.IRuleExecutionError[]|null);

                    /** ListRuleExecutionErrorsResponse nextPageToken */
                    nextPageToken?: (string|null);
                }

                /** Represents a ListRuleExecutionErrorsResponse. */
                class ListRuleExecutionErrorsResponse implements IListRuleExecutionErrorsResponse {

                    /**
                     * Constructs a new ListRuleExecutionErrorsResponse.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IListRuleExecutionErrorsResponse);

                    /** ListRuleExecutionErrorsResponse ruleExecutionErrors. */
                    public ruleExecutionErrors: google.cloud.chronicle.v1.IRuleExecutionError[];

                    /** ListRuleExecutionErrorsResponse nextPageToken. */
                    public nextPageToken: string;

                    /**
                     * Creates a new ListRuleExecutionErrorsResponse instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns ListRuleExecutionErrorsResponse instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IListRuleExecutionErrorsResponse): google.cloud.chronicle.v1.ListRuleExecutionErrorsResponse;

                    /**
                     * Encodes the specified ListRuleExecutionErrorsResponse message. Does not implicitly {@link google.cloud.chronicle.v1.ListRuleExecutionErrorsResponse.verify|verify} messages.
                     * @param message ListRuleExecutionErrorsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IListRuleExecutionErrorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified ListRuleExecutionErrorsResponse message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.ListRuleExecutionErrorsResponse.verify|verify} messages.
                     * @param message ListRuleExecutionErrorsResponse message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IListRuleExecutionErrorsResponse, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a ListRuleExecutionErrorsResponse message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns ListRuleExecutionErrorsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.ListRuleExecutionErrorsResponse;

                    /**
                     * Decodes a ListRuleExecutionErrorsResponse message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns ListRuleExecutionErrorsResponse
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.ListRuleExecutionErrorsResponse;

                    /**
                     * Verifies a ListRuleExecutionErrorsResponse message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a ListRuleExecutionErrorsResponse message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns ListRuleExecutionErrorsResponse
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.ListRuleExecutionErrorsResponse;

                    /**
                     * Creates a plain object from a ListRuleExecutionErrorsResponse message. Also converts values to other types if specified.
                     * @param message ListRuleExecutionErrorsResponse
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.ListRuleExecutionErrorsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this ListRuleExecutionErrorsResponse to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for ListRuleExecutionErrorsResponse
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }

                /** Properties of a RuleExecutionError. */
                interface IRuleExecutionError {

                    /** RuleExecutionError rule */
                    rule?: (string|null);

                    /** RuleExecutionError curatedRule */
                    curatedRule?: (string|null);

                    /** RuleExecutionError name */
                    name?: (string|null);

                    /** RuleExecutionError error */
                    error?: (google.rpc.IStatus|null);

                    /** RuleExecutionError timeRange */
                    timeRange?: (google.type.IInterval|null);
                }

                /** Represents a RuleExecutionError. */
                class RuleExecutionError implements IRuleExecutionError {

                    /**
                     * Constructs a new RuleExecutionError.
                     * @param [properties] Properties to set
                     */
                    constructor(properties?: google.cloud.chronicle.v1.IRuleExecutionError);

                    /** RuleExecutionError rule. */
                    public rule?: (string|null);

                    /** RuleExecutionError curatedRule. */
                    public curatedRule?: (string|null);

                    /** RuleExecutionError name. */
                    public name: string;

                    /** RuleExecutionError error. */
                    public error?: (google.rpc.IStatus|null);

                    /** RuleExecutionError timeRange. */
                    public timeRange?: (google.type.IInterval|null);

                    /** RuleExecutionError source. */
                    public source?: ("rule"|"curatedRule");

                    /**
                     * Creates a new RuleExecutionError instance using the specified properties.
                     * @param [properties] Properties to set
                     * @returns RuleExecutionError instance
                     */
                    public static create(properties?: google.cloud.chronicle.v1.IRuleExecutionError): google.cloud.chronicle.v1.RuleExecutionError;

                    /**
                     * Encodes the specified RuleExecutionError message. Does not implicitly {@link google.cloud.chronicle.v1.RuleExecutionError.verify|verify} messages.
                     * @param message RuleExecutionError message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encode(message: google.cloud.chronicle.v1.IRuleExecutionError, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Encodes the specified RuleExecutionError message, length delimited. Does not implicitly {@link google.cloud.chronicle.v1.RuleExecutionError.verify|verify} messages.
                     * @param message RuleExecutionError message or plain object to encode
                     * @param [writer] Writer to encode to
                     * @returns Writer
                     */
                    public static encodeDelimited(message: google.cloud.chronicle.v1.IRuleExecutionError, writer?: $protobuf.Writer): $protobuf.Writer;

                    /**
                     * Decodes a RuleExecutionError message from the specified reader or buffer.
                     * @param reader Reader or buffer to decode from
                     * @param [length] Message length if known beforehand
                     * @returns RuleExecutionError
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.chronicle.v1.RuleExecutionError;

                    /**
                     * Decodes a RuleExecutionError message from the specified reader or buffer, length delimited.
                     * @param reader Reader or buffer to decode from
                     * @returns RuleExecutionError
                     * @throws {Error} If the payload is not a reader or valid buffer
                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
                     */
                    public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.chronicle.v1.RuleExecutionError;

                    /**
                     * Verifies a RuleExecutionError message.
                     * @param message Plain object to verify
                     * @returns `null` if valid, otherwise the reason why it is not
                     */
                    public static verify(message: { [k: string]: any }): (string|null);

                    /**
                     * Creates a RuleExecutionError message from a plain object. Also converts values to their respective internal types.
                     * @param object Plain object
                     * @returns RuleExecutionError
                     */
                    public static fromObject(object: { [k: string]: any }): google.cloud.chronicle.v1.RuleExecutionError;

                    /**
                     * Creates a plain object from a RuleExecutionError message. Also converts values to other types if specified.
                     * @param message RuleExecutionError
                     * @param [options] Conversion options
                     * @returns Plain object
                     */
                    public static toObject(message: google.cloud.chronicle.v1.RuleExecutionError, options?: $protobuf.IConversionOptions): { [k: string]: any };

                    /**
                     * Converts this RuleExecutionError to JSON.
                     * @returns JSON object
                     */
                    public toJSON(): { [k: string]: any };

                    /**
                     * Gets the default type url for RuleExecutionError
                     * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                     * @returns The default type url
                     */
                    public static getTypeUrl(typeUrlPrefix?: string): string;
                }
            }
        }
    }

    /** Namespace api. */
    namespace api {

        /** 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);

            /** CommonLanguageSettings selectiveGapicGeneration */
            selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|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[];

            /** CommonLanguageSettings selectiveGapicGeneration. */
            public selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null);

            /**
             * 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);

            /** PythonSettings experimentalFeatures */
            experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|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);

            /** PythonSettings experimentalFeatures. */
            public experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|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;
        }

        namespace PythonSettings {

            /** Properties of an ExperimentalFeatures. */
            interface IExperimentalFeatures {

                /** ExperimentalFeatures restAsyncIoEnabled */
                restAsyncIoEnabled?: (boolean|null);

                /** ExperimentalFeatures protobufPythonicTypesEnabled */
                protobufPythonicTypesEnabled?: (boolean|null);

                /** ExperimentalFeatures unversionedPackageDisabled */
                unversionedPackageDisabled?: (boolean|null);
            }

            /** Represents an ExperimentalFeatures. */
            class ExperimentalFeatures implements IExperimentalFeatures {

                /**
                 * Constructs a new ExperimentalFeatures.
                 * @param [properties] Properties to set
                 */
                constructor(properties?: google.api.PythonSettings.IExperimentalFeatures);

                /** ExperimentalFeatures restAsyncIoEnabled. */
                public restAsyncIoEnabled: boolean;

                /** ExperimentalFeatures protobufPythonicTypesEnabled. */
                public protobufPythonicTypesEnabled: boolean;

                /** ExperimentalFeatures unversionedPackageDisabled. */
                public unversionedPackageDisabled: boolean;

                /**
                 * Creates a new ExperimentalFeatures instance using the specified properties.
                 * @param [properties] Properties to set
                 * @returns ExperimentalFeatures instance
                 */
                public static create(properties?: google.api.PythonSettings.IExperimentalFeatures): google.api.PythonSettings.ExperimentalFeatures;

                /**
                 * Encodes the specified ExperimentalFeatures message. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages.
                 * @param message ExperimentalFeatures message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encode(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Encodes the specified ExperimentalFeatures message, length delimited. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages.
                 * @param message ExperimentalFeatures message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encodeDelimited(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Decodes an ExperimentalFeatures message from the specified reader or buffer.
                 * @param reader Reader or buffer to decode from
                 * @param [length] Message length if known beforehand
                 * @returns ExperimentalFeatures
                 * @throws {Error} If the payload is not 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.ExperimentalFeatures;

                /**
                 * Decodes an ExperimentalFeatures message from the specified reader or buffer, length delimited.
                 * @param reader Reader or buffer to decode from
                 * @returns ExperimentalFeatures
                 * @throws {Error} If the payload 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.ExperimentalFeatures;

                /**
                 * Verifies an ExperimentalFeatures message.
                 * @param message Plain 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 ExperimentalFeatures message from a plain object. Also converts values to their respective internal types.
                 * @param object Plain object
                 * @returns ExperimentalFeatures
                 */
                public static fromObject(object: { [k: string]: any }): google.api.PythonSettings.ExperimentalFeatures;

                /**
                 * Creates a plain object from an ExperimentalFeatures message. Also converts values to other types if specified.
                 * @param message ExperimentalFeatures
                 * @param [options] Conversion options
                 * @returns Plain object
                 */
                public static toObject(message: google.api.PythonSettings.ExperimentalFeatures, options?: $protobuf.IConversionOptions): { [k: string]: any };

                /**
                 * Converts this ExperimentalFeatures to JSON.
                 * @returns JSON object
                 */
                public toJSON(): { [k: string]: any };

                /**
                 * Gets the default type url for ExperimentalFeatures
                 * @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);

            /** GoSettings renamedServices */
            renamedServices?: ({ [k: string]: string }|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);

            /** GoSettings renamedServices. */
            public renamedServices: { [k: string]: string };

            /**
             * 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
        }

        /** Properties of a SelectiveGapicGeneration. */
        interface ISelectiveGapicGeneration {

            /** SelectiveGapicGeneration methods */
            methods?: (string[]|null);

            /** SelectiveGapicGeneration generateOmittedAsInternal */
            generateOmittedAsInternal?: (boolean|null);
        }

        /** Represents a SelectiveGapicGeneration. */
        class SelectiveGapicGeneration implements ISelectiveGapicGeneration {

            /**
             * Constructs a new SelectiveGapicGeneration.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.ISelectiveGapicGeneration);

            /** SelectiveGapicGeneration methods. */
            public methods: string[];

            /** SelectiveGapicGeneration generateOmittedAsInternal. */
            public generateOmittedAsInternal: boolean;

            /**
             * Creates a new SelectiveGapicGeneration instance using the specified properties.
             * @param [properties] Properties to set
             * @returns SelectiveGapicGeneration instance
             */
            public static create(properties?: google.api.ISelectiveGapicGeneration): google.api.SelectiveGapicGeneration;

            /**
             * Encodes the specified SelectiveGapicGeneration message. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages.
             * @param message SelectiveGapicGeneration message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified SelectiveGapicGeneration message, length delimited. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages.
             * @param message SelectiveGapicGeneration message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a SelectiveGapicGeneration message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns SelectiveGapicGeneration
             * @throws {Error} If the payload is not 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.SelectiveGapicGeneration;

            /**
             * Decodes a SelectiveGapicGeneration message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns SelectiveGapicGeneration
             * @throws {Error} If the payload 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.SelectiveGapicGeneration;

            /**
             * Verifies a SelectiveGapicGeneration message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a SelectiveGapicGeneration message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns SelectiveGapicGeneration
             */
            public static fromObject(object: { [k: string]: any }): google.api.SelectiveGapicGeneration;

            /**
             * Creates a plain object from a SelectiveGapicGeneration message. Also converts values to other types if specified.
             * @param message SelectiveGapicGeneration
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.SelectiveGapicGeneration, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this SelectiveGapicGeneration to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for SelectiveGapicGeneration
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** LaunchStage enum. */
        enum LaunchStage {
            LAUNCH_STAGE_UNSPECIFIED = 0,
            UNIMPLEMENTED = 6,
            PRELAUNCH = 7,
            EARLY_ACCESS = 1,
            ALPHA = 2,
            BETA = 3,
            GA = 4,
            DEPRECATED = 5
        }

        /** FieldBehavior enum. */
        enum FieldBehavior {
            FIELD_BEHAVIOR_UNSPECIFIED = 0,
            OPTIONAL = 1,
            REQUIRED = 2,
            OUTPUT_ONLY = 3,
            INPUT_ONLY = 4,
            IMMUTABLE = 5,
            UNORDERED_LIST = 6,
            NON_EMPTY_DEFAULT = 7,
            IDENTIFIER = 8
        }

        /** Properties of a ResourceDescriptor. */
        interface IResourceDescriptor {

            /** ResourceDescriptor type */
            type?: (string|null);

            /** ResourceDescriptor pattern */
            pattern?: (string[]|null);

            /** ResourceDescriptor nameField */
            nameField?: (string|null);

            /** ResourceDescriptor history */
            history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null);

            /** ResourceDescriptor plural */
            plural?: (string|null);

            /** ResourceDescriptor singular */
            singular?: (string|null);

            /** ResourceDescriptor style */
            style?: (google.api.ResourceDescriptor.Style[]|null);
        }

        /** Represents a ResourceDescriptor. */
        class ResourceDescriptor implements IResourceDescriptor {

            /**
             * Constructs a new ResourceDescriptor.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.IResourceDescriptor);

            /** ResourceDescriptor type. */
            public type: string;

            /** ResourceDescriptor pattern. */
            public pattern: string[];

            /** ResourceDescriptor nameField. */
            public nameField: string;

            /** ResourceDescriptor history. */
            public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History);

            /** ResourceDescriptor plural. */
            public plural: string;

            /** ResourceDescriptor singular. */
            public singular: string;

            /** ResourceDescriptor style. */
            public style: google.api.ResourceDescriptor.Style[];

            /**
             * Creates a new ResourceDescriptor instance using the specified properties.
             * @param [properties] Properties to set
             * @returns ResourceDescriptor instance
             */
            public static create(properties?: google.api.IResourceDescriptor): google.api.ResourceDescriptor;

            /**
             * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
             * @param message ResourceDescriptor message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages.
             * @param message ResourceDescriptor message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a ResourceDescriptor message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns ResourceDescriptor
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceDescriptor;

            /**
             * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns ResourceDescriptor
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceDescriptor;

            /**
             * Verifies a ResourceDescriptor message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns ResourceDescriptor
             */
            public static fromObject(object: { [k: string]: any }): google.api.ResourceDescriptor;

            /**
             * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified.
             * @param message ResourceDescriptor
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.ResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this ResourceDescriptor to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for ResourceDescriptor
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        namespace ResourceDescriptor {

            /** History enum. */
            enum History {
                HISTORY_UNSPECIFIED = 0,
                ORIGINALLY_SINGLE_PATTERN = 1,
                FUTURE_MULTI_PATTERN = 2
            }

            /** Style enum. */
            enum Style {
                STYLE_UNSPECIFIED = 0,
                DECLARATIVE_FRIENDLY = 1
            }
        }

        /** Properties of a ResourceReference. */
        interface IResourceReference {

            /** ResourceReference type */
            type?: (string|null);

            /** ResourceReference childType */
            childType?: (string|null);
        }

        /** Represents a ResourceReference. */
        class ResourceReference implements IResourceReference {

            /**
             * Constructs a new ResourceReference.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.api.IResourceReference);

            /** ResourceReference type. */
            public type: string;

            /** ResourceReference childType. */
            public childType: string;

            /**
             * Creates a new ResourceReference instance using the specified properties.
             * @param [properties] Properties to set
             * @returns ResourceReference instance
             */
            public static create(properties?: google.api.IResourceReference): google.api.ResourceReference;

            /**
             * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
             * @param message ResourceReference message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages.
             * @param message ResourceReference message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a ResourceReference message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns ResourceReference
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceReference;

            /**
             * Decodes a ResourceReference message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns ResourceReference
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceReference;

            /**
             * Verifies a ResourceReference message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns ResourceReference
             */
            public static fromObject(object: { [k: string]: any }): google.api.ResourceReference;

            /**
             * Creates a plain object from a ResourceReference message. Also converts values to other types if specified.
             * @param message ResourceReference
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.api.ResourceReference, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this ResourceReference to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for ResourceReference
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }
    }

    /** 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_LEGACY = 900,
            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 optionDependency */
            optionDependency?: (string[]|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 optionDependency. */
            public optionDependency: string[];

            /** 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);

            /** DescriptorProto visibility */
            visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|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[];

            /** DescriptorProto visibility. */
            public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility);

            /**
             * 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);

            /** EnumDescriptorProto visibility */
            visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|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[];

            /** EnumDescriptorProto visibility. */
            public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility);

            /**
             * 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 featureSupport */
            featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|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 featureSupport. */
            public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|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 a FeatureSupport. */
            interface IFeatureSupport {

                /** FeatureSupport editionIntroduced */
                editionIntroduced?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);

                /** FeatureSupport editionDeprecated */
                editionDeprecated?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);

                /** FeatureSupport deprecationWarning */
                deprecationWarning?: (string|null);

                /** FeatureSupport editionRemoved */
                editionRemoved?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
            }

            /** Represents a FeatureSupport. */
            class FeatureSupport implements IFeatureSupport {

                /**
                 * Constructs a new FeatureSupport.
                 * @param [properties] Properties to set
                 */
                constructor(properties?: google.protobuf.FieldOptions.IFeatureSupport);

                /** FeatureSupport editionIntroduced. */
                public editionIntroduced: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);

                /** FeatureSupport editionDeprecated. */
                public editionDeprecated: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);

                /** FeatureSupport deprecationWarning. */
                public deprecationWarning: string;

                /** FeatureSupport editionRemoved. */
                public editionRemoved: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);

                /**
                 * Creates a new FeatureSupport instance using the specified properties.
                 * @param [properties] Properties to set
                 * @returns FeatureSupport instance
                 */
                public static create(properties?: google.protobuf.FieldOptions.IFeatureSupport): google.protobuf.FieldOptions.FeatureSupport;

                /**
                 * Encodes the specified FeatureSupport message. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages.
                 * @param message FeatureSupport message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encode(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Encodes the specified FeatureSupport message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages.
                 * @param message FeatureSupport message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encodeDelimited(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Decodes a FeatureSupport message from the specified reader or buffer.
                 * @param reader Reader or buffer to decode from
                 * @param [length] Message length if known beforehand
                 * @returns FeatureSupport
                 * @throws {Error} If the payload is not 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.FeatureSupport;

                /**
                 * Decodes a FeatureSupport message from the specified reader or buffer, length delimited.
                 * @param reader Reader or buffer to decode from
                 * @returns FeatureSupport
                 * @throws {Error} If the payload 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.FeatureSupport;

                /**
                 * Verifies a FeatureSupport message.
                 * @param message Plain object to verify
                 * @returns `null` if valid, otherwise the reason why it is not
                 */
                public static verify(message: { [k: string]: any }): (string|null);

                /**
                 * Creates a FeatureSupport message from a plain object. Also converts values to their respective internal types.
                 * @param object Plain object
                 * @returns FeatureSupport
                 */
                public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions.FeatureSupport;

                /**
                 * Creates a plain object from a FeatureSupport message. Also converts values to other types if specified.
                 * @param message FeatureSupport
                 * @param [options] Conversion options
                 * @returns Plain object
                 */
                public static toObject(message: google.protobuf.FieldOptions.FeatureSupport, options?: $protobuf.IConversionOptions): { [k: string]: any };

                /**
                 * Converts this FeatureSupport to JSON.
                 * @returns JSON object
                 */
                public toJSON(): { [k: string]: any };

                /**
                 * Gets the default type url for FeatureSupport
                 * @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 featureSupport */
            featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|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 featureSupport. */
            public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null);

            /** 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);

            /** FeatureSet enforceNamingStyle */
            enforceNamingStyle?: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle|null);

            /** FeatureSet defaultSymbolVisibility */
            defaultSymbolVisibility?: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|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);

            /** FeatureSet enforceNamingStyle. */
            public enforceNamingStyle: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle);

            /** FeatureSet defaultSymbolVisibility. */
            public defaultSymbolVisibility: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility);

            /**
             * 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
            }

            /** EnforceNamingStyle enum. */
            enum EnforceNamingStyle {
                ENFORCE_NAMING_STYLE_UNKNOWN = 0,
                STYLE2024 = 1,
                STYLE_LEGACY = 2
            }

            /** Properties of a VisibilityFeature. */
            interface IVisibilityFeature {
            }

            /** Represents a VisibilityFeature. */
            class VisibilityFeature implements IVisibilityFeature {

                /**
                 * Constructs a new VisibilityFeature.
                 * @param [properties] Properties to set
                 */
                constructor(properties?: google.protobuf.FeatureSet.IVisibilityFeature);

                /**
                 * Creates a new VisibilityFeature instance using the specified properties.
                 * @param [properties] Properties to set
                 * @returns VisibilityFeature instance
                 */
                public static create(properties?: google.protobuf.FeatureSet.IVisibilityFeature): google.protobuf.FeatureSet.VisibilityFeature;

                /**
                 * Encodes the specified VisibilityFeature message. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages.
                 * @param message VisibilityFeature message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encode(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Encodes the specified VisibilityFeature message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages.
                 * @param message VisibilityFeature message or plain object to encode
                 * @param [writer] Writer to encode to
                 * @returns Writer
                 */
                public static encodeDelimited(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer;

                /**
                 * Decodes a VisibilityFeature message from the specified reader or buffer.
                 * @param reader Reader or buffer to decode from
                 * @param [length] Message length if known beforehand
                 * @returns VisibilityFeature
                 * @throws {Error} If the payload is not 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.VisibilityFeature;

                /**
                 * Decodes a VisibilityFeature message from the specified reader or buffer, length delimited.
                 * @param reader Reader or buffer to decode from
                 * @returns VisibilityFeature
                 * @throws {Error} If the payload 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.VisibilityFeature;

                /**
                 * Verifies a VisibilityFeature message.
                 * @param message Plain object to verify
                 * @returns `null` if valid, otherwise the reason why it is not
                 */
                public static verify(message: { [k: string]: any }): (string|null);

                /**
                 * Creates a VisibilityFeature message from a plain object. Also converts values to their respective internal types.
                 * @param object Plain object
                 * @returns VisibilityFeature
                 */
                public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSet.VisibilityFeature;

                /**
                 * Creates a plain object from a VisibilityFeature message. Also converts values to other types if specified.
                 * @param message VisibilityFeature
                 * @param [options] Conversion options
                 * @returns Plain object
                 */
                public static toObject(message: google.protobuf.FeatureSet.VisibilityFeature, options?: $protobuf.IConversionOptions): { [k: string]: any };

                /**
                 * Converts this VisibilityFeature to JSON.
                 * @returns JSON object
                 */
                public toJSON(): { [k: string]: any };

                /**
                 * Gets the default type url for VisibilityFeature
                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
                 * @returns The default type url
                 */
                public static getTypeUrl(typeUrlPrefix?: string): string;
            }

            namespace VisibilityFeature {

                /** DefaultSymbolVisibility enum. */
                enum DefaultSymbolVisibility {
                    DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = 0,
                    EXPORT_ALL = 1,
                    EXPORT_TOP_LEVEL = 2,
                    LOCAL_ALL = 3,
                    STRICT = 4
                }
            }
        }

        /** 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 overridableFeatures */
                overridableFeatures?: (google.protobuf.IFeatureSet|null);

                /** FeatureSetEditionDefault fixedFeatures */
                fixedFeatures?: (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 overridableFeatures. */
                public overridableFeatures?: (google.protobuf.IFeatureSet|null);

                /** FeatureSetEditionDefault fixedFeatures. */
                public fixedFeatures?: (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
                }
            }
        }

        /** SymbolVisibility enum. */
        enum SymbolVisibility {
            VISIBILITY_UNSET = 0,
            VISIBILITY_LOCAL = 1,
            VISIBILITY_EXPORT = 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 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 a Timestamp. */
        interface ITimestamp {

            /** Timestamp seconds */
            seconds?: (number|Long|string|null);

            /** Timestamp nanos */
            nanos?: (number|null);
        }

        /** Represents a Timestamp. */
        class Timestamp implements ITimestamp {

            /**
             * Constructs a new Timestamp.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.protobuf.ITimestamp);

            /** Timestamp seconds. */
            public seconds: (number|Long|string);

            /** Timestamp nanos. */
            public nanos: number;

            /**
             * Creates a new Timestamp instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Timestamp instance
             */
            public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp;

            /**
             * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
             * @param message Timestamp message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
             * @param message Timestamp message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a Timestamp message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns Timestamp
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp;

            /**
             * Decodes a Timestamp message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns Timestamp
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp;

            /**
             * Verifies a Timestamp message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a Timestamp message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns Timestamp
             */
            public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp;

            /**
             * Creates a plain object from a Timestamp message. Also converts values to other types if specified.
             * @param message Timestamp
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this Timestamp to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for Timestamp
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of an 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 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;
        }
    }

    /** Namespace type. */
    namespace type {

        /** Properties of a Date. */
        interface IDate {

            /** Date year */
            year?: (number|null);

            /** Date month */
            month?: (number|null);

            /** Date day */
            day?: (number|null);
        }

        /** Represents a Date. */
        class Date implements IDate {

            /**
             * Constructs a new Date.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.type.IDate);

            /** Date year. */
            public year: number;

            /** Date month. */
            public month: number;

            /** Date day. */
            public day: number;

            /**
             * Creates a new Date instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Date instance
             */
            public static create(properties?: google.type.IDate): google.type.Date;

            /**
             * Encodes the specified Date message. Does not implicitly {@link google.type.Date.verify|verify} messages.
             * @param message Date message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.type.IDate, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Date message, length delimited. Does not implicitly {@link google.type.Date.verify|verify} messages.
             * @param message Date message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.type.IDate, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes a Date message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns Date
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.Date;

            /**
             * Decodes a Date message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns Date
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.Date;

            /**
             * Verifies a Date message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates a Date message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns Date
             */
            public static fromObject(object: { [k: string]: any }): google.type.Date;

            /**
             * Creates a plain object from a Date message. Also converts values to other types if specified.
             * @param message Date
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.type.Date, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this Date to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for Date
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }

        /** Properties of an Interval. */
        interface IInterval {

            /** Interval startTime */
            startTime?: (google.protobuf.ITimestamp|null);

            /** Interval endTime */
            endTime?: (google.protobuf.ITimestamp|null);
        }

        /** Represents an Interval. */
        class Interval implements IInterval {

            /**
             * Constructs a new Interval.
             * @param [properties] Properties to set
             */
            constructor(properties?: google.type.IInterval);

            /** Interval startTime. */
            public startTime?: (google.protobuf.ITimestamp|null);

            /** Interval endTime. */
            public endTime?: (google.protobuf.ITimestamp|null);

            /**
             * Creates a new Interval instance using the specified properties.
             * @param [properties] Properties to set
             * @returns Interval instance
             */
            public static create(properties?: google.type.IInterval): google.type.Interval;

            /**
             * Encodes the specified Interval message. Does not implicitly {@link google.type.Interval.verify|verify} messages.
             * @param message Interval message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encode(message: google.type.IInterval, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Encodes the specified Interval message, length delimited. Does not implicitly {@link google.type.Interval.verify|verify} messages.
             * @param message Interval message or plain object to encode
             * @param [writer] Writer to encode to
             * @returns Writer
             */
            public static encodeDelimited(message: google.type.IInterval, writer?: $protobuf.Writer): $protobuf.Writer;

            /**
             * Decodes an Interval message from the specified reader or buffer.
             * @param reader Reader or buffer to decode from
             * @param [length] Message length if known beforehand
             * @returns Interval
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.Interval;

            /**
             * Decodes an Interval message from the specified reader or buffer, length delimited.
             * @param reader Reader or buffer to decode from
             * @returns Interval
             * @throws {Error} If the payload is not a reader or valid buffer
             * @throws {$protobuf.util.ProtocolError} If required fields are missing
             */
            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.Interval;

            /**
             * Verifies an Interval message.
             * @param message Plain object to verify
             * @returns `null` if valid, otherwise the reason why it is not
             */
            public static verify(message: { [k: string]: any }): (string|null);

            /**
             * Creates an Interval message from a plain object. Also converts values to their respective internal types.
             * @param object Plain object
             * @returns Interval
             */
            public static fromObject(object: { [k: string]: any }): google.type.Interval;

            /**
             * Creates a plain object from an Interval message. Also converts values to other types if specified.
             * @param message Interval
             * @param [options] Conversion options
             * @returns Plain object
             */
            public static toObject(message: google.type.Interval, options?: $protobuf.IConversionOptions): { [k: string]: any };

            /**
             * Converts this Interval to JSON.
             * @returns JSON object
             */
            public toJSON(): { [k: string]: any };

            /**
             * Gets the default type url for Interval
             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
             * @returns The default type url
             */
            public static getTypeUrl(typeUrlPrefix?: string): string;
        }
    }

    /** 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 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;
        }
    }
}
