import * as $protobuf from "protobufjs";
import Long = require("long");
/** Namespace multisig. */
export namespace multisig {

    /** Properties of a ZKProof. */
    interface IZKProof {

        /** ZKProof points */
        points?: (Uint8Array[]|null);
    }

    /** Represents a ZKProof. */
    class ZKProof implements IZKProof {

        /**
         * Constructs a new ZKProof.
         * @param [properties] Properties to set
         */
        constructor(properties?: multisig.IZKProof);

        /** ZKProof points. */
        public points: Uint8Array[];

        /**
         * Creates a new ZKProof instance using the specified properties.
         * @param [properties] Properties to set
         * @returns ZKProof instance
         */
        public static create(properties?: multisig.IZKProof): multisig.ZKProof;

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

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

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

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

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

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

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

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

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

/** Namespace transaction. */
export namespace transaction {

    /** Properties of a ZKProof. */
    interface IZKProof {

        /** ZKProof zpoints */
        zpoints?: (Uint8Array[]|null);

        /** ZKProof rpoints */
        rpoints?: (Uint8Array[]|null);
    }

    /** Represents a ZKProof. */
    class ZKProof implements IZKProof {

        /**
         * Constructs a new ZKProof.
         * @param [properties] Properties to set
         */
        constructor(properties?: transaction.IZKProof);

        /** ZKProof zpoints. */
        public zpoints: Uint8Array[];

        /** ZKProof rpoints. */
        public rpoints: Uint8Array[];

        /**
         * Creates a new ZKProof instance using the specified properties.
         * @param [properties] Properties to set
         * @returns ZKProof instance
         */
        public static create(properties?: transaction.IZKProof): transaction.ZKProof;

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

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

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

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

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

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

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

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

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

    /** Properties of a BaseTransaction. */
    interface IBaseTransaction {

        /** BaseTransaction selector */
        selector: Uint8Array;

        /** BaseTransaction refgid */
        refgid: Uint8Array;

        /** BaseTransaction t */
        t: (number|Long);

        /** BaseTransaction n */
        n: (number|Long);
    }

    /** Represents a BaseTransaction. */
    class BaseTransaction implements IBaseTransaction {

        /**
         * Constructs a new BaseTransaction.
         * @param [properties] Properties to set
         */
        constructor(properties?: transaction.IBaseTransaction);

        /** BaseTransaction selector. */
        public selector: Uint8Array;

        /** BaseTransaction refgid. */
        public refgid: Uint8Array;

        /** BaseTransaction t. */
        public t: (number|Long);

        /** BaseTransaction n. */
        public n: (number|Long);

        /**
         * Creates a new BaseTransaction instance using the specified properties.
         * @param [properties] Properties to set
         * @returns BaseTransaction instance
         */
        public static create(properties?: transaction.IBaseTransaction): transaction.BaseTransaction;

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

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

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

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

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

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

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

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

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

    /** Properties of a nExtension. */
    interface InExtension {

        /** nExtension selector */
        selector: Uint8Array;

        /** nExtension refgid */
        refgid: Uint8Array;

        /** nExtension t */
        t: (number|Long);

        /** nExtension n */
        n: (number|Long);

        /** nExtension k */
        k: Uint8Array;

        /** nExtension pubkey */
        pubkey: Uint8Array;

        /** nExtension kr */
        kr: Uint8Array;

        /** nExtension kzero */
        kzero: Uint8Array;
    }

    /** Represents a nExtension. */
    class nExtension implements InExtension {

        /**
         * Constructs a new nExtension.
         * @param [properties] Properties to set
         */
        constructor(properties?: transaction.InExtension);

        /** nExtension selector. */
        public selector: Uint8Array;

        /** nExtension refgid. */
        public refgid: Uint8Array;

        /** nExtension t. */
        public t: (number|Long);

        /** nExtension n. */
        public n: (number|Long);

        /** nExtension k. */
        public k: Uint8Array;

        /** nExtension pubkey. */
        public pubkey: Uint8Array;

        /** nExtension kr. */
        public kr: Uint8Array;

        /** nExtension kzero. */
        public kzero: Uint8Array;

        /**
         * Creates a new nExtension instance using the specified properties.
         * @param [properties] Properties to set
         * @returns nExtension instance
         */
        public static create(properties?: transaction.InExtension): transaction.nExtension;

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

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

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

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

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

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

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

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

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

    /** Properties of a nReduction. */
    interface InReduction {

        /** nReduction selector */
        selector: Uint8Array;

        /** nReduction refgid */
        refgid: Uint8Array;

        /** nReduction t */
        t: (number|Long);

        /** nReduction n */
        n: (number|Long);

        /** nReduction k */
        k: Uint8Array;
    }

    /** Represents a nReduction. */
    class nReduction implements InReduction {

        /**
         * Constructs a new nReduction.
         * @param [properties] Properties to set
         */
        constructor(properties?: transaction.InReduction);

        /** nReduction selector. */
        public selector: Uint8Array;

        /** nReduction refgid. */
        public refgid: Uint8Array;

        /** nReduction t. */
        public t: (number|Long);

        /** nReduction n. */
        public n: (number|Long);

        /** nReduction k. */
        public k: Uint8Array;

        /**
         * Creates a new nReduction instance using the specified properties.
         * @param [properties] Properties to set
         * @returns nReduction instance
         */
        public static create(properties?: transaction.InReduction): transaction.nReduction;

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

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

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

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

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

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

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

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

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

    /** Properties of a tExtension. */
    interface ItExtension {

        /** tExtension selector */
        selector: Uint8Array;

        /** tExtension refgid */
        refgid: Uint8Array;

        /** tExtension t */
        t: (number|Long);

        /** tExtension n */
        n: (number|Long);
    }

    /** Represents a tExtension. */
    class tExtension implements ItExtension {

        /**
         * Constructs a new tExtension.
         * @param [properties] Properties to set
         */
        constructor(properties?: transaction.ItExtension);

        /** tExtension selector. */
        public selector: Uint8Array;

        /** tExtension refgid. */
        public refgid: Uint8Array;

        /** tExtension t. */
        public t: (number|Long);

        /** tExtension n. */
        public n: (number|Long);

        /**
         * Creates a new tExtension instance using the specified properties.
         * @param [properties] Properties to set
         * @returns tExtension instance
         */
        public static create(properties?: transaction.ItExtension): transaction.tExtension;

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

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

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

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

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

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

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

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

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

    /** Properties of a tReduction. */
    interface ItReduction {

        /** tReduction selector */
        selector: Uint8Array;

        /** tReduction refgid */
        refgid: Uint8Array;

        /** tReduction t */
        t: (number|Long);

        /** tReduction n */
        n: (number|Long);
    }

    /** Represents a tReduction. */
    class tReduction implements ItReduction {

        /**
         * Constructs a new tReduction.
         * @param [properties] Properties to set
         */
        constructor(properties?: transaction.ItReduction);

        /** tReduction selector. */
        public selector: Uint8Array;

        /** tReduction refgid. */
        public refgid: Uint8Array;

        /** tReduction t. */
        public t: (number|Long);

        /** tReduction n. */
        public n: (number|Long);

        /**
         * Creates a new tReduction instance using the specified properties.
         * @param [properties] Properties to set
         * @returns tReduction instance
         */
        public static create(properties?: transaction.ItReduction): transaction.tReduction;

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

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

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

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

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

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

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

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

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