import _m0 from 'protobufjs';
import { EncodeObject, OfflineSigner } from '@cosmjs/proto-signing';
import { StdFee } from '@cosmjs/launchpad';
import { DeliverTxResponse } from '@cosmjs/stargate';
import { grpc } from '@improbable-eng/grpc-web';

interface MsgPostFile {
    creator: string;
    account: string;
    hashParent: string;
    hashChild: string;
    contents: string;
    viewers: string;
    editors: string;
    trackingNumber: string;
}
declare const MsgPostFile: {
    encode(message: MsgPostFile, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgPostFile;
    fromJSON(object: any): MsgPostFile;
    toJSON(message: MsgPostFile): unknown;
    create<I extends {
        creator?: string | undefined;
        account?: string | undefined;
        hashParent?: string | undefined;
        hashChild?: string | undefined;
        contents?: string | undefined;
        viewers?: string | undefined;
        editors?: string | undefined;
        trackingNumber?: string | undefined;
    } & {
        creator?: string | undefined;
        account?: string | undefined;
        hashParent?: string | undefined;
        hashChild?: string | undefined;
        contents?: string | undefined;
        viewers?: string | undefined;
        editors?: string | undefined;
        trackingNumber?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgPostFile>]: never; }>(base?: I | undefined): MsgPostFile;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        account?: string | undefined;
        hashParent?: string | undefined;
        hashChild?: string | undefined;
        contents?: string | undefined;
        viewers?: string | undefined;
        editors?: string | undefined;
        trackingNumber?: string | undefined;
    } & {
        creator?: string | undefined;
        account?: string | undefined;
        hashParent?: string | undefined;
        hashChild?: string | undefined;
        contents?: string | undefined;
        viewers?: string | undefined;
        editors?: string | undefined;
        trackingNumber?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgPostFile>]: never; }>(object: I_1): MsgPostFile;
};
interface MsgAddViewers {
    creator: string;
    viewerIds: string;
    viewerKeys: string;
    address: string;
    fileowner: string;
}
declare const MsgAddViewers: {
    encode(message: MsgAddViewers, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgAddViewers;
    fromJSON(object: any): MsgAddViewers;
    toJSON(message: MsgAddViewers): unknown;
    create<I extends {
        creator?: string | undefined;
        viewerIds?: string | undefined;
        viewerKeys?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & {
        creator?: string | undefined;
        viewerIds?: string | undefined;
        viewerKeys?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgAddViewers>]: never; }>(base?: I | undefined): MsgAddViewers;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        viewerIds?: string | undefined;
        viewerKeys?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & {
        creator?: string | undefined;
        viewerIds?: string | undefined;
        viewerKeys?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgAddViewers>]: never; }>(object: I_1): MsgAddViewers;
};
interface MsgPostkey {
    creator: string;
    key: string;
}
declare const MsgPostkey: {
    encode(message: MsgPostkey, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgPostkey;
    fromJSON(object: any): MsgPostkey;
    toJSON(message: MsgPostkey): unknown;
    create<I extends {
        creator?: string | undefined;
        key?: string | undefined;
    } & {
        creator?: string | undefined;
        key?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgPostkey>]: never; }>(base?: I | undefined): MsgPostkey;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        key?: string | undefined;
    } & {
        creator?: string | undefined;
        key?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgPostkey>]: never; }>(object: I_1): MsgPostkey;
};
interface MsgDeleteFile {
    creator: string;
    hashPath: string;
    account: string;
}
declare const MsgDeleteFile: {
    encode(message: MsgDeleteFile, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgDeleteFile;
    fromJSON(object: any): MsgDeleteFile;
    toJSON(message: MsgDeleteFile): unknown;
    create<I extends {
        creator?: string | undefined;
        hashPath?: string | undefined;
        account?: string | undefined;
    } & {
        creator?: string | undefined;
        hashPath?: string | undefined;
        account?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgDeleteFile>]: never; }>(base?: I | undefined): MsgDeleteFile;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        hashPath?: string | undefined;
        account?: string | undefined;
    } & {
        creator?: string | undefined;
        hashPath?: string | undefined;
        account?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgDeleteFile>]: never; }>(object: I_1): MsgDeleteFile;
};
interface MsgRemoveViewers {
    creator: string;
    viewerIds: string;
    address: string;
    fileowner: string;
}
declare const MsgRemoveViewers: {
    encode(message: MsgRemoveViewers, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgRemoveViewers;
    fromJSON(object: any): MsgRemoveViewers;
    toJSON(message: MsgRemoveViewers): unknown;
    create<I extends {
        creator?: string | undefined;
        viewerIds?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & {
        creator?: string | undefined;
        viewerIds?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgRemoveViewers>]: never; }>(base?: I | undefined): MsgRemoveViewers;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        viewerIds?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & {
        creator?: string | undefined;
        viewerIds?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgRemoveViewers>]: never; }>(object: I_1): MsgRemoveViewers;
};
interface MsgMakeRoot {
    creator: string;
    account: string;
    rootHashPath: string;
    contents: string;
    editors: string;
    viewers: string;
    trackingNumber: string;
}
declare const MsgMakeRoot: {
    encode(message: MsgMakeRoot, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgMakeRoot;
    fromJSON(object: any): MsgMakeRoot;
    toJSON(message: MsgMakeRoot): unknown;
    create<I extends {
        creator?: string | undefined;
        account?: string | undefined;
        rootHashPath?: string | undefined;
        contents?: string | undefined;
        editors?: string | undefined;
        viewers?: string | undefined;
        trackingNumber?: string | undefined;
    } & {
        creator?: string | undefined;
        account?: string | undefined;
        rootHashPath?: string | undefined;
        contents?: string | undefined;
        editors?: string | undefined;
        viewers?: string | undefined;
        trackingNumber?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgMakeRoot>]: never; }>(base?: I | undefined): MsgMakeRoot;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        account?: string | undefined;
        rootHashPath?: string | undefined;
        contents?: string | undefined;
        editors?: string | undefined;
        viewers?: string | undefined;
        trackingNumber?: string | undefined;
    } & {
        creator?: string | undefined;
        account?: string | undefined;
        rootHashPath?: string | undefined;
        contents?: string | undefined;
        editors?: string | undefined;
        viewers?: string | undefined;
        trackingNumber?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgMakeRoot>]: never; }>(object: I_1): MsgMakeRoot;
};
interface MsgMakeRootV2 {
    creator: string;
    editors: string;
    viewers: string;
    trackingNumber: string;
}
declare const MsgMakeRootV2: {
    encode(message: MsgMakeRootV2, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgMakeRootV2;
    fromJSON(object: any): MsgMakeRootV2;
    toJSON(message: MsgMakeRootV2): unknown;
    create<I extends {
        creator?: string | undefined;
        editors?: string | undefined;
        viewers?: string | undefined;
        trackingNumber?: string | undefined;
    } & {
        creator?: string | undefined;
        editors?: string | undefined;
        viewers?: string | undefined;
        trackingNumber?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgMakeRootV2>]: never; }>(base?: I | undefined): MsgMakeRootV2;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        editors?: string | undefined;
        viewers?: string | undefined;
        trackingNumber?: string | undefined;
    } & {
        creator?: string | undefined;
        editors?: string | undefined;
        viewers?: string | undefined;
        trackingNumber?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgMakeRootV2>]: never; }>(object: I_1): MsgMakeRootV2;
};
interface MsgAddEditors {
    creator: string;
    editorIds: string;
    editorKeys: string;
    address: string;
    fileowner: string;
}
declare const MsgAddEditors: {
    encode(message: MsgAddEditors, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgAddEditors;
    fromJSON(object: any): MsgAddEditors;
    toJSON(message: MsgAddEditors): unknown;
    create<I extends {
        creator?: string | undefined;
        editorIds?: string | undefined;
        editorKeys?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & {
        creator?: string | undefined;
        editorIds?: string | undefined;
        editorKeys?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgAddEditors>]: never; }>(base?: I | undefined): MsgAddEditors;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        editorIds?: string | undefined;
        editorKeys?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & {
        creator?: string | undefined;
        editorIds?: string | undefined;
        editorKeys?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgAddEditors>]: never; }>(object: I_1): MsgAddEditors;
};
interface MsgRemoveEditors {
    creator: string;
    editorIds: string;
    address: string;
    fileowner: string;
}
declare const MsgRemoveEditors: {
    encode(message: MsgRemoveEditors, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgRemoveEditors;
    fromJSON(object: any): MsgRemoveEditors;
    toJSON(message: MsgRemoveEditors): unknown;
    create<I extends {
        creator?: string | undefined;
        editorIds?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & {
        creator?: string | undefined;
        editorIds?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgRemoveEditors>]: never; }>(base?: I | undefined): MsgRemoveEditors;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        editorIds?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & {
        creator?: string | undefined;
        editorIds?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgRemoveEditors>]: never; }>(object: I_1): MsgRemoveEditors;
};
interface MsgResetEditors {
    creator: string;
    address: string;
    fileowner: string;
}
declare const MsgResetEditors: {
    encode(message: MsgResetEditors, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgResetEditors;
    fromJSON(object: any): MsgResetEditors;
    toJSON(message: MsgResetEditors): unknown;
    create<I extends {
        creator?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & {
        creator?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgResetEditors>]: never; }>(base?: I | undefined): MsgResetEditors;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & {
        creator?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgResetEditors>]: never; }>(object: I_1): MsgResetEditors;
};
interface MsgResetViewers {
    creator: string;
    address: string;
    fileowner: string;
}
declare const MsgResetViewers: {
    encode(message: MsgResetViewers, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgResetViewers;
    fromJSON(object: any): MsgResetViewers;
    toJSON(message: MsgResetViewers): unknown;
    create<I extends {
        creator?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & {
        creator?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgResetViewers>]: never; }>(base?: I | undefined): MsgResetViewers;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & {
        creator?: string | undefined;
        address?: string | undefined;
        fileowner?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgResetViewers>]: never; }>(object: I_1): MsgResetViewers;
};
interface MsgChangeOwner {
    creator: string;
    address: string;
    fileOwner: string;
    newOwner: string;
}
declare const MsgChangeOwner: {
    encode(message: MsgChangeOwner, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgChangeOwner;
    fromJSON(object: any): MsgChangeOwner;
    toJSON(message: MsgChangeOwner): unknown;
    create<I extends {
        creator?: string | undefined;
        address?: string | undefined;
        fileOwner?: string | undefined;
        newOwner?: string | undefined;
    } & {
        creator?: string | undefined;
        address?: string | undefined;
        fileOwner?: string | undefined;
        newOwner?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgChangeOwner>]: never; }>(base?: I | undefined): MsgChangeOwner;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        address?: string | undefined;
        fileOwner?: string | undefined;
        newOwner?: string | undefined;
    } & {
        creator?: string | undefined;
        address?: string | undefined;
        fileOwner?: string | undefined;
        newOwner?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgChangeOwner>]: never; }>(object: I_1): MsgChangeOwner;
};

interface ITxFileTree {
    msgPostFile(data: MsgPostFile): EncodeObject;
    msgAddViewers(data: MsgAddViewers): EncodeObject;
    msgPostkey(data: MsgPostkey): EncodeObject;
    msgDeleteFile(data: MsgDeleteFile): EncodeObject;
    msgRemoveViewers(data: MsgRemoveViewers): EncodeObject;
    msgMakeRoot(data: MsgMakeRoot): EncodeObject;
    msgMakeRootV2(data: MsgMakeRootV2): EncodeObject;
    msgAddEditors(data: MsgAddEditors): EncodeObject;
    msgRemoveEditors(data: MsgRemoveEditors): EncodeObject;
    msgResetEditors(data: MsgResetEditors): EncodeObject;
    msgResetViewers(data: MsgResetViewers): EncodeObject;
    msgChangeOwner(data: MsgChangeOwner): EncodeObject;
}
declare class TxFileTree implements ITxFileTree {
    msgPostFile(data: MsgPostFile): EncodeObject;
    msgAddViewers(data: MsgAddViewers): EncodeObject;
    msgPostkey(data: MsgPostkey): EncodeObject;
    msgDeleteFile(data: MsgDeleteFile): EncodeObject;
    msgRemoveViewers(data: MsgRemoveViewers): EncodeObject;
    msgMakeRoot(data: MsgMakeRoot): EncodeObject;
    msgMakeRootV2(data: MsgMakeRootV2): EncodeObject;
    msgAddEditors(data: MsgAddEditors): EncodeObject;
    msgRemoveEditors(data: MsgRemoveEditors): EncodeObject;
    msgResetEditors(data: MsgResetEditors): EncodeObject;
    msgResetViewers(data: MsgResetViewers): EncodeObject;
    msgChangeOwner(data: MsgChangeOwner): EncodeObject;
}

interface MsgCreateFeed {
    creator: string;
    name: string;
}
declare const MsgCreateFeed: {
    encode(message: MsgCreateFeed, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateFeed;
    fromJSON(object: any): MsgCreateFeed;
    toJSON(message: MsgCreateFeed): unknown;
    create<I extends {
        creator?: string | undefined;
        name?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgCreateFeed>]: never; }>(base?: I | undefined): MsgCreateFeed;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        name?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgCreateFeed>]: never; }>(object: I_1): MsgCreateFeed;
};
interface MsgUpdateFeed {
    creator: string;
    name: string;
    data: string;
}
declare const MsgUpdateFeed: {
    encode(message: MsgUpdateFeed, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateFeed;
    fromJSON(object: any): MsgUpdateFeed;
    toJSON(message: MsgUpdateFeed): unknown;
    create<I extends {
        creator?: string | undefined;
        name?: string | undefined;
        data?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        data?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgUpdateFeed>]: never; }>(base?: I | undefined): MsgUpdateFeed;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        name?: string | undefined;
        data?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        data?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgUpdateFeed>]: never; }>(object: I_1): MsgUpdateFeed;
};

interface ITxOracle {
    msgCreateFeed(data: MsgCreateFeed): EncodeObject;
    msgUpdateFeed(data: MsgUpdateFeed): EncodeObject;
}
declare class TxOracle implements ITxOracle {
    msgCreateFeed(data: MsgCreateFeed): EncodeObject;
    msgUpdateFeed(data: MsgUpdateFeed): EncodeObject;
}

interface MsgRegister {
    creator: string;
    name: string;
    years: string;
    data: string;
}
declare const MsgRegister: {
    encode(message: MsgRegister, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgRegister;
    fromJSON(object: any): MsgRegister;
    toJSON(message: MsgRegister): unknown;
    create<I extends {
        creator?: string | undefined;
        name?: string | undefined;
        years?: string | undefined;
        data?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        years?: string | undefined;
        data?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgRegister>]: never; }>(base?: I | undefined): MsgRegister;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        name?: string | undefined;
        years?: string | undefined;
        data?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        years?: string | undefined;
        data?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgRegister>]: never; }>(object: I_1): MsgRegister;
};
interface MsgUpdate {
    creator: string;
    name: string;
    data: string;
}
declare const MsgUpdate: {
    encode(message: MsgUpdate, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdate;
    fromJSON(object: any): MsgUpdate;
    toJSON(message: MsgUpdate): unknown;
    create<I extends {
        creator?: string | undefined;
        name?: string | undefined;
        data?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        data?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgUpdate>]: never; }>(base?: I | undefined): MsgUpdate;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        name?: string | undefined;
        data?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        data?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgUpdate>]: never; }>(object: I_1): MsgUpdate;
};
interface MsgBid {
    creator: string;
    name: string;
    bid: string;
}
declare const MsgBid: {
    encode(message: MsgBid, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgBid;
    fromJSON(object: any): MsgBid;
    toJSON(message: MsgBid): unknown;
    create<I extends {
        creator?: string | undefined;
        name?: string | undefined;
        bid?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        bid?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgBid>]: never; }>(base?: I | undefined): MsgBid;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        name?: string | undefined;
        bid?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        bid?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgBid>]: never; }>(object: I_1): MsgBid;
};
interface MsgAcceptBid {
    creator: string;
    name: string;
    from: string;
}
declare const MsgAcceptBid: {
    encode(message: MsgAcceptBid, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgAcceptBid;
    fromJSON(object: any): MsgAcceptBid;
    toJSON(message: MsgAcceptBid): unknown;
    create<I extends {
        creator?: string | undefined;
        name?: string | undefined;
        from?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        from?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgAcceptBid>]: never; }>(base?: I | undefined): MsgAcceptBid;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        name?: string | undefined;
        from?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        from?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgAcceptBid>]: never; }>(object: I_1): MsgAcceptBid;
};
interface MsgCancelBid {
    creator: string;
    name: string;
}
declare const MsgCancelBid: {
    encode(message: MsgCancelBid, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgCancelBid;
    fromJSON(object: any): MsgCancelBid;
    toJSON(message: MsgCancelBid): unknown;
    create<I extends {
        creator?: string | undefined;
        name?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgCancelBid>]: never; }>(base?: I | undefined): MsgCancelBid;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        name?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgCancelBid>]: never; }>(object: I_1): MsgCancelBid;
};
interface MsgList {
    creator: string;
    name: string;
    price: string;
}
declare const MsgList: {
    encode(message: MsgList, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgList;
    fromJSON(object: any): MsgList;
    toJSON(message: MsgList): unknown;
    create<I extends {
        creator?: string | undefined;
        name?: string | undefined;
        price?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        price?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgList>]: never; }>(base?: I | undefined): MsgList;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        name?: string | undefined;
        price?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        price?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgList>]: never; }>(object: I_1): MsgList;
};
interface MsgBuy {
    creator: string;
    name: string;
}
declare const MsgBuy: {
    encode(message: MsgBuy, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgBuy;
    fromJSON(object: any): MsgBuy;
    toJSON(message: MsgBuy): unknown;
    create<I extends {
        creator?: string | undefined;
        name?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgBuy>]: never; }>(base?: I | undefined): MsgBuy;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        name?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgBuy>]: never; }>(object: I_1): MsgBuy;
};
interface MsgDelist {
    creator: string;
    name: string;
}
declare const MsgDelist: {
    encode(message: MsgDelist, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgDelist;
    fromJSON(object: any): MsgDelist;
    toJSON(message: MsgDelist): unknown;
    create<I extends {
        creator?: string | undefined;
        name?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgDelist>]: never; }>(base?: I | undefined): MsgDelist;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        name?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgDelist>]: never; }>(object: I_1): MsgDelist;
};
interface MsgTransfer {
    creator: string;
    name: string;
    receiver: string;
}
declare const MsgTransfer: {
    encode(message: MsgTransfer, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgTransfer;
    fromJSON(object: any): MsgTransfer;
    toJSON(message: MsgTransfer): unknown;
    create<I extends {
        creator?: string | undefined;
        name?: string | undefined;
        receiver?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        receiver?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgTransfer>]: never; }>(base?: I | undefined): MsgTransfer;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        name?: string | undefined;
        receiver?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        receiver?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgTransfer>]: never; }>(object: I_1): MsgTransfer;
};
interface MsgAddRecord {
    creator: string;
    name: string;
    value: string;
    data: string;
    record: string;
}
declare const MsgAddRecord: {
    encode(message: MsgAddRecord, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgAddRecord;
    fromJSON(object: any): MsgAddRecord;
    toJSON(message: MsgAddRecord): unknown;
    create<I extends {
        creator?: string | undefined;
        name?: string | undefined;
        value?: string | undefined;
        data?: string | undefined;
        record?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        value?: string | undefined;
        data?: string | undefined;
        record?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgAddRecord>]: never; }>(base?: I | undefined): MsgAddRecord;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        name?: string | undefined;
        value?: string | undefined;
        data?: string | undefined;
        record?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
        value?: string | undefined;
        data?: string | undefined;
        record?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgAddRecord>]: never; }>(object: I_1): MsgAddRecord;
};
interface MsgDelRecord {
    creator: string;
    name: string;
}
declare const MsgDelRecord: {
    encode(message: MsgDelRecord, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgDelRecord;
    fromJSON(object: any): MsgDelRecord;
    toJSON(message: MsgDelRecord): unknown;
    create<I extends {
        creator?: string | undefined;
        name?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgDelRecord>]: never; }>(base?: I | undefined): MsgDelRecord;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        name?: string | undefined;
    } & {
        creator?: string | undefined;
        name?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgDelRecord>]: never; }>(object: I_1): MsgDelRecord;
};
interface MsgInit {
    creator: string;
}
declare const MsgInit: {
    encode(message: MsgInit, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgInit;
    fromJSON(object: any): MsgInit;
    toJSON(message: MsgInit): unknown;
    create<I extends {
        creator?: string | undefined;
    } & {
        creator?: string | undefined;
    } & { [K in Exclude<keyof I, "creator">]: never; }>(base?: I | undefined): MsgInit;
    fromPartial<I_1 extends {
        creator?: string | undefined;
    } & {
        creator?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "creator">]: never; }>(object: I_1): MsgInit;
};

interface ITxRns {
    msgAcceptBid(data: MsgAcceptBid): EncodeObject;
    msgAddRecord(data: MsgAddRecord): EncodeObject;
    msgBid(data: MsgBid): EncodeObject;
    msgBuy(data: MsgBuy): EncodeObject;
    msgCancelBid(data: MsgCancelBid): EncodeObject;
    msgDelist(data: MsgDelist): EncodeObject;
    msgDelRecord(data: MsgDelRecord): EncodeObject;
    msgInit(data: MsgInit): EncodeObject;
    msgList(data: MsgList): EncodeObject;
    msgRegister(data: MsgRegister): EncodeObject;
    msgTransfer(data: MsgTransfer): EncodeObject;
    msgUpdate(data: MsgUpdate): EncodeObject;
}
declare class TxRns implements ITxRns {
    msgAcceptBid(data: MsgAcceptBid): EncodeObject;
    msgAddRecord(data: MsgAddRecord): EncodeObject;
    msgBid(data: MsgBid): EncodeObject;
    msgBuy(data: MsgBuy): EncodeObject;
    msgCancelBid(data: MsgCancelBid): EncodeObject;
    msgDelist(data: MsgDelist): EncodeObject;
    msgDelRecord(data: MsgDelRecord): EncodeObject;
    msgInit(data: MsgInit): EncodeObject;
    msgList(data: MsgList): EncodeObject;
    msgRegister(data: MsgRegister): EncodeObject;
    msgTransfer(data: MsgTransfer): EncodeObject;
    msgUpdate(data: MsgUpdate): EncodeObject;
}

interface MsgPostContract {
    creator: string;
    merkle: string;
    signee: string;
    filesize: string;
    fid: string;
}
declare const MsgPostContract: {
    encode(message: MsgPostContract, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgPostContract;
    fromJSON(object: any): MsgPostContract;
    toJSON(message: MsgPostContract): unknown;
    create<I extends {
        creator?: string | undefined;
        merkle?: string | undefined;
        signee?: string | undefined;
        filesize?: string | undefined;
        fid?: string | undefined;
    } & {
        creator?: string | undefined;
        merkle?: string | undefined;
        signee?: string | undefined;
        filesize?: string | undefined;
        fid?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgPostContract>]: never; }>(base?: I | undefined): MsgPostContract;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        merkle?: string | undefined;
        signee?: string | undefined;
        filesize?: string | undefined;
        fid?: string | undefined;
    } & {
        creator?: string | undefined;
        merkle?: string | undefined;
        signee?: string | undefined;
        filesize?: string | undefined;
        fid?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgPostContract>]: never; }>(object: I_1): MsgPostContract;
};
interface MsgPostproof {
    creator: string;
    item: string;
    hashlist: string;
    cid: string;
}
declare const MsgPostproof: {
    encode(message: MsgPostproof, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgPostproof;
    fromJSON(object: any): MsgPostproof;
    toJSON(message: MsgPostproof): unknown;
    create<I extends {
        creator?: string | undefined;
        item?: string | undefined;
        hashlist?: string | undefined;
        cid?: string | undefined;
    } & {
        creator?: string | undefined;
        item?: string | undefined;
        hashlist?: string | undefined;
        cid?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgPostproof>]: never; }>(base?: I | undefined): MsgPostproof;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        item?: string | undefined;
        hashlist?: string | undefined;
        cid?: string | undefined;
    } & {
        creator?: string | undefined;
        item?: string | undefined;
        hashlist?: string | undefined;
        cid?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgPostproof>]: never; }>(object: I_1): MsgPostproof;
};
interface MsgSignContract {
    creator: string;
    cid: string;
    payOnce: boolean;
}
declare const MsgSignContract: {
    encode(message: MsgSignContract, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgSignContract;
    fromJSON(object: any): MsgSignContract;
    toJSON(message: MsgSignContract): unknown;
    create<I extends {
        creator?: string | undefined;
        cid?: string | undefined;
        payOnce?: boolean | undefined;
    } & {
        creator?: string | undefined;
        cid?: string | undefined;
        payOnce?: boolean | undefined;
    } & { [K in Exclude<keyof I, keyof MsgSignContract>]: never; }>(base?: I | undefined): MsgSignContract;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        cid?: string | undefined;
        payOnce?: boolean | undefined;
    } & {
        creator?: string | undefined;
        cid?: string | undefined;
        payOnce?: boolean | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgSignContract>]: never; }>(object: I_1): MsgSignContract;
};
interface MsgSetProviderIP {
    creator: string;
    ip: string;
}
declare const MsgSetProviderIP: {
    encode(message: MsgSetProviderIP, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgSetProviderIP;
    fromJSON(object: any): MsgSetProviderIP;
    toJSON(message: MsgSetProviderIP): unknown;
    create<I extends {
        creator?: string | undefined;
        ip?: string | undefined;
    } & {
        creator?: string | undefined;
        ip?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgSetProviderIP>]: never; }>(base?: I | undefined): MsgSetProviderIP;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        ip?: string | undefined;
    } & {
        creator?: string | undefined;
        ip?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgSetProviderIP>]: never; }>(object: I_1): MsgSetProviderIP;
};
interface MsgSetProviderKeybase {
    creator: string;
    keybase: string;
}
declare const MsgSetProviderKeybase: {
    encode(message: MsgSetProviderKeybase, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgSetProviderKeybase;
    fromJSON(object: any): MsgSetProviderKeybase;
    toJSON(message: MsgSetProviderKeybase): unknown;
    create<I extends {
        creator?: string | undefined;
        keybase?: string | undefined;
    } & {
        creator?: string | undefined;
        keybase?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgSetProviderKeybase>]: never; }>(base?: I | undefined): MsgSetProviderKeybase;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        keybase?: string | undefined;
    } & {
        creator?: string | undefined;
        keybase?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgSetProviderKeybase>]: never; }>(object: I_1): MsgSetProviderKeybase;
};
interface MsgSetProviderTotalspace {
    creator: string;
    space: string;
}
declare const MsgSetProviderTotalspace: {
    encode(message: MsgSetProviderTotalspace, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgSetProviderTotalspace;
    fromJSON(object: any): MsgSetProviderTotalspace;
    toJSON(message: MsgSetProviderTotalspace): unknown;
    create<I extends {
        creator?: string | undefined;
        space?: string | undefined;
    } & {
        creator?: string | undefined;
        space?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgSetProviderTotalspace>]: never; }>(base?: I | undefined): MsgSetProviderTotalspace;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        space?: string | undefined;
    } & {
        creator?: string | undefined;
        space?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgSetProviderTotalspace>]: never; }>(object: I_1): MsgSetProviderTotalspace;
};
interface MsgAddClaimer {
    creator: string;
    claimAddress: string;
}
declare const MsgAddClaimer: {
    encode(message: MsgAddClaimer, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgAddClaimer;
    fromJSON(object: any): MsgAddClaimer;
    toJSON(message: MsgAddClaimer): unknown;
    create<I extends {
        creator?: string | undefined;
        claimAddress?: string | undefined;
    } & {
        creator?: string | undefined;
        claimAddress?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgAddClaimer>]: never; }>(base?: I | undefined): MsgAddClaimer;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        claimAddress?: string | undefined;
    } & {
        creator?: string | undefined;
        claimAddress?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgAddClaimer>]: never; }>(object: I_1): MsgAddClaimer;
};
interface MsgRemoveClaimer {
    creator: string;
    claimAddress: string;
}
declare const MsgRemoveClaimer: {
    encode(message: MsgRemoveClaimer, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgRemoveClaimer;
    fromJSON(object: any): MsgRemoveClaimer;
    toJSON(message: MsgRemoveClaimer): unknown;
    create<I extends {
        creator?: string | undefined;
        claimAddress?: string | undefined;
    } & {
        creator?: string | undefined;
        claimAddress?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgRemoveClaimer>]: never; }>(base?: I | undefined): MsgRemoveClaimer;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        claimAddress?: string | undefined;
    } & {
        creator?: string | undefined;
        claimAddress?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgRemoveClaimer>]: never; }>(object: I_1): MsgRemoveClaimer;
};
interface MsgInitProvider {
    creator: string;
    ip: string;
    keybase: string;
    totalspace: string;
}
declare const MsgInitProvider: {
    encode(message: MsgInitProvider, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgInitProvider;
    fromJSON(object: any): MsgInitProvider;
    toJSON(message: MsgInitProvider): unknown;
    create<I extends {
        creator?: string | undefined;
        ip?: string | undefined;
        keybase?: string | undefined;
        totalspace?: string | undefined;
    } & {
        creator?: string | undefined;
        ip?: string | undefined;
        keybase?: string | undefined;
        totalspace?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgInitProvider>]: never; }>(base?: I | undefined): MsgInitProvider;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        ip?: string | undefined;
        keybase?: string | undefined;
        totalspace?: string | undefined;
    } & {
        creator?: string | undefined;
        ip?: string | undefined;
        keybase?: string | undefined;
        totalspace?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgInitProvider>]: never; }>(object: I_1): MsgInitProvider;
};
interface MsgCancelContract {
    creator: string;
    cid: string;
}
declare const MsgCancelContract: {
    encode(message: MsgCancelContract, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgCancelContract;
    fromJSON(object: any): MsgCancelContract;
    toJSON(message: MsgCancelContract): unknown;
    create<I extends {
        creator?: string | undefined;
        cid?: string | undefined;
    } & {
        creator?: string | undefined;
        cid?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgCancelContract>]: never; }>(base?: I | undefined): MsgCancelContract;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        cid?: string | undefined;
    } & {
        creator?: string | undefined;
        cid?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgCancelContract>]: never; }>(object: I_1): MsgCancelContract;
};
interface MsgBuyStorage {
    creator: string;
    forAddress: string;
    duration: string;
    bytes: string;
    paymentDenom: string;
}
declare const MsgBuyStorage: {
    encode(message: MsgBuyStorage, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgBuyStorage;
    fromJSON(object: any): MsgBuyStorage;
    toJSON(message: MsgBuyStorage): unknown;
    create<I extends {
        creator?: string | undefined;
        forAddress?: string | undefined;
        duration?: string | undefined;
        bytes?: string | undefined;
        paymentDenom?: string | undefined;
    } & {
        creator?: string | undefined;
        forAddress?: string | undefined;
        duration?: string | undefined;
        bytes?: string | undefined;
        paymentDenom?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgBuyStorage>]: never; }>(base?: I | undefined): MsgBuyStorage;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        forAddress?: string | undefined;
        duration?: string | undefined;
        bytes?: string | undefined;
        paymentDenom?: string | undefined;
    } & {
        creator?: string | undefined;
        forAddress?: string | undefined;
        duration?: string | undefined;
        bytes?: string | undefined;
        paymentDenom?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgBuyStorage>]: never; }>(object: I_1): MsgBuyStorage;
};
interface MsgClaimStray {
    creator: string;
    cid: string;
    forAddress: string;
}
declare const MsgClaimStray: {
    encode(message: MsgClaimStray, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgClaimStray;
    fromJSON(object: any): MsgClaimStray;
    toJSON(message: MsgClaimStray): unknown;
    create<I extends {
        creator?: string | undefined;
        cid?: string | undefined;
        forAddress?: string | undefined;
    } & {
        creator?: string | undefined;
        cid?: string | undefined;
        forAddress?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgClaimStray>]: never; }>(base?: I | undefined): MsgClaimStray;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        cid?: string | undefined;
        forAddress?: string | undefined;
    } & {
        creator?: string | undefined;
        cid?: string | undefined;
        forAddress?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgClaimStray>]: never; }>(object: I_1): MsgClaimStray;
};
interface MsgUpgradeStorage {
    creator: string;
    forAddress: string;
    duration: string;
    bytes: string;
    paymentDenom: string;
}
declare const MsgUpgradeStorage: {
    encode(message: MsgUpgradeStorage, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpgradeStorage;
    fromJSON(object: any): MsgUpgradeStorage;
    toJSON(message: MsgUpgradeStorage): unknown;
    create<I extends {
        creator?: string | undefined;
        forAddress?: string | undefined;
        duration?: string | undefined;
        bytes?: string | undefined;
        paymentDenom?: string | undefined;
    } & {
        creator?: string | undefined;
        forAddress?: string | undefined;
        duration?: string | undefined;
        bytes?: string | undefined;
        paymentDenom?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgUpgradeStorage>]: never; }>(base?: I | undefined): MsgUpgradeStorage;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        forAddress?: string | undefined;
        duration?: string | undefined;
        bytes?: string | undefined;
        paymentDenom?: string | undefined;
    } & {
        creator?: string | undefined;
        forAddress?: string | undefined;
        duration?: string | undefined;
        bytes?: string | undefined;
        paymentDenom?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgUpgradeStorage>]: never; }>(object: I_1): MsgUpgradeStorage;
};

interface ITxStorage {
    msgPostContract(data: MsgPostContract): EncodeObject;
    msgPostproof(data: MsgPostproof): EncodeObject;
    msgSignContract(data: MsgSignContract): EncodeObject;
    msgSetProviderIP(data: MsgSetProviderIP): EncodeObject;
    msgSetProviderKeybase(data: MsgSetProviderKeybase): EncodeObject;
    msgSetProviderTotalspace(data: MsgSetProviderTotalspace): EncodeObject;
    msgInitProvider(data: MsgInitProvider): EncodeObject;
    msgAddClaimer(data: MsgAddClaimer): EncodeObject;
    msgRemoveClaimer(data: MsgRemoveClaimer): EncodeObject;
    msgCancelContract(data: MsgCancelContract): EncodeObject;
    msgBuyStorage(data: MsgBuyStorage): EncodeObject;
    msgClaimStray(data: MsgClaimStray): EncodeObject;
    msgUpgradeStorage(data: MsgUpgradeStorage): EncodeObject;
}
declare class TxStorage implements ITxStorage {
    msgPostContract(data: MsgPostContract): EncodeObject;
    msgPostproof(data: MsgPostproof): EncodeObject;
    msgSignContract(data: MsgSignContract): EncodeObject;
    msgSetProviderIP(data: MsgSetProviderIP): EncodeObject;
    msgSetProviderKeybase(data: MsgSetProviderKeybase): EncodeObject;
    msgSetProviderTotalspace(data: MsgSetProviderTotalspace): EncodeObject;
    msgInitProvider(data: MsgInitProvider): EncodeObject;
    msgAddClaimer(data: MsgAddClaimer): EncodeObject;
    msgRemoveClaimer(data: MsgRemoveClaimer): EncodeObject;
    msgCancelContract(data: MsgCancelContract): EncodeObject;
    msgBuyStorage(data: MsgBuyStorage): EncodeObject;
    msgClaimStray(data: MsgClaimStray): EncodeObject;
    msgUpgradeStorage(data: MsgUpgradeStorage): EncodeObject;
}

/**
 * Coin defines a token with a denomination and an amount.
 *
 * NOTE: The amount field is an Int which implements the custom method
 * signatures required by gogoproto.
 */
interface Coin {
    denom: string;
    amount: string;
}
declare const Coin: {
    encode(message: Coin, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Coin;
    fromJSON(object: any): Coin;
    toJSON(message: Coin): unknown;
    create<I extends {
        denom?: string | undefined;
        amount?: string | undefined;
    } & {
        denom?: string | undefined;
        amount?: string | undefined;
    } & { [K in Exclude<keyof I, keyof Coin>]: never; }>(base?: I | undefined): Coin;
    fromPartial<I_1 extends {
        denom?: string | undefined;
        amount?: string | undefined;
    } & {
        denom?: string | undefined;
        amount?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Coin>]: never; }>(object: I_1): Coin;
};
/**
 * DecCoin defines a token with a denomination and a decimal amount.
 *
 * NOTE: The amount field is an Dec which implements the custom method
 * signatures required by gogoproto.
 */
interface DecCoin {
    denom: string;
    amount: string;
}
declare const DecCoin: {
    encode(message: DecCoin, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DecCoin;
    fromJSON(object: any): DecCoin;
    toJSON(message: DecCoin): unknown;
    create<I extends {
        denom?: string | undefined;
        amount?: string | undefined;
    } & {
        denom?: string | undefined;
        amount?: string | undefined;
    } & { [K in Exclude<keyof I, keyof DecCoin>]: never; }>(base?: I | undefined): DecCoin;
    fromPartial<I_1 extends {
        denom?: string | undefined;
        amount?: string | undefined;
    } & {
        denom?: string | undefined;
        amount?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof DecCoin>]: never; }>(object: I_1): DecCoin;
};

/** Params defines the parameters for the bank module. */
interface Params$9 {
    sendEnabled: SendEnabled[];
    defaultSendEnabled: boolean;
}
declare const Params$9: {
    encode(message: Params$9, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Params$9;
    fromJSON(object: any): Params$9;
    toJSON(message: Params$9): unknown;
    create<I extends {
        sendEnabled?: {
            denom?: string | undefined;
            enabled?: boolean | undefined;
        }[] | undefined;
        defaultSendEnabled?: boolean | undefined;
    } & {
        sendEnabled?: ({
            denom?: string | undefined;
            enabled?: boolean | undefined;
        }[] & ({
            denom?: string | undefined;
            enabled?: boolean | undefined;
        } & {
            denom?: string | undefined;
            enabled?: boolean | undefined;
        } & { [K in Exclude<keyof I["sendEnabled"][number], keyof SendEnabled>]: never; })[] & { [K_1 in Exclude<keyof I["sendEnabled"], keyof {
            denom?: string | undefined;
            enabled?: boolean | undefined;
        }[]>]: never; }) | undefined;
        defaultSendEnabled?: boolean | undefined;
    } & { [K_2 in Exclude<keyof I, keyof Params$9>]: never; }>(base?: I | undefined): Params$9;
    fromPartial<I_1 extends {
        sendEnabled?: {
            denom?: string | undefined;
            enabled?: boolean | undefined;
        }[] | undefined;
        defaultSendEnabled?: boolean | undefined;
    } & {
        sendEnabled?: ({
            denom?: string | undefined;
            enabled?: boolean | undefined;
        }[] & ({
            denom?: string | undefined;
            enabled?: boolean | undefined;
        } & {
            denom?: string | undefined;
            enabled?: boolean | undefined;
        } & { [K_3 in Exclude<keyof I_1["sendEnabled"][number], keyof SendEnabled>]: never; })[] & { [K_4 in Exclude<keyof I_1["sendEnabled"], keyof {
            denom?: string | undefined;
            enabled?: boolean | undefined;
        }[]>]: never; }) | undefined;
        defaultSendEnabled?: boolean | undefined;
    } & { [K_5 in Exclude<keyof I_1, keyof Params$9>]: never; }>(object: I_1): Params$9;
};
/**
 * SendEnabled maps coin denom to a send_enabled status (whether a denom is
 * sendable).
 */
interface SendEnabled {
    denom: string;
    enabled: boolean;
}
declare const SendEnabled: {
    encode(message: SendEnabled, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): SendEnabled;
    fromJSON(object: any): SendEnabled;
    toJSON(message: SendEnabled): unknown;
    create<I extends {
        denom?: string | undefined;
        enabled?: boolean | undefined;
    } & {
        denom?: string | undefined;
        enabled?: boolean | undefined;
    } & { [K in Exclude<keyof I, keyof SendEnabled>]: never; }>(base?: I | undefined): SendEnabled;
    fromPartial<I_1 extends {
        denom?: string | undefined;
        enabled?: boolean | undefined;
    } & {
        denom?: string | undefined;
        enabled?: boolean | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof SendEnabled>]: never; }>(object: I_1): SendEnabled;
};
/** Input models transaction input. */
interface Input {
    address: string;
    coins: Coin[];
}
declare const Input: {
    encode(message: Input, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Input;
    fromJSON(object: any): Input;
    toJSON(message: Input): unknown;
    create<I extends {
        address?: string | undefined;
        coins?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        address?: string | undefined;
        coins?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["coins"][number], keyof Coin>]: never; })[] & { [K_1 in Exclude<keyof I["coins"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof Input>]: never; }>(base?: I | undefined): Input;
    fromPartial<I_1 extends {
        address?: string | undefined;
        coins?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        address?: string | undefined;
        coins?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["coins"][number], keyof Coin>]: never; })[] & { [K_4 in Exclude<keyof I_1["coins"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, keyof Input>]: never; }>(object: I_1): Input;
};
/** Output models transaction outputs. */
interface Output {
    address: string;
    coins: Coin[];
}
declare const Output: {
    encode(message: Output, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Output;
    fromJSON(object: any): Output;
    toJSON(message: Output): unknown;
    create<I extends {
        address?: string | undefined;
        coins?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        address?: string | undefined;
        coins?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["coins"][number], keyof Coin>]: never; })[] & { [K_1 in Exclude<keyof I["coins"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof Output>]: never; }>(base?: I | undefined): Output;
    fromPartial<I_1 extends {
        address?: string | undefined;
        coins?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        address?: string | undefined;
        coins?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["coins"][number], keyof Coin>]: never; })[] & { [K_4 in Exclude<keyof I_1["coins"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, keyof Output>]: never; }>(object: I_1): Output;
};
/**
 * DenomUnit represents a struct that describes a given
 * denomination unit of the basic token.
 */
interface DenomUnit {
    /** denom represents the string name of the given denom unit (e.g uatom). */
    denom: string;
    /**
     * exponent represents power of 10 exponent that one must
     * raise the base_denom to in order to equal the given DenomUnit's denom
     * 1 denom = 1^exponent base_denom
     * (e.g. with a base_denom of uatom, one can create a DenomUnit of 'atom' with
     * exponent = 6, thus: 1 atom = 10^6 uatom).
     */
    exponent: number;
    /** aliases is a list of string aliases for the given denom */
    aliases: string[];
}
declare const DenomUnit: {
    encode(message: DenomUnit, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DenomUnit;
    fromJSON(object: any): DenomUnit;
    toJSON(message: DenomUnit): unknown;
    create<I extends {
        denom?: string | undefined;
        exponent?: number | undefined;
        aliases?: string[] | undefined;
    } & {
        denom?: string | undefined;
        exponent?: number | undefined;
        aliases?: (string[] & string[] & { [K in Exclude<keyof I["aliases"], keyof string[]>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof DenomUnit>]: never; }>(base?: I | undefined): DenomUnit;
    fromPartial<I_1 extends {
        denom?: string | undefined;
        exponent?: number | undefined;
        aliases?: string[] | undefined;
    } & {
        denom?: string | undefined;
        exponent?: number | undefined;
        aliases?: (string[] & string[] & { [K_2 in Exclude<keyof I_1["aliases"], keyof string[]>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof DenomUnit>]: never; }>(object: I_1): DenomUnit;
};
/**
 * Metadata represents a struct that describes
 * a basic token.
 */
interface Metadata {
    description: string;
    /** denom_units represents the list of DenomUnit's for a given coin */
    denomUnits: DenomUnit[];
    /** base represents the base denom (should be the DenomUnit with exponent = 0). */
    base: string;
    /**
     * display indicates the suggested denom that should be
     * displayed in clients.
     */
    display: string;
    /**
     * name defines the name of the token (eg: Cosmos Atom)
     *
     * Since: cosmos-sdk 0.43
     */
    name: string;
    /**
     * symbol is the token symbol usually shown on exchanges (eg: ATOM). This can
     * be the same as the display.
     *
     * Since: cosmos-sdk 0.43
     */
    symbol: string;
}
declare const Metadata: {
    encode(message: Metadata, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Metadata;
    fromJSON(object: any): Metadata;
    toJSON(message: Metadata): unknown;
    create<I extends {
        description?: string | undefined;
        denomUnits?: {
            denom?: string | undefined;
            exponent?: number | undefined;
            aliases?: string[] | undefined;
        }[] | undefined;
        base?: string | undefined;
        display?: string | undefined;
        name?: string | undefined;
        symbol?: string | undefined;
    } & {
        description?: string | undefined;
        denomUnits?: ({
            denom?: string | undefined;
            exponent?: number | undefined;
            aliases?: string[] | undefined;
        }[] & ({
            denom?: string | undefined;
            exponent?: number | undefined;
            aliases?: string[] | undefined;
        } & {
            denom?: string | undefined;
            exponent?: number | undefined;
            aliases?: (string[] & string[] & { [K in Exclude<keyof I["denomUnits"][number]["aliases"], keyof string[]>]: never; }) | undefined;
        } & { [K_1 in Exclude<keyof I["denomUnits"][number], keyof DenomUnit>]: never; })[] & { [K_2 in Exclude<keyof I["denomUnits"], keyof {
            denom?: string | undefined;
            exponent?: number | undefined;
            aliases?: string[] | undefined;
        }[]>]: never; }) | undefined;
        base?: string | undefined;
        display?: string | undefined;
        name?: string | undefined;
        symbol?: string | undefined;
    } & { [K_3 in Exclude<keyof I, keyof Metadata>]: never; }>(base?: I | undefined): Metadata;
    fromPartial<I_1 extends {
        description?: string | undefined;
        denomUnits?: {
            denom?: string | undefined;
            exponent?: number | undefined;
            aliases?: string[] | undefined;
        }[] | undefined;
        base?: string | undefined;
        display?: string | undefined;
        name?: string | undefined;
        symbol?: string | undefined;
    } & {
        description?: string | undefined;
        denomUnits?: ({
            denom?: string | undefined;
            exponent?: number | undefined;
            aliases?: string[] | undefined;
        }[] & ({
            denom?: string | undefined;
            exponent?: number | undefined;
            aliases?: string[] | undefined;
        } & {
            denom?: string | undefined;
            exponent?: number | undefined;
            aliases?: (string[] & string[] & { [K_4 in Exclude<keyof I_1["denomUnits"][number]["aliases"], keyof string[]>]: never; }) | undefined;
        } & { [K_5 in Exclude<keyof I_1["denomUnits"][number], keyof DenomUnit>]: never; })[] & { [K_6 in Exclude<keyof I_1["denomUnits"], keyof {
            denom?: string | undefined;
            exponent?: number | undefined;
            aliases?: string[] | undefined;
        }[]>]: never; }) | undefined;
        base?: string | undefined;
        display?: string | undefined;
        name?: string | undefined;
        symbol?: string | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof Metadata>]: never; }>(object: I_1): Metadata;
};

/** MsgSend represents a message to send coins from one account to another. */
interface MsgSend {
    fromAddress: string;
    toAddress: string;
    amount: Coin[];
}
declare const MsgSend: {
    encode(message: MsgSend, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgSend;
    fromJSON(object: any): MsgSend;
    toJSON(message: MsgSend): unknown;
    create<I extends {
        fromAddress?: string | undefined;
        toAddress?: string | undefined;
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        fromAddress?: string | undefined;
        toAddress?: string | undefined;
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["amount"][number], keyof Coin>]: never; })[] & { [K_1 in Exclude<keyof I["amount"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof MsgSend>]: never; }>(base?: I | undefined): MsgSend;
    fromPartial<I_1 extends {
        fromAddress?: string | undefined;
        toAddress?: string | undefined;
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        fromAddress?: string | undefined;
        toAddress?: string | undefined;
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["amount"][number], keyof Coin>]: never; })[] & { [K_4 in Exclude<keyof I_1["amount"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, keyof MsgSend>]: never; }>(object: I_1): MsgSend;
};
/** MsgMultiSend represents an arbitrary multi-in, multi-out send message. */
interface MsgMultiSend {
    inputs: Input[];
    outputs: Output[];
}
declare const MsgMultiSend: {
    encode(message: MsgMultiSend, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgMultiSend;
    fromJSON(object: any): MsgMultiSend;
    toJSON(message: MsgMultiSend): unknown;
    create<I extends {
        inputs?: {
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        outputs?: {
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] | undefined;
    } & {
        inputs?: ({
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] & ({
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } & {
            address?: string | undefined;
            coins?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K in Exclude<keyof I["inputs"][number]["coins"][number], keyof Coin>]: never; })[] & { [K_1 in Exclude<keyof I["inputs"][number]["coins"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["inputs"][number], keyof Input>]: never; })[] & { [K_3 in Exclude<keyof I["inputs"], keyof {
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        outputs?: ({
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] & ({
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } & {
            address?: string | undefined;
            coins?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_4 in Exclude<keyof I["outputs"][number]["coins"][number], keyof Coin>]: never; })[] & { [K_5 in Exclude<keyof I["outputs"][number]["coins"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_6 in Exclude<keyof I["outputs"][number], keyof Output>]: never; })[] & { [K_7 in Exclude<keyof I["outputs"], keyof {
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_8 in Exclude<keyof I, keyof MsgMultiSend>]: never; }>(base?: I | undefined): MsgMultiSend;
    fromPartial<I_1 extends {
        inputs?: {
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        outputs?: {
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] | undefined;
    } & {
        inputs?: ({
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] & ({
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } & {
            address?: string | undefined;
            coins?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_9 in Exclude<keyof I_1["inputs"][number]["coins"][number], keyof Coin>]: never; })[] & { [K_10 in Exclude<keyof I_1["inputs"][number]["coins"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_11 in Exclude<keyof I_1["inputs"][number], keyof Input>]: never; })[] & { [K_12 in Exclude<keyof I_1["inputs"], keyof {
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        outputs?: ({
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] & ({
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } & {
            address?: string | undefined;
            coins?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_13 in Exclude<keyof I_1["outputs"][number]["coins"][number], keyof Coin>]: never; })[] & { [K_14 in Exclude<keyof I_1["outputs"][number]["coins"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_15 in Exclude<keyof I_1["outputs"][number], keyof Output>]: never; })[] & { [K_16 in Exclude<keyof I_1["outputs"], keyof {
            address?: string | undefined;
            coins?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_17 in Exclude<keyof I_1, keyof MsgMultiSend>]: never; }>(object: I_1): MsgMultiSend;
};

interface ITxBank {
    msgMultiSend(data: MsgMultiSend): EncodeObject;
    msgSend(data: MsgSend): EncodeObject;
}
declare class TxBank implements ITxBank {
    msgMultiSend(data: MsgMultiSend): EncodeObject;
    msgSend(data: MsgSend): EncodeObject;
}

/**
 * MsgSetWithdrawAddress sets the withdraw address for
 * a delegator (or validator self-delegation).
 */
interface MsgSetWithdrawAddress {
    delegatorAddress: string;
    withdrawAddress: string;
}
declare const MsgSetWithdrawAddress: {
    encode(message: MsgSetWithdrawAddress, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgSetWithdrawAddress;
    fromJSON(object: any): MsgSetWithdrawAddress;
    toJSON(message: MsgSetWithdrawAddress): unknown;
    create<I extends {
        delegatorAddress?: string | undefined;
        withdrawAddress?: string | undefined;
    } & {
        delegatorAddress?: string | undefined;
        withdrawAddress?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgSetWithdrawAddress>]: never; }>(base?: I | undefined): MsgSetWithdrawAddress;
    fromPartial<I_1 extends {
        delegatorAddress?: string | undefined;
        withdrawAddress?: string | undefined;
    } & {
        delegatorAddress?: string | undefined;
        withdrawAddress?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgSetWithdrawAddress>]: never; }>(object: I_1): MsgSetWithdrawAddress;
};
/**
 * MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator
 * from a single validator.
 */
interface MsgWithdrawDelegatorReward {
    delegatorAddress: string;
    validatorAddress: string;
}
declare const MsgWithdrawDelegatorReward: {
    encode(message: MsgWithdrawDelegatorReward, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgWithdrawDelegatorReward;
    fromJSON(object: any): MsgWithdrawDelegatorReward;
    toJSON(message: MsgWithdrawDelegatorReward): unknown;
    create<I extends {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgWithdrawDelegatorReward>]: never; }>(base?: I | undefined): MsgWithdrawDelegatorReward;
    fromPartial<I_1 extends {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgWithdrawDelegatorReward>]: never; }>(object: I_1): MsgWithdrawDelegatorReward;
};
/**
 * MsgWithdrawValidatorCommission withdraws the full commission to the validator
 * address.
 */
interface MsgWithdrawValidatorCommission {
    validatorAddress: string;
}
declare const MsgWithdrawValidatorCommission: {
    encode(message: MsgWithdrawValidatorCommission, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgWithdrawValidatorCommission;
    fromJSON(object: any): MsgWithdrawValidatorCommission;
    toJSON(message: MsgWithdrawValidatorCommission): unknown;
    create<I extends {
        validatorAddress?: string | undefined;
    } & {
        validatorAddress?: string | undefined;
    } & { [K in Exclude<keyof I, "validatorAddress">]: never; }>(base?: I | undefined): MsgWithdrawValidatorCommission;
    fromPartial<I_1 extends {
        validatorAddress?: string | undefined;
    } & {
        validatorAddress?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "validatorAddress">]: never; }>(object: I_1): MsgWithdrawValidatorCommission;
};
/**
 * MsgFundCommunityPool allows an account to directly
 * fund the community pool.
 */
interface MsgFundCommunityPool {
    amount: Coin[];
    depositor: string;
}
declare const MsgFundCommunityPool: {
    encode(message: MsgFundCommunityPool, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgFundCommunityPool;
    fromJSON(object: any): MsgFundCommunityPool;
    toJSON(message: MsgFundCommunityPool): unknown;
    create<I extends {
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
        depositor?: string | undefined;
    } & {
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["amount"][number], keyof Coin>]: never; })[] & { [K_1 in Exclude<keyof I["amount"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
        depositor?: string | undefined;
    } & { [K_2 in Exclude<keyof I, keyof MsgFundCommunityPool>]: never; }>(base?: I | undefined): MsgFundCommunityPool;
    fromPartial<I_1 extends {
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
        depositor?: string | undefined;
    } & {
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["amount"][number], keyof Coin>]: never; })[] & { [K_4 in Exclude<keyof I_1["amount"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
        depositor?: string | undefined;
    } & { [K_5 in Exclude<keyof I_1, keyof MsgFundCommunityPool>]: never; }>(object: I_1): MsgFundCommunityPool;
};

interface ITxDistribution {
    msgFundCommunityPool(data: MsgFundCommunityPool): EncodeObject;
    msgSetWithdrawAddress(data: MsgSetWithdrawAddress): EncodeObject;
    msgWithdrawDelegatorReward(data: MsgWithdrawDelegatorReward): EncodeObject;
    msgWithdrawValidatorCommission(data: MsgWithdrawValidatorCommission): EncodeObject;
}
declare class TxDistribution implements ITxDistribution {
    msgFundCommunityPool(data: MsgFundCommunityPool): EncodeObject;
    msgSetWithdrawAddress(data: MsgSetWithdrawAddress): EncodeObject;
    msgWithdrawDelegatorReward(data: MsgWithdrawDelegatorReward): EncodeObject;
    msgWithdrawValidatorCommission(data: MsgWithdrawValidatorCommission): EncodeObject;
}

/**
 * `Any` contains an arbitrary serialized protocol buffer message along with a
 * URL that describes the type of the serialized message.
 *
 * Protobuf library provides support to pack/unpack Any values in the form
 * of utility functions or additional generated methods of the Any type.
 *
 * Example 1: Pack and unpack a message in C++.
 *
 *     Foo foo = ...;
 *     Any any;
 *     any.PackFrom(foo);
 *     ...
 *     if (any.UnpackTo(&foo)) {
 *       ...
 *     }
 *
 * Example 2: Pack and unpack a message in Java.
 *
 *     Foo foo = ...;
 *     Any any = Any.pack(foo);
 *     ...
 *     if (any.is(Foo.class)) {
 *       foo = any.unpack(Foo.class);
 *     }
 *
 * Example 3: Pack and unpack a message in Python.
 *
 *     foo = Foo(...)
 *     any = Any()
 *     any.Pack(foo)
 *     ...
 *     if any.Is(Foo.DESCRIPTOR):
 *       any.Unpack(foo)
 *       ...
 *
 * Example 4: Pack and unpack a message in Go
 *
 *      foo := &pb.Foo{...}
 *      any, err := anypb.New(foo)
 *      if err != nil {
 *        ...
 *      }
 *      ...
 *      foo := &pb.Foo{}
 *      if err := any.UnmarshalTo(foo); err != nil {
 *        ...
 *      }
 *
 * The pack methods provided by protobuf library will by default use
 * 'type.googleapis.com/full.type.name' as the type URL and the unpack
 * methods only use the fully qualified type name after the last '/'
 * in the type URL, for example "foo.bar.com/x/y.z" will yield type
 * name "y.z".
 *
 * JSON
 *
 * The JSON representation of an `Any` value uses the regular
 * representation of the deserialized, embedded message, with an
 * additional field `@type` which contains the type URL. Example:
 *
 *     package google.profile;
 *     message Person {
 *       string first_name = 1;
 *       string last_name = 2;
 *     }
 *
 *     {
 *       "@type": "type.googleapis.com/google.profile.Person",
 *       "firstName": <string>,
 *       "lastName": <string>
 *     }
 *
 * If the embedded message type is well-known and has a custom JSON
 * representation, that representation will be embedded adding a field
 * `value` which holds the custom JSON in addition to the `@type`
 * field. Example (for message [google.protobuf.Duration][]):
 *
 *     {
 *       "@type": "type.googleapis.com/google.protobuf.Duration",
 *       "value": "1.212s"
 *     }
 */
interface Any {
    /**
     * A URL/resource name that uniquely identifies the type of the serialized
     * protocol buffer message. This string must contain at least
     * one "/" character. The last segment of the URL's path must represent
     * the fully qualified name of the type (as in
     * `path/google.protobuf.Duration`). The name should be in a canonical form
     * (e.g., leading "." is not accepted).
     *
     * In practice, teams usually precompile into the binary all types that they
     * expect it to use in the context of Any. However, for URLs which use the
     * scheme `http`, `https`, or no scheme, one can optionally set up a type
     * server that maps type URLs to message definitions as follows:
     *
     * * If no scheme is provided, `https` is assumed.
     * * An HTTP GET on the URL must yield a [google.protobuf.Type][]
     *   value in binary format, or produce an error.
     * * Applications are allowed to cache lookup results based on the
     *   URL, or have them precompiled into a binary to avoid any
     *   lookup. Therefore, binary compatibility needs to be preserved
     *   on changes to types. (Use versioned type names to manage
     *   breaking changes.)
     *
     * Note: this functionality is not currently available in the official
     * protobuf release, and it is not used for type URLs beginning with
     * type.googleapis.com.
     *
     * Schemes other than `http`, `https` (or the empty scheme) might be
     * used with implementation specific semantics.
     */
    typeUrl: string;
    /** Must be a valid serialized protocol buffer of the above specified type. */
    value: Uint8Array;
}
declare const Any: {
    encode(message: Any, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Any;
    fromJSON(object: any): Any;
    toJSON(message: Any): unknown;
    create<I extends {
        typeUrl?: string | undefined;
        value?: Uint8Array | undefined;
    } & {
        typeUrl?: string | undefined;
        value?: Uint8Array | undefined;
    } & { [K in Exclude<keyof I, keyof Any>]: never; }>(base?: I | undefined): Any;
    fromPartial<I_1 extends {
        typeUrl?: string | undefined;
        value?: Uint8Array | undefined;
    } & {
        typeUrl?: string | undefined;
        value?: Uint8Array | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Any>]: never; }>(object: I_1): Any;
};

/**
 * A Duration represents a signed, fixed-length span of time represented
 * as a count of seconds and fractions of seconds at nanosecond
 * resolution. It is independent of any calendar and concepts like "day"
 * or "month". It is related to Timestamp in that the difference between
 * two Timestamp values is a Duration and it can be added or subtracted
 * from a Timestamp. Range is approximately +-10,000 years.
 *
 * # Examples
 *
 * Example 1: Compute Duration from two Timestamps in pseudo code.
 *
 *     Timestamp start = ...;
 *     Timestamp end = ...;
 *     Duration duration = ...;
 *
 *     duration.seconds = end.seconds - start.seconds;
 *     duration.nanos = end.nanos - start.nanos;
 *
 *     if (duration.seconds < 0 && duration.nanos > 0) {
 *       duration.seconds += 1;
 *       duration.nanos -= 1000000000;
 *     } else if (duration.seconds > 0 && duration.nanos < 0) {
 *       duration.seconds -= 1;
 *       duration.nanos += 1000000000;
 *     }
 *
 * Example 2: Compute Timestamp from Timestamp + Duration in pseudo code.
 *
 *     Timestamp start = ...;
 *     Duration duration = ...;
 *     Timestamp end = ...;
 *
 *     end.seconds = start.seconds + duration.seconds;
 *     end.nanos = start.nanos + duration.nanos;
 *
 *     if (end.nanos < 0) {
 *       end.seconds -= 1;
 *       end.nanos += 1000000000;
 *     } else if (end.nanos >= 1000000000) {
 *       end.seconds += 1;
 *       end.nanos -= 1000000000;
 *     }
 *
 * Example 3: Compute Duration from datetime.timedelta in Python.
 *
 *     td = datetime.timedelta(days=3, minutes=10)
 *     duration = Duration()
 *     duration.FromTimedelta(td)
 *
 * # JSON Mapping
 *
 * In JSON format, the Duration type is encoded as a string rather than an
 * object, where the string ends in the suffix "s" (indicating seconds) and
 * is preceded by the number of seconds, with nanoseconds expressed as
 * fractional seconds. For example, 3 seconds with 0 nanoseconds should be
 * encoded in JSON format as "3s", while 3 seconds and 1 nanosecond should
 * be expressed in JSON format as "3.000000001s", and 3 seconds and 1
 * microsecond should be expressed in JSON format as "3.000001s".
 */
interface Duration {
    /**
     * Signed seconds of the span of time. Must be from -315,576,000,000
     * to +315,576,000,000 inclusive. Note: these bounds are computed from:
     * 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
     */
    seconds: number;
    /**
     * Signed fractions of a second at nanosecond resolution of the span
     * of time. Durations less than one second are represented with a 0
     * `seconds` field and a positive or negative `nanos` field. For durations
     * of one second or more, a non-zero value for the `nanos` field must be
     * of the same sign as the `seconds` field. Must be from -999,999,999
     * to +999,999,999 inclusive.
     */
    nanos: number;
}
declare const Duration: {
    encode(message: Duration, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Duration;
    fromJSON(object: any): Duration;
    toJSON(message: Duration): unknown;
    create<I extends {
        seconds?: number | undefined;
        nanos?: number | undefined;
    } & {
        seconds?: number | undefined;
        nanos?: number | undefined;
    } & { [K in Exclude<keyof I, keyof Duration>]: never; }>(base?: I | undefined): Duration;
    fromPartial<I_1 extends {
        seconds?: number | undefined;
        nanos?: number | undefined;
    } & {
        seconds?: number | undefined;
        nanos?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Duration>]: never; }>(object: I_1): Duration;
};

/** VoteOption enumerates the valid vote options for a given governance proposal. */
declare enum VoteOption {
    /** VOTE_OPTION_UNSPECIFIED - VOTE_OPTION_UNSPECIFIED defines a no-op vote option. */
    VOTE_OPTION_UNSPECIFIED = 0,
    /** VOTE_OPTION_YES - VOTE_OPTION_YES defines a yes vote option. */
    VOTE_OPTION_YES = 1,
    /** VOTE_OPTION_ABSTAIN - VOTE_OPTION_ABSTAIN defines an abstain vote option. */
    VOTE_OPTION_ABSTAIN = 2,
    /** VOTE_OPTION_NO - VOTE_OPTION_NO defines a no vote option. */
    VOTE_OPTION_NO = 3,
    /** VOTE_OPTION_NO_WITH_VETO - VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option. */
    VOTE_OPTION_NO_WITH_VETO = 4,
    UNRECOGNIZED = -1
}
/** ProposalStatus enumerates the valid statuses of a proposal. */
declare enum ProposalStatus {
    /** PROPOSAL_STATUS_UNSPECIFIED - PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status. */
    PROPOSAL_STATUS_UNSPECIFIED = 0,
    /**
     * PROPOSAL_STATUS_DEPOSIT_PERIOD - PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit
     * period.
     */
    PROPOSAL_STATUS_DEPOSIT_PERIOD = 1,
    /**
     * PROPOSAL_STATUS_VOTING_PERIOD - PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting
     * period.
     */
    PROPOSAL_STATUS_VOTING_PERIOD = 2,
    /**
     * PROPOSAL_STATUS_PASSED - PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has
     * passed.
     */
    PROPOSAL_STATUS_PASSED = 3,
    /**
     * PROPOSAL_STATUS_REJECTED - PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has
     * been rejected.
     */
    PROPOSAL_STATUS_REJECTED = 4,
    /**
     * PROPOSAL_STATUS_FAILED - PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has
     * failed.
     */
    PROPOSAL_STATUS_FAILED = 5,
    UNRECOGNIZED = -1
}
/**
 * WeightedVoteOption defines a unit of vote for vote split.
 *
 * Since: cosmos-sdk 0.43
 */
interface WeightedVoteOption {
    option: VoteOption;
    weight: string;
}
declare const WeightedVoteOption: {
    encode(message: WeightedVoteOption, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): WeightedVoteOption;
    fromJSON(object: any): WeightedVoteOption;
    toJSON(message: WeightedVoteOption): unknown;
    create<I extends {
        option?: VoteOption | undefined;
        weight?: string | undefined;
    } & {
        option?: VoteOption | undefined;
        weight?: string | undefined;
    } & { [K in Exclude<keyof I, keyof WeightedVoteOption>]: never; }>(base?: I | undefined): WeightedVoteOption;
    fromPartial<I_1 extends {
        option?: VoteOption | undefined;
        weight?: string | undefined;
    } & {
        option?: VoteOption | undefined;
        weight?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof WeightedVoteOption>]: never; }>(object: I_1): WeightedVoteOption;
};
/**
 * Deposit defines an amount deposited by an account address to an active
 * proposal.
 */
interface Deposit {
    proposalId: number;
    depositor: string;
    amount: Coin[];
}
declare const Deposit: {
    encode(message: Deposit, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Deposit;
    fromJSON(object: any): Deposit;
    toJSON(message: Deposit): unknown;
    create<I extends {
        proposalId?: number | undefined;
        depositor?: string | undefined;
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        proposalId?: number | undefined;
        depositor?: string | undefined;
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["amount"][number], keyof Coin>]: never; })[] & { [K_1 in Exclude<keyof I["amount"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof Deposit>]: never; }>(base?: I | undefined): Deposit;
    fromPartial<I_1 extends {
        proposalId?: number | undefined;
        depositor?: string | undefined;
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        proposalId?: number | undefined;
        depositor?: string | undefined;
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["amount"][number], keyof Coin>]: never; })[] & { [K_4 in Exclude<keyof I_1["amount"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, keyof Deposit>]: never; }>(object: I_1): Deposit;
};
/** Proposal defines the core field members of a governance proposal. */
interface Proposal {
    proposalId: number;
    content: Any | undefined;
    status: ProposalStatus;
    finalTallyResult: TallyResult | undefined;
    submitTime: Date | undefined;
    depositEndTime: Date | undefined;
    totalDeposit: Coin[];
    votingStartTime: Date | undefined;
    votingEndTime: Date | undefined;
}
declare const Proposal: {
    encode(message: Proposal, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Proposal;
    fromJSON(object: any): Proposal;
    toJSON(message: Proposal): unknown;
    create<I extends {
        proposalId?: number | undefined;
        content?: {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } | undefined;
        status?: ProposalStatus | undefined;
        finalTallyResult?: {
            yes?: string | undefined;
            abstain?: string | undefined;
            no?: string | undefined;
            noWithVeto?: string | undefined;
        } | undefined;
        submitTime?: Date | undefined;
        depositEndTime?: Date | undefined;
        totalDeposit?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
        votingStartTime?: Date | undefined;
        votingEndTime?: Date | undefined;
    } & {
        proposalId?: number | undefined;
        content?: ({
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & { [K in Exclude<keyof I["content"], keyof Any>]: never; }) | undefined;
        status?: ProposalStatus | undefined;
        finalTallyResult?: ({
            yes?: string | undefined;
            abstain?: string | undefined;
            no?: string | undefined;
            noWithVeto?: string | undefined;
        } & {
            yes?: string | undefined;
            abstain?: string | undefined;
            no?: string | undefined;
            noWithVeto?: string | undefined;
        } & { [K_1 in Exclude<keyof I["finalTallyResult"], keyof TallyResult>]: never; }) | undefined;
        submitTime?: Date | undefined;
        depositEndTime?: Date | undefined;
        totalDeposit?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_2 in Exclude<keyof I["totalDeposit"][number], keyof Coin>]: never; })[] & { [K_3 in Exclude<keyof I["totalDeposit"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
        votingStartTime?: Date | undefined;
        votingEndTime?: Date | undefined;
    } & { [K_4 in Exclude<keyof I, keyof Proposal>]: never; }>(base?: I | undefined): Proposal;
    fromPartial<I_1 extends {
        proposalId?: number | undefined;
        content?: {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } | undefined;
        status?: ProposalStatus | undefined;
        finalTallyResult?: {
            yes?: string | undefined;
            abstain?: string | undefined;
            no?: string | undefined;
            noWithVeto?: string | undefined;
        } | undefined;
        submitTime?: Date | undefined;
        depositEndTime?: Date | undefined;
        totalDeposit?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
        votingStartTime?: Date | undefined;
        votingEndTime?: Date | undefined;
    } & {
        proposalId?: number | undefined;
        content?: ({
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & { [K_5 in Exclude<keyof I_1["content"], keyof Any>]: never; }) | undefined;
        status?: ProposalStatus | undefined;
        finalTallyResult?: ({
            yes?: string | undefined;
            abstain?: string | undefined;
            no?: string | undefined;
            noWithVeto?: string | undefined;
        } & {
            yes?: string | undefined;
            abstain?: string | undefined;
            no?: string | undefined;
            noWithVeto?: string | undefined;
        } & { [K_6 in Exclude<keyof I_1["finalTallyResult"], keyof TallyResult>]: never; }) | undefined;
        submitTime?: Date | undefined;
        depositEndTime?: Date | undefined;
        totalDeposit?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_7 in Exclude<keyof I_1["totalDeposit"][number], keyof Coin>]: never; })[] & { [K_8 in Exclude<keyof I_1["totalDeposit"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
        votingStartTime?: Date | undefined;
        votingEndTime?: Date | undefined;
    } & { [K_9 in Exclude<keyof I_1, keyof Proposal>]: never; }>(object: I_1): Proposal;
};
/** TallyResult defines a standard tally for a governance proposal. */
interface TallyResult {
    yes: string;
    abstain: string;
    no: string;
    noWithVeto: string;
}
declare const TallyResult: {
    encode(message: TallyResult, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): TallyResult;
    fromJSON(object: any): TallyResult;
    toJSON(message: TallyResult): unknown;
    create<I extends {
        yes?: string | undefined;
        abstain?: string | undefined;
        no?: string | undefined;
        noWithVeto?: string | undefined;
    } & {
        yes?: string | undefined;
        abstain?: string | undefined;
        no?: string | undefined;
        noWithVeto?: string | undefined;
    } & { [K in Exclude<keyof I, keyof TallyResult>]: never; }>(base?: I | undefined): TallyResult;
    fromPartial<I_1 extends {
        yes?: string | undefined;
        abstain?: string | undefined;
        no?: string | undefined;
        noWithVeto?: string | undefined;
    } & {
        yes?: string | undefined;
        abstain?: string | undefined;
        no?: string | undefined;
        noWithVeto?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof TallyResult>]: never; }>(object: I_1): TallyResult;
};
/**
 * Vote defines a vote on a governance proposal.
 * A Vote consists of a proposal ID, the voter, and the vote option.
 */
interface Vote {
    proposalId: number;
    voter: string;
    /**
     * Deprecated: Prefer to use `options` instead. This field is set in queries
     * if and only if `len(options) == 1` and that option has weight 1. In all
     * other cases, this field will default to VOTE_OPTION_UNSPECIFIED.
     *
     * @deprecated
     */
    option: VoteOption;
    /** Since: cosmos-sdk 0.43 */
    options: WeightedVoteOption[];
}
declare const Vote: {
    encode(message: Vote, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Vote;
    fromJSON(object: any): Vote;
    toJSON(message: Vote): unknown;
    create<I extends {
        proposalId?: number | undefined;
        voter?: string | undefined;
        option?: VoteOption | undefined;
        options?: {
            option?: VoteOption | undefined;
            weight?: string | undefined;
        }[] | undefined;
    } & {
        proposalId?: number | undefined;
        voter?: string | undefined;
        option?: VoteOption | undefined;
        options?: ({
            option?: VoteOption | undefined;
            weight?: string | undefined;
        }[] & ({
            option?: VoteOption | undefined;
            weight?: string | undefined;
        } & {
            option?: VoteOption | undefined;
            weight?: string | undefined;
        } & { [K in Exclude<keyof I["options"][number], keyof WeightedVoteOption>]: never; })[] & { [K_1 in Exclude<keyof I["options"], keyof {
            option?: VoteOption | undefined;
            weight?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof Vote>]: never; }>(base?: I | undefined): Vote;
    fromPartial<I_1 extends {
        proposalId?: number | undefined;
        voter?: string | undefined;
        option?: VoteOption | undefined;
        options?: {
            option?: VoteOption | undefined;
            weight?: string | undefined;
        }[] | undefined;
    } & {
        proposalId?: number | undefined;
        voter?: string | undefined;
        option?: VoteOption | undefined;
        options?: ({
            option?: VoteOption | undefined;
            weight?: string | undefined;
        }[] & ({
            option?: VoteOption | undefined;
            weight?: string | undefined;
        } & {
            option?: VoteOption | undefined;
            weight?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["options"][number], keyof WeightedVoteOption>]: never; })[] & { [K_4 in Exclude<keyof I_1["options"], keyof {
            option?: VoteOption | undefined;
            weight?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, keyof Vote>]: never; }>(object: I_1): Vote;
};
/** DepositParams defines the params for deposits on governance proposals. */
interface DepositParams {
    /** Minimum deposit for a proposal to enter voting period. */
    minDeposit: Coin[];
    /**
     * Maximum period for Atom holders to deposit on a proposal. Initial value: 2
     *  months.
     */
    maxDepositPeriod: Duration | undefined;
}
declare const DepositParams: {
    encode(message: DepositParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DepositParams;
    fromJSON(object: any): DepositParams;
    toJSON(message: DepositParams): unknown;
    create<I extends {
        minDeposit?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
        maxDepositPeriod?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
    } & {
        minDeposit?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["minDeposit"][number], keyof Coin>]: never; })[] & { [K_1 in Exclude<keyof I["minDeposit"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
        maxDepositPeriod?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & { [K_2 in Exclude<keyof I["maxDepositPeriod"], keyof Duration>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof DepositParams>]: never; }>(base?: I | undefined): DepositParams;
    fromPartial<I_1 extends {
        minDeposit?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
        maxDepositPeriod?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
    } & {
        minDeposit?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["minDeposit"][number], keyof Coin>]: never; })[] & { [K_5 in Exclude<keyof I_1["minDeposit"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
        maxDepositPeriod?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["maxDepositPeriod"], keyof Duration>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof DepositParams>]: never; }>(object: I_1): DepositParams;
};
/** VotingParams defines the params for voting on governance proposals. */
interface VotingParams {
    /** Length of the voting period. */
    votingPeriod: Duration | undefined;
}
declare const VotingParams: {
    encode(message: VotingParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): VotingParams;
    fromJSON(object: any): VotingParams;
    toJSON(message: VotingParams): unknown;
    create<I extends {
        votingPeriod?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
    } & {
        votingPeriod?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & { [K in Exclude<keyof I["votingPeriod"], keyof Duration>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "votingPeriod">]: never; }>(base?: I | undefined): VotingParams;
    fromPartial<I_1 extends {
        votingPeriod?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
    } & {
        votingPeriod?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & { [K_2 in Exclude<keyof I_1["votingPeriod"], keyof Duration>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "votingPeriod">]: never; }>(object: I_1): VotingParams;
};
/** TallyParams defines the params for tallying votes on governance proposals. */
interface TallyParams {
    /**
     * Minimum percentage of total stake needed to vote for a result to be
     *  considered valid.
     */
    quorum: Uint8Array;
    /** Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. */
    threshold: Uint8Array;
    /**
     * Minimum value of Veto votes to Total votes ratio for proposal to be
     *  vetoed. Default value: 1/3.
     */
    vetoThreshold: Uint8Array;
}
declare const TallyParams: {
    encode(message: TallyParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): TallyParams;
    fromJSON(object: any): TallyParams;
    toJSON(message: TallyParams): unknown;
    create<I extends {
        quorum?: Uint8Array | undefined;
        threshold?: Uint8Array | undefined;
        vetoThreshold?: Uint8Array | undefined;
    } & {
        quorum?: Uint8Array | undefined;
        threshold?: Uint8Array | undefined;
        vetoThreshold?: Uint8Array | undefined;
    } & { [K in Exclude<keyof I, keyof TallyParams>]: never; }>(base?: I | undefined): TallyParams;
    fromPartial<I_1 extends {
        quorum?: Uint8Array | undefined;
        threshold?: Uint8Array | undefined;
        vetoThreshold?: Uint8Array | undefined;
    } & {
        quorum?: Uint8Array | undefined;
        threshold?: Uint8Array | undefined;
        vetoThreshold?: Uint8Array | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof TallyParams>]: never; }>(object: I_1): TallyParams;
};

/**
 * MsgSubmitProposal defines an sdk.Msg type that supports submitting arbitrary
 * proposal Content.
 */
interface MsgSubmitProposal {
    content: Any | undefined;
    initialDeposit: Coin[];
    proposer: string;
}
declare const MsgSubmitProposal: {
    encode(message: MsgSubmitProposal, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgSubmitProposal;
    fromJSON(object: any): MsgSubmitProposal;
    toJSON(message: MsgSubmitProposal): unknown;
    create<I extends {
        content?: {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } | undefined;
        initialDeposit?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
        proposer?: string | undefined;
    } & {
        content?: ({
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & { [K in Exclude<keyof I["content"], keyof Any>]: never; }) | undefined;
        initialDeposit?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_1 in Exclude<keyof I["initialDeposit"][number], keyof Coin>]: never; })[] & { [K_2 in Exclude<keyof I["initialDeposit"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
        proposer?: string | undefined;
    } & { [K_3 in Exclude<keyof I, keyof MsgSubmitProposal>]: never; }>(base?: I | undefined): MsgSubmitProposal;
    fromPartial<I_1 extends {
        content?: {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } | undefined;
        initialDeposit?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
        proposer?: string | undefined;
    } & {
        content?: ({
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & { [K_4 in Exclude<keyof I_1["content"], keyof Any>]: never; }) | undefined;
        initialDeposit?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_5 in Exclude<keyof I_1["initialDeposit"][number], keyof Coin>]: never; })[] & { [K_6 in Exclude<keyof I_1["initialDeposit"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
        proposer?: string | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof MsgSubmitProposal>]: never; }>(object: I_1): MsgSubmitProposal;
};
/** MsgVote defines a message to cast a vote. */
interface MsgVote {
    proposalId: number;
    voter: string;
    option: VoteOption;
}
declare const MsgVote: {
    encode(message: MsgVote, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgVote;
    fromJSON(object: any): MsgVote;
    toJSON(message: MsgVote): unknown;
    create<I extends {
        proposalId?: number | undefined;
        voter?: string | undefined;
        option?: VoteOption | undefined;
    } & {
        proposalId?: number | undefined;
        voter?: string | undefined;
        option?: VoteOption | undefined;
    } & { [K in Exclude<keyof I, keyof MsgVote>]: never; }>(base?: I | undefined): MsgVote;
    fromPartial<I_1 extends {
        proposalId?: number | undefined;
        voter?: string | undefined;
        option?: VoteOption | undefined;
    } & {
        proposalId?: number | undefined;
        voter?: string | undefined;
        option?: VoteOption | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgVote>]: never; }>(object: I_1): MsgVote;
};
/**
 * MsgVoteWeighted defines a message to cast a vote.
 *
 * Since: cosmos-sdk 0.43
 */
interface MsgVoteWeighted {
    proposalId: number;
    voter: string;
    options: WeightedVoteOption[];
}
declare const MsgVoteWeighted: {
    encode(message: MsgVoteWeighted, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgVoteWeighted;
    fromJSON(object: any): MsgVoteWeighted;
    toJSON(message: MsgVoteWeighted): unknown;
    create<I extends {
        proposalId?: number | undefined;
        voter?: string | undefined;
        options?: {
            option?: VoteOption | undefined;
            weight?: string | undefined;
        }[] | undefined;
    } & {
        proposalId?: number | undefined;
        voter?: string | undefined;
        options?: ({
            option?: VoteOption | undefined;
            weight?: string | undefined;
        }[] & ({
            option?: VoteOption | undefined;
            weight?: string | undefined;
        } & {
            option?: VoteOption | undefined;
            weight?: string | undefined;
        } & { [K in Exclude<keyof I["options"][number], keyof WeightedVoteOption>]: never; })[] & { [K_1 in Exclude<keyof I["options"], keyof {
            option?: VoteOption | undefined;
            weight?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof MsgVoteWeighted>]: never; }>(base?: I | undefined): MsgVoteWeighted;
    fromPartial<I_1 extends {
        proposalId?: number | undefined;
        voter?: string | undefined;
        options?: {
            option?: VoteOption | undefined;
            weight?: string | undefined;
        }[] | undefined;
    } & {
        proposalId?: number | undefined;
        voter?: string | undefined;
        options?: ({
            option?: VoteOption | undefined;
            weight?: string | undefined;
        }[] & ({
            option?: VoteOption | undefined;
            weight?: string | undefined;
        } & {
            option?: VoteOption | undefined;
            weight?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["options"][number], keyof WeightedVoteOption>]: never; })[] & { [K_4 in Exclude<keyof I_1["options"], keyof {
            option?: VoteOption | undefined;
            weight?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, keyof MsgVoteWeighted>]: never; }>(object: I_1): MsgVoteWeighted;
};
/** MsgDeposit defines a message to submit a deposit to an existing proposal. */
interface MsgDeposit {
    proposalId: number;
    depositor: string;
    amount: Coin[];
}
declare const MsgDeposit: {
    encode(message: MsgDeposit, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgDeposit;
    fromJSON(object: any): MsgDeposit;
    toJSON(message: MsgDeposit): unknown;
    create<I extends {
        proposalId?: number | undefined;
        depositor?: string | undefined;
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        proposalId?: number | undefined;
        depositor?: string | undefined;
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["amount"][number], keyof Coin>]: never; })[] & { [K_1 in Exclude<keyof I["amount"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof MsgDeposit>]: never; }>(base?: I | undefined): MsgDeposit;
    fromPartial<I_1 extends {
        proposalId?: number | undefined;
        depositor?: string | undefined;
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        proposalId?: number | undefined;
        depositor?: string | undefined;
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["amount"][number], keyof Coin>]: never; })[] & { [K_4 in Exclude<keyof I_1["amount"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, keyof MsgDeposit>]: never; }>(object: I_1): MsgDeposit;
};

interface ITxGov {
    msgDeposit(data: MsgDeposit): EncodeObject;
    msgSubmitProposal(data: MsgSubmitProposal): EncodeObject;
    msgVote(data: MsgVote): EncodeObject;
    msgVoteWeighted(data: MsgVoteWeighted): EncodeObject;
}
declare class TxGov implements ITxGov {
    msgDeposit(data: MsgDeposit): EncodeObject;
    msgSubmitProposal(data: MsgSubmitProposal): EncodeObject;
    msgVote(data: MsgVote): EncodeObject;
    msgVoteWeighted(data: MsgVoteWeighted): EncodeObject;
}

/** MsgUnjail defines the Msg/Unjail request type */
interface MsgUnjail {
    validatorAddr: string;
}
declare const MsgUnjail: {
    encode(message: MsgUnjail, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgUnjail;
    fromJSON(object: any): MsgUnjail;
    toJSON(message: MsgUnjail): unknown;
    create<I extends {
        validatorAddr?: string | undefined;
    } & {
        validatorAddr?: string | undefined;
    } & { [K in Exclude<keyof I, "validatorAddr">]: never; }>(base?: I | undefined): MsgUnjail;
    fromPartial<I_1 extends {
        validatorAddr?: string | undefined;
    } & {
        validatorAddr?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "validatorAddr">]: never; }>(object: I_1): MsgUnjail;
};

interface ITxSlashing {
    msgUnjail(data: MsgUnjail): EncodeObject;
}
declare class TxSlashing implements ITxSlashing {
    msgUnjail(data: MsgUnjail): EncodeObject;
}

/** PublicKey defines the keys available for use with Tendermint Validators */
interface PublicKey {
    ed25519?: Uint8Array | undefined;
    secp256k1?: Uint8Array | undefined;
}
declare const PublicKey: {
    encode(message: PublicKey, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PublicKey;
    fromJSON(object: any): PublicKey;
    toJSON(message: PublicKey): unknown;
    create<I extends {
        ed25519?: Uint8Array | undefined;
        secp256k1?: Uint8Array | undefined;
    } & {
        ed25519?: Uint8Array | undefined;
        secp256k1?: Uint8Array | undefined;
    } & { [K in Exclude<keyof I, keyof PublicKey>]: never; }>(base?: I | undefined): PublicKey;
    fromPartial<I_1 extends {
        ed25519?: Uint8Array | undefined;
        secp256k1?: Uint8Array | undefined;
    } & {
        ed25519?: Uint8Array | undefined;
        secp256k1?: Uint8Array | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof PublicKey>]: never; }>(object: I_1): PublicKey;
};

/**
 * ProofOp defines an operation used for calculating Merkle root
 * The data could be arbitrary format, providing nessecary data
 * for example neighbouring node hash
 */
interface ProofOp {
    type: string;
    key: Uint8Array;
    data: Uint8Array;
}
declare const ProofOp: {
    encode(message: ProofOp, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ProofOp;
    fromJSON(object: any): ProofOp;
    toJSON(message: ProofOp): unknown;
    create<I extends {
        type?: string | undefined;
        key?: Uint8Array | undefined;
        data?: Uint8Array | undefined;
    } & {
        type?: string | undefined;
        key?: Uint8Array | undefined;
        data?: Uint8Array | undefined;
    } & { [K in Exclude<keyof I, keyof ProofOp>]: never; }>(base?: I | undefined): ProofOp;
    fromPartial<I_1 extends {
        type?: string | undefined;
        key?: Uint8Array | undefined;
        data?: Uint8Array | undefined;
    } & {
        type?: string | undefined;
        key?: Uint8Array | undefined;
        data?: Uint8Array | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof ProofOp>]: never; }>(object: I_1): ProofOp;
};
/** ProofOps is Merkle proof defined by the list of ProofOps */
interface ProofOps {
    ops: ProofOp[];
}
declare const ProofOps: {
    encode(message: ProofOps, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ProofOps;
    fromJSON(object: any): ProofOps;
    toJSON(message: ProofOps): unknown;
    create<I extends {
        ops?: {
            type?: string | undefined;
            key?: Uint8Array | undefined;
            data?: Uint8Array | undefined;
        }[] | undefined;
    } & {
        ops?: ({
            type?: string | undefined;
            key?: Uint8Array | undefined;
            data?: Uint8Array | undefined;
        }[] & ({
            type?: string | undefined;
            key?: Uint8Array | undefined;
            data?: Uint8Array | undefined;
        } & {
            type?: string | undefined;
            key?: Uint8Array | undefined;
            data?: Uint8Array | undefined;
        } & { [K in Exclude<keyof I["ops"][number], keyof ProofOp>]: never; })[] & { [K_1 in Exclude<keyof I["ops"], keyof {
            type?: string | undefined;
            key?: Uint8Array | undefined;
            data?: Uint8Array | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, "ops">]: never; }>(base?: I | undefined): ProofOps;
    fromPartial<I_1 extends {
        ops?: {
            type?: string | undefined;
            key?: Uint8Array | undefined;
            data?: Uint8Array | undefined;
        }[] | undefined;
    } & {
        ops?: ({
            type?: string | undefined;
            key?: Uint8Array | undefined;
            data?: Uint8Array | undefined;
        }[] & ({
            type?: string | undefined;
            key?: Uint8Array | undefined;
            data?: Uint8Array | undefined;
        } & {
            type?: string | undefined;
            key?: Uint8Array | undefined;
            data?: Uint8Array | undefined;
        } & { [K_3 in Exclude<keyof I_1["ops"][number], keyof ProofOp>]: never; })[] & { [K_4 in Exclude<keyof I_1["ops"], keyof {
            type?: string | undefined;
            key?: Uint8Array | undefined;
            data?: Uint8Array | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, "ops">]: never; }>(object: I_1): ProofOps;
};

/**
 * Consensus captures the consensus rules for processing a block in the blockchain,
 * including all blockchain data structures and the rules of the application's
 * state transition machine.
 */
interface Consensus {
    block: number;
    app: number;
}
declare const Consensus: {
    encode(message: Consensus, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Consensus;
    fromJSON(object: any): Consensus;
    toJSON(message: Consensus): unknown;
    create<I extends {
        block?: number | undefined;
        app?: number | undefined;
    } & {
        block?: number | undefined;
        app?: number | undefined;
    } & { [K in Exclude<keyof I, keyof Consensus>]: never; }>(base?: I | undefined): Consensus;
    fromPartial<I_1 extends {
        block?: number | undefined;
        app?: number | undefined;
    } & {
        block?: number | undefined;
        app?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Consensus>]: never; }>(object: I_1): Consensus;
};

/** PartsetHeader */
interface PartSetHeader {
    total: number;
    hash: Uint8Array;
}
declare const PartSetHeader: {
    encode(message: PartSetHeader, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PartSetHeader;
    fromJSON(object: any): PartSetHeader;
    toJSON(message: PartSetHeader): unknown;
    create<I extends {
        total?: number | undefined;
        hash?: Uint8Array | undefined;
    } & {
        total?: number | undefined;
        hash?: Uint8Array | undefined;
    } & { [K in Exclude<keyof I, keyof PartSetHeader>]: never; }>(base?: I | undefined): PartSetHeader;
    fromPartial<I_1 extends {
        total?: number | undefined;
        hash?: Uint8Array | undefined;
    } & {
        total?: number | undefined;
        hash?: Uint8Array | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof PartSetHeader>]: never; }>(object: I_1): PartSetHeader;
};
/** BlockID */
interface BlockID {
    hash: Uint8Array;
    partSetHeader: PartSetHeader | undefined;
}
declare const BlockID: {
    encode(message: BlockID, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BlockID;
    fromJSON(object: any): BlockID;
    toJSON(message: BlockID): unknown;
    create<I extends {
        hash?: Uint8Array | undefined;
        partSetHeader?: {
            total?: number | undefined;
            hash?: Uint8Array | undefined;
        } | undefined;
    } & {
        hash?: Uint8Array | undefined;
        partSetHeader?: ({
            total?: number | undefined;
            hash?: Uint8Array | undefined;
        } & {
            total?: number | undefined;
            hash?: Uint8Array | undefined;
        } & { [K in Exclude<keyof I["partSetHeader"], keyof PartSetHeader>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof BlockID>]: never; }>(base?: I | undefined): BlockID;
    fromPartial<I_1 extends {
        hash?: Uint8Array | undefined;
        partSetHeader?: {
            total?: number | undefined;
            hash?: Uint8Array | undefined;
        } | undefined;
    } & {
        hash?: Uint8Array | undefined;
        partSetHeader?: ({
            total?: number | undefined;
            hash?: Uint8Array | undefined;
        } & {
            total?: number | undefined;
            hash?: Uint8Array | undefined;
        } & { [K_2 in Exclude<keyof I_1["partSetHeader"], keyof PartSetHeader>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof BlockID>]: never; }>(object: I_1): BlockID;
};
/** Header defines the structure of a Tendermint block header. */
interface Header {
    /** basic block info */
    version: Consensus | undefined;
    chainId: string;
    height: number;
    time: Date | undefined;
    /** prev block info */
    lastBlockId: BlockID | undefined;
    /** hashes of block data */
    lastCommitHash: Uint8Array;
    /** transactions */
    dataHash: Uint8Array;
    /** hashes from the app output from the prev block */
    validatorsHash: Uint8Array;
    /** validators for the next block */
    nextValidatorsHash: Uint8Array;
    /** consensus params for current block */
    consensusHash: Uint8Array;
    /** state after txs from the previous block */
    appHash: Uint8Array;
    /** root hash of all results from the txs from the previous block */
    lastResultsHash: Uint8Array;
    /** consensus info */
    evidenceHash: Uint8Array;
    /** original proposer of the block */
    proposerAddress: Uint8Array;
}
declare const Header: {
    encode(message: Header, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Header;
    fromJSON(object: any): Header;
    toJSON(message: Header): unknown;
    create<I extends {
        version?: {
            block?: number | undefined;
            app?: number | undefined;
        } | undefined;
        chainId?: string | undefined;
        height?: number | undefined;
        time?: Date | undefined;
        lastBlockId?: {
            hash?: Uint8Array | undefined;
            partSetHeader?: {
                total?: number | undefined;
                hash?: Uint8Array | undefined;
            } | undefined;
        } | undefined;
        lastCommitHash?: Uint8Array | undefined;
        dataHash?: Uint8Array | undefined;
        validatorsHash?: Uint8Array | undefined;
        nextValidatorsHash?: Uint8Array | undefined;
        consensusHash?: Uint8Array | undefined;
        appHash?: Uint8Array | undefined;
        lastResultsHash?: Uint8Array | undefined;
        evidenceHash?: Uint8Array | undefined;
        proposerAddress?: Uint8Array | undefined;
    } & {
        version?: ({
            block?: number | undefined;
            app?: number | undefined;
        } & {
            block?: number | undefined;
            app?: number | undefined;
        } & { [K in Exclude<keyof I["version"], keyof Consensus>]: never; }) | undefined;
        chainId?: string | undefined;
        height?: number | undefined;
        time?: Date | undefined;
        lastBlockId?: ({
            hash?: Uint8Array | undefined;
            partSetHeader?: {
                total?: number | undefined;
                hash?: Uint8Array | undefined;
            } | undefined;
        } & {
            hash?: Uint8Array | undefined;
            partSetHeader?: ({
                total?: number | undefined;
                hash?: Uint8Array | undefined;
            } & {
                total?: number | undefined;
                hash?: Uint8Array | undefined;
            } & { [K_1 in Exclude<keyof I["lastBlockId"]["partSetHeader"], keyof PartSetHeader>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["lastBlockId"], keyof BlockID>]: never; }) | undefined;
        lastCommitHash?: Uint8Array | undefined;
        dataHash?: Uint8Array | undefined;
        validatorsHash?: Uint8Array | undefined;
        nextValidatorsHash?: Uint8Array | undefined;
        consensusHash?: Uint8Array | undefined;
        appHash?: Uint8Array | undefined;
        lastResultsHash?: Uint8Array | undefined;
        evidenceHash?: Uint8Array | undefined;
        proposerAddress?: Uint8Array | undefined;
    } & { [K_3 in Exclude<keyof I, keyof Header>]: never; }>(base?: I | undefined): Header;
    fromPartial<I_1 extends {
        version?: {
            block?: number | undefined;
            app?: number | undefined;
        } | undefined;
        chainId?: string | undefined;
        height?: number | undefined;
        time?: Date | undefined;
        lastBlockId?: {
            hash?: Uint8Array | undefined;
            partSetHeader?: {
                total?: number | undefined;
                hash?: Uint8Array | undefined;
            } | undefined;
        } | undefined;
        lastCommitHash?: Uint8Array | undefined;
        dataHash?: Uint8Array | undefined;
        validatorsHash?: Uint8Array | undefined;
        nextValidatorsHash?: Uint8Array | undefined;
        consensusHash?: Uint8Array | undefined;
        appHash?: Uint8Array | undefined;
        lastResultsHash?: Uint8Array | undefined;
        evidenceHash?: Uint8Array | undefined;
        proposerAddress?: Uint8Array | undefined;
    } & {
        version?: ({
            block?: number | undefined;
            app?: number | undefined;
        } & {
            block?: number | undefined;
            app?: number | undefined;
        } & { [K_4 in Exclude<keyof I_1["version"], keyof Consensus>]: never; }) | undefined;
        chainId?: string | undefined;
        height?: number | undefined;
        time?: Date | undefined;
        lastBlockId?: ({
            hash?: Uint8Array | undefined;
            partSetHeader?: {
                total?: number | undefined;
                hash?: Uint8Array | undefined;
            } | undefined;
        } & {
            hash?: Uint8Array | undefined;
            partSetHeader?: ({
                total?: number | undefined;
                hash?: Uint8Array | undefined;
            } & {
                total?: number | undefined;
                hash?: Uint8Array | undefined;
            } & { [K_5 in Exclude<keyof I_1["lastBlockId"]["partSetHeader"], keyof PartSetHeader>]: never; }) | undefined;
        } & { [K_6 in Exclude<keyof I_1["lastBlockId"], keyof BlockID>]: never; }) | undefined;
        lastCommitHash?: Uint8Array | undefined;
        dataHash?: Uint8Array | undefined;
        validatorsHash?: Uint8Array | undefined;
        nextValidatorsHash?: Uint8Array | undefined;
        consensusHash?: Uint8Array | undefined;
        appHash?: Uint8Array | undefined;
        lastResultsHash?: Uint8Array | undefined;
        evidenceHash?: Uint8Array | undefined;
        proposerAddress?: Uint8Array | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof Header>]: never; }>(object: I_1): Header;
};

/** BondStatus is the status of a validator. */
declare enum BondStatus {
    /** BOND_STATUS_UNSPECIFIED - UNSPECIFIED defines an invalid validator status. */
    BOND_STATUS_UNSPECIFIED = 0,
    /** BOND_STATUS_UNBONDED - UNBONDED defines a validator that is not bonded. */
    BOND_STATUS_UNBONDED = 1,
    /** BOND_STATUS_UNBONDING - UNBONDING defines a validator that is unbonding. */
    BOND_STATUS_UNBONDING = 2,
    /** BOND_STATUS_BONDED - BONDED defines a validator that is bonded. */
    BOND_STATUS_BONDED = 3,
    UNRECOGNIZED = -1
}
/**
 * HistoricalInfo contains header and validator information for a given block.
 * It is stored as part of staking module's state, which persists the `n` most
 * recent HistoricalInfo
 * (`n` is set by the staking module's `historical_entries` parameter).
 */
interface HistoricalInfo {
    header: Header | undefined;
    valset: Validator$1[];
}
declare const HistoricalInfo: {
    encode(message: HistoricalInfo, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): HistoricalInfo;
    fromJSON(object: any): HistoricalInfo;
    toJSON(message: HistoricalInfo): unknown;
    create<I extends {
        header?: {
            version?: {
                block?: number | undefined;
                app?: number | undefined;
            } | undefined;
            chainId?: string | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            lastBlockId?: {
                hash?: Uint8Array | undefined;
                partSetHeader?: {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            lastCommitHash?: Uint8Array | undefined;
            dataHash?: Uint8Array | undefined;
            validatorsHash?: Uint8Array | undefined;
            nextValidatorsHash?: Uint8Array | undefined;
            consensusHash?: Uint8Array | undefined;
            appHash?: Uint8Array | undefined;
            lastResultsHash?: Uint8Array | undefined;
            evidenceHash?: Uint8Array | undefined;
            proposerAddress?: Uint8Array | undefined;
        } | undefined;
        valset?: {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[] | undefined;
    } & {
        header?: ({
            version?: {
                block?: number | undefined;
                app?: number | undefined;
            } | undefined;
            chainId?: string | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            lastBlockId?: {
                hash?: Uint8Array | undefined;
                partSetHeader?: {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            lastCommitHash?: Uint8Array | undefined;
            dataHash?: Uint8Array | undefined;
            validatorsHash?: Uint8Array | undefined;
            nextValidatorsHash?: Uint8Array | undefined;
            consensusHash?: Uint8Array | undefined;
            appHash?: Uint8Array | undefined;
            lastResultsHash?: Uint8Array | undefined;
            evidenceHash?: Uint8Array | undefined;
            proposerAddress?: Uint8Array | undefined;
        } & {
            version?: ({
                block?: number | undefined;
                app?: number | undefined;
            } & {
                block?: number | undefined;
                app?: number | undefined;
            } & { [K in Exclude<keyof I["header"]["version"], keyof Consensus>]: never; }) | undefined;
            chainId?: string | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            lastBlockId?: ({
                hash?: Uint8Array | undefined;
                partSetHeader?: {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } | undefined;
            } & {
                hash?: Uint8Array | undefined;
                partSetHeader?: ({
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } & {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } & { [K_1 in Exclude<keyof I["header"]["lastBlockId"]["partSetHeader"], keyof PartSetHeader>]: never; }) | undefined;
            } & { [K_2 in Exclude<keyof I["header"]["lastBlockId"], keyof BlockID>]: never; }) | undefined;
            lastCommitHash?: Uint8Array | undefined;
            dataHash?: Uint8Array | undefined;
            validatorsHash?: Uint8Array | undefined;
            nextValidatorsHash?: Uint8Array | undefined;
            consensusHash?: Uint8Array | undefined;
            appHash?: Uint8Array | undefined;
            lastResultsHash?: Uint8Array | undefined;
            evidenceHash?: Uint8Array | undefined;
            proposerAddress?: Uint8Array | undefined;
        } & { [K_3 in Exclude<keyof I["header"], keyof Header>]: never; }) | undefined;
        valset?: ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[] & ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        } & {
            operatorAddress?: string | undefined;
            consensusPubkey?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_4 in Exclude<keyof I["valset"][number]["consensusPubkey"], keyof Any>]: never; }) | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: ({
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & { [K_5 in Exclude<keyof I["valset"][number]["description"], keyof Description>]: never; }) | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: ({
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } & {
                commissionRates?: ({
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & { [K_6 in Exclude<keyof I["valset"][number]["commission"]["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
                updateTime?: Date | undefined;
            } & { [K_7 in Exclude<keyof I["valset"][number]["commission"], keyof Commission>]: never; }) | undefined;
            minSelfDelegation?: string | undefined;
        } & { [K_8 in Exclude<keyof I["valset"][number], keyof Validator$1>]: never; })[] & { [K_9 in Exclude<keyof I["valset"], keyof {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_10 in Exclude<keyof I, keyof HistoricalInfo>]: never; }>(base?: I | undefined): HistoricalInfo;
    fromPartial<I_1 extends {
        header?: {
            version?: {
                block?: number | undefined;
                app?: number | undefined;
            } | undefined;
            chainId?: string | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            lastBlockId?: {
                hash?: Uint8Array | undefined;
                partSetHeader?: {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            lastCommitHash?: Uint8Array | undefined;
            dataHash?: Uint8Array | undefined;
            validatorsHash?: Uint8Array | undefined;
            nextValidatorsHash?: Uint8Array | undefined;
            consensusHash?: Uint8Array | undefined;
            appHash?: Uint8Array | undefined;
            lastResultsHash?: Uint8Array | undefined;
            evidenceHash?: Uint8Array | undefined;
            proposerAddress?: Uint8Array | undefined;
        } | undefined;
        valset?: {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[] | undefined;
    } & {
        header?: ({
            version?: {
                block?: number | undefined;
                app?: number | undefined;
            } | undefined;
            chainId?: string | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            lastBlockId?: {
                hash?: Uint8Array | undefined;
                partSetHeader?: {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            lastCommitHash?: Uint8Array | undefined;
            dataHash?: Uint8Array | undefined;
            validatorsHash?: Uint8Array | undefined;
            nextValidatorsHash?: Uint8Array | undefined;
            consensusHash?: Uint8Array | undefined;
            appHash?: Uint8Array | undefined;
            lastResultsHash?: Uint8Array | undefined;
            evidenceHash?: Uint8Array | undefined;
            proposerAddress?: Uint8Array | undefined;
        } & {
            version?: ({
                block?: number | undefined;
                app?: number | undefined;
            } & {
                block?: number | undefined;
                app?: number | undefined;
            } & { [K_11 in Exclude<keyof I_1["header"]["version"], keyof Consensus>]: never; }) | undefined;
            chainId?: string | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            lastBlockId?: ({
                hash?: Uint8Array | undefined;
                partSetHeader?: {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } | undefined;
            } & {
                hash?: Uint8Array | undefined;
                partSetHeader?: ({
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } & {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } & { [K_12 in Exclude<keyof I_1["header"]["lastBlockId"]["partSetHeader"], keyof PartSetHeader>]: never; }) | undefined;
            } & { [K_13 in Exclude<keyof I_1["header"]["lastBlockId"], keyof BlockID>]: never; }) | undefined;
            lastCommitHash?: Uint8Array | undefined;
            dataHash?: Uint8Array | undefined;
            validatorsHash?: Uint8Array | undefined;
            nextValidatorsHash?: Uint8Array | undefined;
            consensusHash?: Uint8Array | undefined;
            appHash?: Uint8Array | undefined;
            lastResultsHash?: Uint8Array | undefined;
            evidenceHash?: Uint8Array | undefined;
            proposerAddress?: Uint8Array | undefined;
        } & { [K_14 in Exclude<keyof I_1["header"], keyof Header>]: never; }) | undefined;
        valset?: ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[] & ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        } & {
            operatorAddress?: string | undefined;
            consensusPubkey?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_15 in Exclude<keyof I_1["valset"][number]["consensusPubkey"], keyof Any>]: never; }) | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: ({
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & { [K_16 in Exclude<keyof I_1["valset"][number]["description"], keyof Description>]: never; }) | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: ({
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } & {
                commissionRates?: ({
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & { [K_17 in Exclude<keyof I_1["valset"][number]["commission"]["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
                updateTime?: Date | undefined;
            } & { [K_18 in Exclude<keyof I_1["valset"][number]["commission"], keyof Commission>]: never; }) | undefined;
            minSelfDelegation?: string | undefined;
        } & { [K_19 in Exclude<keyof I_1["valset"][number], keyof Validator$1>]: never; })[] & { [K_20 in Exclude<keyof I_1["valset"], keyof {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_21 in Exclude<keyof I_1, keyof HistoricalInfo>]: never; }>(object: I_1): HistoricalInfo;
};
/**
 * CommissionRates defines the initial commission rates to be used for creating
 * a validator.
 */
interface CommissionRates {
    /** rate is the commission rate charged to delegators, as a fraction. */
    rate: string;
    /** max_rate defines the maximum commission rate which validator can ever charge, as a fraction. */
    maxRate: string;
    /** max_change_rate defines the maximum daily increase of the validator commission, as a fraction. */
    maxChangeRate: string;
}
declare const CommissionRates: {
    encode(message: CommissionRates, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CommissionRates;
    fromJSON(object: any): CommissionRates;
    toJSON(message: CommissionRates): unknown;
    create<I extends {
        rate?: string | undefined;
        maxRate?: string | undefined;
        maxChangeRate?: string | undefined;
    } & {
        rate?: string | undefined;
        maxRate?: string | undefined;
        maxChangeRate?: string | undefined;
    } & { [K in Exclude<keyof I, keyof CommissionRates>]: never; }>(base?: I | undefined): CommissionRates;
    fromPartial<I_1 extends {
        rate?: string | undefined;
        maxRate?: string | undefined;
        maxChangeRate?: string | undefined;
    } & {
        rate?: string | undefined;
        maxRate?: string | undefined;
        maxChangeRate?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof CommissionRates>]: never; }>(object: I_1): CommissionRates;
};
/** Commission defines commission parameters for a given validator. */
interface Commission {
    /** commission_rates defines the initial commission rates to be used for creating a validator. */
    commissionRates: CommissionRates | undefined;
    /** update_time is the last time the commission rate was changed. */
    updateTime: Date | undefined;
}
declare const Commission: {
    encode(message: Commission, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Commission;
    fromJSON(object: any): Commission;
    toJSON(message: Commission): unknown;
    create<I extends {
        commissionRates?: {
            rate?: string | undefined;
            maxRate?: string | undefined;
            maxChangeRate?: string | undefined;
        } | undefined;
        updateTime?: Date | undefined;
    } & {
        commissionRates?: ({
            rate?: string | undefined;
            maxRate?: string | undefined;
            maxChangeRate?: string | undefined;
        } & {
            rate?: string | undefined;
            maxRate?: string | undefined;
            maxChangeRate?: string | undefined;
        } & { [K in Exclude<keyof I["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
        updateTime?: Date | undefined;
    } & { [K_1 in Exclude<keyof I, keyof Commission>]: never; }>(base?: I | undefined): Commission;
    fromPartial<I_1 extends {
        commissionRates?: {
            rate?: string | undefined;
            maxRate?: string | undefined;
            maxChangeRate?: string | undefined;
        } | undefined;
        updateTime?: Date | undefined;
    } & {
        commissionRates?: ({
            rate?: string | undefined;
            maxRate?: string | undefined;
            maxChangeRate?: string | undefined;
        } & {
            rate?: string | undefined;
            maxRate?: string | undefined;
            maxChangeRate?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
        updateTime?: Date | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof Commission>]: never; }>(object: I_1): Commission;
};
/** Description defines a validator description. */
interface Description {
    /** moniker defines a human-readable name for the validator. */
    moniker: string;
    /** identity defines an optional identity signature (ex. UPort or Keybase). */
    identity: string;
    /** website defines an optional website link. */
    website: string;
    /** security_contact defines an optional email for security contact. */
    securityContact: string;
    /** details define other optional details. */
    details: string;
}
declare const Description: {
    encode(message: Description, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Description;
    fromJSON(object: any): Description;
    toJSON(message: Description): unknown;
    create<I extends {
        moniker?: string | undefined;
        identity?: string | undefined;
        website?: string | undefined;
        securityContact?: string | undefined;
        details?: string | undefined;
    } & {
        moniker?: string | undefined;
        identity?: string | undefined;
        website?: string | undefined;
        securityContact?: string | undefined;
        details?: string | undefined;
    } & { [K in Exclude<keyof I, keyof Description>]: never; }>(base?: I | undefined): Description;
    fromPartial<I_1 extends {
        moniker?: string | undefined;
        identity?: string | undefined;
        website?: string | undefined;
        securityContact?: string | undefined;
        details?: string | undefined;
    } & {
        moniker?: string | undefined;
        identity?: string | undefined;
        website?: string | undefined;
        securityContact?: string | undefined;
        details?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Description>]: never; }>(object: I_1): Description;
};
/**
 * Validator defines a validator, together with the total amount of the
 * Validator's bond shares and their exchange rate to coins. Slashing results in
 * a decrease in the exchange rate, allowing correct calculation of future
 * undelegations without iterating over delegators. When coins are delegated to
 * this validator, the validator is credited with a delegation whose number of
 * bond shares is based on the amount of coins delegated divided by the current
 * exchange rate. Voting power can be calculated as total bonded shares
 * multiplied by exchange rate.
 */
interface Validator$1 {
    /** operator_address defines the address of the validator's operator; bech encoded in JSON. */
    operatorAddress: string;
    /** consensus_pubkey is the consensus public key of the validator, as a Protobuf Any. */
    consensusPubkey: Any | undefined;
    /** jailed defined whether the validator has been jailed from bonded status or not. */
    jailed: boolean;
    /** status is the validator status (bonded/unbonding/unbonded). */
    status: BondStatus;
    /** tokens define the delegated tokens (incl. self-delegation). */
    tokens: string;
    /** delegator_shares defines total shares issued to a validator's delegators. */
    delegatorShares: string;
    /** description defines the description terms for the validator. */
    description: Description | undefined;
    /** unbonding_height defines, if unbonding, the height at which this validator has begun unbonding. */
    unbondingHeight: number;
    /** unbonding_time defines, if unbonding, the min time for the validator to complete unbonding. */
    unbondingTime: Date | undefined;
    /** commission defines the commission parameters. */
    commission: Commission | undefined;
    /** min_self_delegation is the validator's self declared minimum self delegation. */
    minSelfDelegation: string;
}
declare const Validator$1: {
    encode(message: Validator$1, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Validator$1;
    fromJSON(object: any): Validator$1;
    toJSON(message: Validator$1): unknown;
    create<I extends {
        operatorAddress?: string | undefined;
        consensusPubkey?: {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } | undefined;
        jailed?: boolean | undefined;
        status?: BondStatus | undefined;
        tokens?: string | undefined;
        delegatorShares?: string | undefined;
        description?: {
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } | undefined;
        unbondingHeight?: number | undefined;
        unbondingTime?: Date | undefined;
        commission?: {
            commissionRates?: {
                rate?: string | undefined;
                maxRate?: string | undefined;
                maxChangeRate?: string | undefined;
            } | undefined;
            updateTime?: Date | undefined;
        } | undefined;
        minSelfDelegation?: string | undefined;
    } & {
        operatorAddress?: string | undefined;
        consensusPubkey?: ({
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & { [K in Exclude<keyof I["consensusPubkey"], keyof Any>]: never; }) | undefined;
        jailed?: boolean | undefined;
        status?: BondStatus | undefined;
        tokens?: string | undefined;
        delegatorShares?: string | undefined;
        description?: ({
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } & {
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } & { [K_1 in Exclude<keyof I["description"], keyof Description>]: never; }) | undefined;
        unbondingHeight?: number | undefined;
        unbondingTime?: Date | undefined;
        commission?: ({
            commissionRates?: {
                rate?: string | undefined;
                maxRate?: string | undefined;
                maxChangeRate?: string | undefined;
            } | undefined;
            updateTime?: Date | undefined;
        } & {
            commissionRates?: ({
                rate?: string | undefined;
                maxRate?: string | undefined;
                maxChangeRate?: string | undefined;
            } & {
                rate?: string | undefined;
                maxRate?: string | undefined;
                maxChangeRate?: string | undefined;
            } & { [K_2 in Exclude<keyof I["commission"]["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
            updateTime?: Date | undefined;
        } & { [K_3 in Exclude<keyof I["commission"], keyof Commission>]: never; }) | undefined;
        minSelfDelegation?: string | undefined;
    } & { [K_4 in Exclude<keyof I, keyof Validator$1>]: never; }>(base?: I | undefined): Validator$1;
    fromPartial<I_1 extends {
        operatorAddress?: string | undefined;
        consensusPubkey?: {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } | undefined;
        jailed?: boolean | undefined;
        status?: BondStatus | undefined;
        tokens?: string | undefined;
        delegatorShares?: string | undefined;
        description?: {
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } | undefined;
        unbondingHeight?: number | undefined;
        unbondingTime?: Date | undefined;
        commission?: {
            commissionRates?: {
                rate?: string | undefined;
                maxRate?: string | undefined;
                maxChangeRate?: string | undefined;
            } | undefined;
            updateTime?: Date | undefined;
        } | undefined;
        minSelfDelegation?: string | undefined;
    } & {
        operatorAddress?: string | undefined;
        consensusPubkey?: ({
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & { [K_5 in Exclude<keyof I_1["consensusPubkey"], keyof Any>]: never; }) | undefined;
        jailed?: boolean | undefined;
        status?: BondStatus | undefined;
        tokens?: string | undefined;
        delegatorShares?: string | undefined;
        description?: ({
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } & {
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } & { [K_6 in Exclude<keyof I_1["description"], keyof Description>]: never; }) | undefined;
        unbondingHeight?: number | undefined;
        unbondingTime?: Date | undefined;
        commission?: ({
            commissionRates?: {
                rate?: string | undefined;
                maxRate?: string | undefined;
                maxChangeRate?: string | undefined;
            } | undefined;
            updateTime?: Date | undefined;
        } & {
            commissionRates?: ({
                rate?: string | undefined;
                maxRate?: string | undefined;
                maxChangeRate?: string | undefined;
            } & {
                rate?: string | undefined;
                maxRate?: string | undefined;
                maxChangeRate?: string | undefined;
            } & { [K_7 in Exclude<keyof I_1["commission"]["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
            updateTime?: Date | undefined;
        } & { [K_8 in Exclude<keyof I_1["commission"], keyof Commission>]: never; }) | undefined;
        minSelfDelegation?: string | undefined;
    } & { [K_9 in Exclude<keyof I_1, keyof Validator$1>]: never; }>(object: I_1): Validator$1;
};
/**
 * Delegation represents the bond with tokens held by an account. It is
 * owned by one delegator, and is associated with the voting power of one
 * validator.
 */
interface Delegation {
    /** delegator_address is the bech32-encoded address of the delegator. */
    delegatorAddress: string;
    /** validator_address is the bech32-encoded address of the validator. */
    validatorAddress: string;
    /** shares define the delegation shares received. */
    shares: string;
}
declare const Delegation: {
    encode(message: Delegation, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Delegation;
    fromJSON(object: any): Delegation;
    toJSON(message: Delegation): unknown;
    create<I extends {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        shares?: string | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        shares?: string | undefined;
    } & { [K in Exclude<keyof I, keyof Delegation>]: never; }>(base?: I | undefined): Delegation;
    fromPartial<I_1 extends {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        shares?: string | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        shares?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Delegation>]: never; }>(object: I_1): Delegation;
};
/**
 * UnbondingDelegation stores all of a single delegator's unbonding bonds
 * for a single validator in an time-ordered list.
 */
interface UnbondingDelegation {
    /** delegator_address is the bech32-encoded address of the delegator. */
    delegatorAddress: string;
    /** validator_address is the bech32-encoded address of the validator. */
    validatorAddress: string;
    /** entries are the unbonding delegation entries. */
    entries: UnbondingDelegationEntry[];
}
declare const UnbondingDelegation: {
    encode(message: UnbondingDelegation, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UnbondingDelegation;
    fromJSON(object: any): UnbondingDelegation;
    toJSON(message: UnbondingDelegation): unknown;
    create<I extends {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        entries?: {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            balance?: string | undefined;
        }[] | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        entries?: ({
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            balance?: string | undefined;
        }[] & ({
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            balance?: string | undefined;
        } & {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            balance?: string | undefined;
        } & { [K in Exclude<keyof I["entries"][number], keyof UnbondingDelegationEntry>]: never; })[] & { [K_1 in Exclude<keyof I["entries"], keyof {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            balance?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof UnbondingDelegation>]: never; }>(base?: I | undefined): UnbondingDelegation;
    fromPartial<I_1 extends {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        entries?: {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            balance?: string | undefined;
        }[] | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        entries?: ({
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            balance?: string | undefined;
        }[] & ({
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            balance?: string | undefined;
        } & {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            balance?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["entries"][number], keyof UnbondingDelegationEntry>]: never; })[] & { [K_4 in Exclude<keyof I_1["entries"], keyof {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            balance?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, keyof UnbondingDelegation>]: never; }>(object: I_1): UnbondingDelegation;
};
/** UnbondingDelegationEntry defines an unbonding object with relevant metadata. */
interface UnbondingDelegationEntry {
    /** creation_height is the height which the unbonding took place. */
    creationHeight: number;
    /** completion_time is the unix time for unbonding completion. */
    completionTime: Date | undefined;
    /** initial_balance defines the tokens initially scheduled to receive at completion. */
    initialBalance: string;
    /** balance defines the tokens to receive at completion. */
    balance: string;
}
declare const UnbondingDelegationEntry: {
    encode(message: UnbondingDelegationEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): UnbondingDelegationEntry;
    fromJSON(object: any): UnbondingDelegationEntry;
    toJSON(message: UnbondingDelegationEntry): unknown;
    create<I extends {
        creationHeight?: number | undefined;
        completionTime?: Date | undefined;
        initialBalance?: string | undefined;
        balance?: string | undefined;
    } & {
        creationHeight?: number | undefined;
        completionTime?: Date | undefined;
        initialBalance?: string | undefined;
        balance?: string | undefined;
    } & { [K in Exclude<keyof I, keyof UnbondingDelegationEntry>]: never; }>(base?: I | undefined): UnbondingDelegationEntry;
    fromPartial<I_1 extends {
        creationHeight?: number | undefined;
        completionTime?: Date | undefined;
        initialBalance?: string | undefined;
        balance?: string | undefined;
    } & {
        creationHeight?: number | undefined;
        completionTime?: Date | undefined;
        initialBalance?: string | undefined;
        balance?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof UnbondingDelegationEntry>]: never; }>(object: I_1): UnbondingDelegationEntry;
};
/** RedelegationEntry defines a redelegation object with relevant metadata. */
interface RedelegationEntry {
    /** creation_height  defines the height which the redelegation took place. */
    creationHeight: number;
    /** completion_time defines the unix time for redelegation completion. */
    completionTime: Date | undefined;
    /** initial_balance defines the initial balance when redelegation started. */
    initialBalance: string;
    /** shares_dst is the amount of destination-validator shares created by redelegation. */
    sharesDst: string;
}
declare const RedelegationEntry: {
    encode(message: RedelegationEntry, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RedelegationEntry;
    fromJSON(object: any): RedelegationEntry;
    toJSON(message: RedelegationEntry): unknown;
    create<I extends {
        creationHeight?: number | undefined;
        completionTime?: Date | undefined;
        initialBalance?: string | undefined;
        sharesDst?: string | undefined;
    } & {
        creationHeight?: number | undefined;
        completionTime?: Date | undefined;
        initialBalance?: string | undefined;
        sharesDst?: string | undefined;
    } & { [K in Exclude<keyof I, keyof RedelegationEntry>]: never; }>(base?: I | undefined): RedelegationEntry;
    fromPartial<I_1 extends {
        creationHeight?: number | undefined;
        completionTime?: Date | undefined;
        initialBalance?: string | undefined;
        sharesDst?: string | undefined;
    } & {
        creationHeight?: number | undefined;
        completionTime?: Date | undefined;
        initialBalance?: string | undefined;
        sharesDst?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof RedelegationEntry>]: never; }>(object: I_1): RedelegationEntry;
};
/**
 * Redelegation contains the list of a particular delegator's redelegating bonds
 * from a particular source validator to a particular destination validator.
 */
interface Redelegation {
    /** delegator_address is the bech32-encoded address of the delegator. */
    delegatorAddress: string;
    /** validator_src_address is the validator redelegation source operator address. */
    validatorSrcAddress: string;
    /** validator_dst_address is the validator redelegation destination operator address. */
    validatorDstAddress: string;
    /** entries are the redelegation entries. */
    entries: RedelegationEntry[];
}
declare const Redelegation: {
    encode(message: Redelegation, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Redelegation;
    fromJSON(object: any): Redelegation;
    toJSON(message: Redelegation): unknown;
    create<I extends {
        delegatorAddress?: string | undefined;
        validatorSrcAddress?: string | undefined;
        validatorDstAddress?: string | undefined;
        entries?: {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        }[] | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorSrcAddress?: string | undefined;
        validatorDstAddress?: string | undefined;
        entries?: ({
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        }[] & ({
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        } & {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        } & { [K in Exclude<keyof I["entries"][number], keyof RedelegationEntry>]: never; })[] & { [K_1 in Exclude<keyof I["entries"], keyof {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof Redelegation>]: never; }>(base?: I | undefined): Redelegation;
    fromPartial<I_1 extends {
        delegatorAddress?: string | undefined;
        validatorSrcAddress?: string | undefined;
        validatorDstAddress?: string | undefined;
        entries?: {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        }[] | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorSrcAddress?: string | undefined;
        validatorDstAddress?: string | undefined;
        entries?: ({
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        }[] & ({
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        } & {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["entries"][number], keyof RedelegationEntry>]: never; })[] & { [K_4 in Exclude<keyof I_1["entries"], keyof {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, keyof Redelegation>]: never; }>(object: I_1): Redelegation;
};
/** Params defines the parameters for the staking module. */
interface Params$8 {
    /** unbonding_time is the time duration of unbonding. */
    unbondingTime: Duration | undefined;
    /** max_validators is the maximum number of validators. */
    maxValidators: number;
    /** max_entries is the max entries for either unbonding delegation or redelegation (per pair/trio). */
    maxEntries: number;
    /** historical_entries is the number of historical entries to persist. */
    historicalEntries: number;
    /** bond_denom defines the bondable coin denomination. */
    bondDenom: string;
}
declare const Params$8: {
    encode(message: Params$8, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Params$8;
    fromJSON(object: any): Params$8;
    toJSON(message: Params$8): unknown;
    create<I extends {
        unbondingTime?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
        maxValidators?: number | undefined;
        maxEntries?: number | undefined;
        historicalEntries?: number | undefined;
        bondDenom?: string | undefined;
    } & {
        unbondingTime?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & { [K in Exclude<keyof I["unbondingTime"], keyof Duration>]: never; }) | undefined;
        maxValidators?: number | undefined;
        maxEntries?: number | undefined;
        historicalEntries?: number | undefined;
        bondDenom?: string | undefined;
    } & { [K_1 in Exclude<keyof I, keyof Params$8>]: never; }>(base?: I | undefined): Params$8;
    fromPartial<I_1 extends {
        unbondingTime?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
        maxValidators?: number | undefined;
        maxEntries?: number | undefined;
        historicalEntries?: number | undefined;
        bondDenom?: string | undefined;
    } & {
        unbondingTime?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & { [K_2 in Exclude<keyof I_1["unbondingTime"], keyof Duration>]: never; }) | undefined;
        maxValidators?: number | undefined;
        maxEntries?: number | undefined;
        historicalEntries?: number | undefined;
        bondDenom?: string | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof Params$8>]: never; }>(object: I_1): Params$8;
};
/**
 * DelegationResponse is equivalent to Delegation except that it contains a
 * balance in addition to shares which is more suitable for client responses.
 */
interface DelegationResponse {
    delegation: Delegation | undefined;
    balance: Coin | undefined;
}
declare const DelegationResponse: {
    encode(message: DelegationResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DelegationResponse;
    fromJSON(object: any): DelegationResponse;
    toJSON(message: DelegationResponse): unknown;
    create<I extends {
        delegation?: {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            shares?: string | undefined;
        } | undefined;
        balance?: {
            denom?: string | undefined;
            amount?: string | undefined;
        } | undefined;
    } & {
        delegation?: ({
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            shares?: string | undefined;
        } & {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            shares?: string | undefined;
        } & { [K in Exclude<keyof I["delegation"], keyof Delegation>]: never; }) | undefined;
        balance?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_1 in Exclude<keyof I["balance"], keyof Coin>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof DelegationResponse>]: never; }>(base?: I | undefined): DelegationResponse;
    fromPartial<I_1 extends {
        delegation?: {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            shares?: string | undefined;
        } | undefined;
        balance?: {
            denom?: string | undefined;
            amount?: string | undefined;
        } | undefined;
    } & {
        delegation?: ({
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            shares?: string | undefined;
        } & {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            shares?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["delegation"], keyof Delegation>]: never; }) | undefined;
        balance?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["balance"], keyof Coin>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, keyof DelegationResponse>]: never; }>(object: I_1): DelegationResponse;
};
/**
 * RedelegationEntryResponse is equivalent to a RedelegationEntry except that it
 * contains a balance in addition to shares which is more suitable for client
 * responses.
 */
interface RedelegationEntryResponse {
    redelegationEntry: RedelegationEntry | undefined;
    balance: string;
}
declare const RedelegationEntryResponse: {
    encode(message: RedelegationEntryResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RedelegationEntryResponse;
    fromJSON(object: any): RedelegationEntryResponse;
    toJSON(message: RedelegationEntryResponse): unknown;
    create<I extends {
        redelegationEntry?: {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        } | undefined;
        balance?: string | undefined;
    } & {
        redelegationEntry?: ({
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        } & {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        } & { [K in Exclude<keyof I["redelegationEntry"], keyof RedelegationEntry>]: never; }) | undefined;
        balance?: string | undefined;
    } & { [K_1 in Exclude<keyof I, keyof RedelegationEntryResponse>]: never; }>(base?: I | undefined): RedelegationEntryResponse;
    fromPartial<I_1 extends {
        redelegationEntry?: {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        } | undefined;
        balance?: string | undefined;
    } & {
        redelegationEntry?: ({
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        } & {
            creationHeight?: number | undefined;
            completionTime?: Date | undefined;
            initialBalance?: string | undefined;
            sharesDst?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["redelegationEntry"], keyof RedelegationEntry>]: never; }) | undefined;
        balance?: string | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof RedelegationEntryResponse>]: never; }>(object: I_1): RedelegationEntryResponse;
};
/**
 * RedelegationResponse is equivalent to a Redelegation except that its entries
 * contain a balance in addition to shares which is more suitable for client
 * responses.
 */
interface RedelegationResponse {
    redelegation: Redelegation | undefined;
    entries: RedelegationEntryResponse[];
}
declare const RedelegationResponse: {
    encode(message: RedelegationResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RedelegationResponse;
    fromJSON(object: any): RedelegationResponse;
    toJSON(message: RedelegationResponse): unknown;
    create<I extends {
        redelegation?: {
            delegatorAddress?: string | undefined;
            validatorSrcAddress?: string | undefined;
            validatorDstAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            }[] | undefined;
        } | undefined;
        entries?: {
            redelegationEntry?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } | undefined;
            balance?: string | undefined;
        }[] | undefined;
    } & {
        redelegation?: ({
            delegatorAddress?: string | undefined;
            validatorSrcAddress?: string | undefined;
            validatorDstAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            }[] | undefined;
        } & {
            delegatorAddress?: string | undefined;
            validatorSrcAddress?: string | undefined;
            validatorDstAddress?: string | undefined;
            entries?: ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            }[] & ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } & {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } & { [K in Exclude<keyof I["redelegation"]["entries"][number], keyof RedelegationEntry>]: never; })[] & { [K_1 in Exclude<keyof I["redelegation"]["entries"], keyof {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["redelegation"], keyof Redelegation>]: never; }) | undefined;
        entries?: ({
            redelegationEntry?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } | undefined;
            balance?: string | undefined;
        }[] & ({
            redelegationEntry?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } | undefined;
            balance?: string | undefined;
        } & {
            redelegationEntry?: ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } & {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } & { [K_3 in Exclude<keyof I["entries"][number]["redelegationEntry"], keyof RedelegationEntry>]: never; }) | undefined;
            balance?: string | undefined;
        } & { [K_4 in Exclude<keyof I["entries"][number], keyof RedelegationEntryResponse>]: never; })[] & { [K_5 in Exclude<keyof I["entries"], keyof {
            redelegationEntry?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } | undefined;
            balance?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, keyof RedelegationResponse>]: never; }>(base?: I | undefined): RedelegationResponse;
    fromPartial<I_1 extends {
        redelegation?: {
            delegatorAddress?: string | undefined;
            validatorSrcAddress?: string | undefined;
            validatorDstAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            }[] | undefined;
        } | undefined;
        entries?: {
            redelegationEntry?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } | undefined;
            balance?: string | undefined;
        }[] | undefined;
    } & {
        redelegation?: ({
            delegatorAddress?: string | undefined;
            validatorSrcAddress?: string | undefined;
            validatorDstAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            }[] | undefined;
        } & {
            delegatorAddress?: string | undefined;
            validatorSrcAddress?: string | undefined;
            validatorDstAddress?: string | undefined;
            entries?: ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            }[] & ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } & {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } & { [K_7 in Exclude<keyof I_1["redelegation"]["entries"][number], keyof RedelegationEntry>]: never; })[] & { [K_8 in Exclude<keyof I_1["redelegation"]["entries"], keyof {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_9 in Exclude<keyof I_1["redelegation"], keyof Redelegation>]: never; }) | undefined;
        entries?: ({
            redelegationEntry?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } | undefined;
            balance?: string | undefined;
        }[] & ({
            redelegationEntry?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } | undefined;
            balance?: string | undefined;
        } & {
            redelegationEntry?: ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } & {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } & { [K_10 in Exclude<keyof I_1["entries"][number]["redelegationEntry"], keyof RedelegationEntry>]: never; }) | undefined;
            balance?: string | undefined;
        } & { [K_11 in Exclude<keyof I_1["entries"][number], keyof RedelegationEntryResponse>]: never; })[] & { [K_12 in Exclude<keyof I_1["entries"], keyof {
            redelegationEntry?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                sharesDst?: string | undefined;
            } | undefined;
            balance?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_13 in Exclude<keyof I_1, keyof RedelegationResponse>]: never; }>(object: I_1): RedelegationResponse;
};
/**
 * Pool is used for tracking bonded and not-bonded token supply of the bond
 * denomination.
 */
interface Pool {
    notBondedTokens: string;
    bondedTokens: string;
}
declare const Pool: {
    encode(message: Pool, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Pool;
    fromJSON(object: any): Pool;
    toJSON(message: Pool): unknown;
    create<I extends {
        notBondedTokens?: string | undefined;
        bondedTokens?: string | undefined;
    } & {
        notBondedTokens?: string | undefined;
        bondedTokens?: string | undefined;
    } & { [K in Exclude<keyof I, keyof Pool>]: never; }>(base?: I | undefined): Pool;
    fromPartial<I_1 extends {
        notBondedTokens?: string | undefined;
        bondedTokens?: string | undefined;
    } & {
        notBondedTokens?: string | undefined;
        bondedTokens?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Pool>]: never; }>(object: I_1): Pool;
};

/** MsgCreateValidator defines a SDK message for creating a new validator. */
interface MsgCreateValidator {
    description: Description | undefined;
    commission: CommissionRates | undefined;
    minSelfDelegation: string;
    delegatorAddress: string;
    validatorAddress: string;
    pubkey: Any | undefined;
    value: Coin | undefined;
}
declare const MsgCreateValidator: {
    encode(message: MsgCreateValidator, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateValidator;
    fromJSON(object: any): MsgCreateValidator;
    toJSON(message: MsgCreateValidator): unknown;
    create<I extends {
        description?: {
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } | undefined;
        commission?: {
            rate?: string | undefined;
            maxRate?: string | undefined;
            maxChangeRate?: string | undefined;
        } | undefined;
        minSelfDelegation?: string | undefined;
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        pubkey?: {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } | undefined;
        value?: {
            denom?: string | undefined;
            amount?: string | undefined;
        } | undefined;
    } & {
        description?: ({
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } & {
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } & { [K in Exclude<keyof I["description"], keyof Description>]: never; }) | undefined;
        commission?: ({
            rate?: string | undefined;
            maxRate?: string | undefined;
            maxChangeRate?: string | undefined;
        } & {
            rate?: string | undefined;
            maxRate?: string | undefined;
            maxChangeRate?: string | undefined;
        } & { [K_1 in Exclude<keyof I["commission"], keyof CommissionRates>]: never; }) | undefined;
        minSelfDelegation?: string | undefined;
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        pubkey?: ({
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & { [K_2 in Exclude<keyof I["pubkey"], keyof Any>]: never; }) | undefined;
        value?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_3 in Exclude<keyof I["value"], keyof Coin>]: never; }) | undefined;
    } & { [K_4 in Exclude<keyof I, keyof MsgCreateValidator>]: never; }>(base?: I | undefined): MsgCreateValidator;
    fromPartial<I_1 extends {
        description?: {
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } | undefined;
        commission?: {
            rate?: string | undefined;
            maxRate?: string | undefined;
            maxChangeRate?: string | undefined;
        } | undefined;
        minSelfDelegation?: string | undefined;
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        pubkey?: {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } | undefined;
        value?: {
            denom?: string | undefined;
            amount?: string | undefined;
        } | undefined;
    } & {
        description?: ({
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } & {
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } & { [K_5 in Exclude<keyof I_1["description"], keyof Description>]: never; }) | undefined;
        commission?: ({
            rate?: string | undefined;
            maxRate?: string | undefined;
            maxChangeRate?: string | undefined;
        } & {
            rate?: string | undefined;
            maxRate?: string | undefined;
            maxChangeRate?: string | undefined;
        } & { [K_6 in Exclude<keyof I_1["commission"], keyof CommissionRates>]: never; }) | undefined;
        minSelfDelegation?: string | undefined;
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        pubkey?: ({
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & {
            typeUrl?: string | undefined;
            value?: Uint8Array | undefined;
        } & { [K_7 in Exclude<keyof I_1["pubkey"], keyof Any>]: never; }) | undefined;
        value?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_8 in Exclude<keyof I_1["value"], keyof Coin>]: never; }) | undefined;
    } & { [K_9 in Exclude<keyof I_1, keyof MsgCreateValidator>]: never; }>(object: I_1): MsgCreateValidator;
};
/** MsgEditValidator defines a SDK message for editing an existing validator. */
interface MsgEditValidator {
    description: Description | undefined;
    validatorAddress: string;
    /**
     * We pass a reference to the new commission rate and min self delegation as
     * it's not mandatory to update. If not updated, the deserialized rate will be
     * zero with no way to distinguish if an update was intended.
     * REF: #2373
     */
    commissionRate: string;
    minSelfDelegation: string;
}
declare const MsgEditValidator: {
    encode(message: MsgEditValidator, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgEditValidator;
    fromJSON(object: any): MsgEditValidator;
    toJSON(message: MsgEditValidator): unknown;
    create<I extends {
        description?: {
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } | undefined;
        validatorAddress?: string | undefined;
        commissionRate?: string | undefined;
        minSelfDelegation?: string | undefined;
    } & {
        description?: ({
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } & {
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } & { [K in Exclude<keyof I["description"], keyof Description>]: never; }) | undefined;
        validatorAddress?: string | undefined;
        commissionRate?: string | undefined;
        minSelfDelegation?: string | undefined;
    } & { [K_1 in Exclude<keyof I, keyof MsgEditValidator>]: never; }>(base?: I | undefined): MsgEditValidator;
    fromPartial<I_1 extends {
        description?: {
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } | undefined;
        validatorAddress?: string | undefined;
        commissionRate?: string | undefined;
        minSelfDelegation?: string | undefined;
    } & {
        description?: ({
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } & {
            moniker?: string | undefined;
            identity?: string | undefined;
            website?: string | undefined;
            securityContact?: string | undefined;
            details?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["description"], keyof Description>]: never; }) | undefined;
        validatorAddress?: string | undefined;
        commissionRate?: string | undefined;
        minSelfDelegation?: string | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof MsgEditValidator>]: never; }>(object: I_1): MsgEditValidator;
};
/**
 * MsgDelegate defines a SDK message for performing a delegation of coins
 * from a delegator to a validator.
 */
interface MsgDelegate {
    delegatorAddress: string;
    validatorAddress: string;
    amount: Coin | undefined;
}
declare const MsgDelegate: {
    encode(message: MsgDelegate, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgDelegate;
    fromJSON(object: any): MsgDelegate;
    toJSON(message: MsgDelegate): unknown;
    create<I extends {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        } | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["amount"], keyof Coin>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof MsgDelegate>]: never; }>(base?: I | undefined): MsgDelegate;
    fromPartial<I_1 extends {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        } | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["amount"], keyof Coin>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof MsgDelegate>]: never; }>(object: I_1): MsgDelegate;
};
/**
 * MsgBeginRedelegate defines a SDK message for performing a redelegation
 * of coins from a delegator and source validator to a destination validator.
 */
interface MsgBeginRedelegate {
    delegatorAddress: string;
    validatorSrcAddress: string;
    validatorDstAddress: string;
    amount: Coin | undefined;
}
declare const MsgBeginRedelegate: {
    encode(message: MsgBeginRedelegate, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgBeginRedelegate;
    fromJSON(object: any): MsgBeginRedelegate;
    toJSON(message: MsgBeginRedelegate): unknown;
    create<I extends {
        delegatorAddress?: string | undefined;
        validatorSrcAddress?: string | undefined;
        validatorDstAddress?: string | undefined;
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        } | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorSrcAddress?: string | undefined;
        validatorDstAddress?: string | undefined;
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["amount"], keyof Coin>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof MsgBeginRedelegate>]: never; }>(base?: I | undefined): MsgBeginRedelegate;
    fromPartial<I_1 extends {
        delegatorAddress?: string | undefined;
        validatorSrcAddress?: string | undefined;
        validatorDstAddress?: string | undefined;
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        } | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorSrcAddress?: string | undefined;
        validatorDstAddress?: string | undefined;
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["amount"], keyof Coin>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof MsgBeginRedelegate>]: never; }>(object: I_1): MsgBeginRedelegate;
};
/**
 * MsgUndelegate defines a SDK message for performing an undelegation from a
 * delegate and a validator.
 */
interface MsgUndelegate {
    delegatorAddress: string;
    validatorAddress: string;
    amount: Coin | undefined;
}
declare const MsgUndelegate: {
    encode(message: MsgUndelegate, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgUndelegate;
    fromJSON(object: any): MsgUndelegate;
    toJSON(message: MsgUndelegate): unknown;
    create<I extends {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        } | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["amount"], keyof Coin>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof MsgUndelegate>]: never; }>(base?: I | undefined): MsgUndelegate;
    fromPartial<I_1 extends {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        } | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["amount"], keyof Coin>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof MsgUndelegate>]: never; }>(object: I_1): MsgUndelegate;
};

interface ITxStaking {
    msgBeginRedelegate(data: MsgBeginRedelegate): EncodeObject;
    msgCreateValidator(data: MsgCreateValidator): EncodeObject;
    msgDelegate(data: MsgDelegate): EncodeObject;
    msgEditValidator(data: MsgEditValidator): EncodeObject;
    msgUndelegate(data: MsgUndelegate): EncodeObject;
}
declare class TxStaking implements ITxStaking {
    msgBeginRedelegate(data: MsgBeginRedelegate): EncodeObject;
    msgCreateValidator(data: MsgCreateValidator): EncodeObject;
    msgDelegate(data: MsgDelegate): EncodeObject;
    msgEditValidator(data: MsgEditValidator): EncodeObject;
    msgUndelegate(data: MsgUndelegate): EncodeObject;
}

interface MsgCreateNotifications {
    creator: string;
    notification: string;
    address: string;
}
declare const MsgCreateNotifications: {
    encode(message: MsgCreateNotifications, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgCreateNotifications;
    fromJSON(object: any): MsgCreateNotifications;
    toJSON(message: MsgCreateNotifications): unknown;
    create<I extends {
        creator?: string | undefined;
        notification?: string | undefined;
        address?: string | undefined;
    } & {
        creator?: string | undefined;
        notification?: string | undefined;
        address?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgCreateNotifications>]: never; }>(base?: I | undefined): MsgCreateNotifications;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        notification?: string | undefined;
        address?: string | undefined;
    } & {
        creator?: string | undefined;
        notification?: string | undefined;
        address?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgCreateNotifications>]: never; }>(object: I_1): MsgCreateNotifications;
};
interface MsgUpdateNotifications {
    creator: string;
    count: number;
    notification: string;
    address: string;
}
declare const MsgUpdateNotifications: {
    encode(message: MsgUpdateNotifications, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateNotifications;
    fromJSON(object: any): MsgUpdateNotifications;
    toJSON(message: MsgUpdateNotifications): unknown;
    create<I extends {
        creator?: string | undefined;
        count?: number | undefined;
        notification?: string | undefined;
        address?: string | undefined;
    } & {
        creator?: string | undefined;
        count?: number | undefined;
        notification?: string | undefined;
        address?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgUpdateNotifications>]: never; }>(base?: I | undefined): MsgUpdateNotifications;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        count?: number | undefined;
        notification?: string | undefined;
        address?: string | undefined;
    } & {
        creator?: string | undefined;
        count?: number | undefined;
        notification?: string | undefined;
        address?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgUpdateNotifications>]: never; }>(object: I_1): MsgUpdateNotifications;
};
interface MsgDeleteNotifications {
    creator: string;
}
declare const MsgDeleteNotifications: {
    encode(message: MsgDeleteNotifications, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgDeleteNotifications;
    fromJSON(object: any): MsgDeleteNotifications;
    toJSON(message: MsgDeleteNotifications): unknown;
    create<I extends {
        creator?: string | undefined;
    } & {
        creator?: string | undefined;
    } & { [K in Exclude<keyof I, "creator">]: never; }>(base?: I | undefined): MsgDeleteNotifications;
    fromPartial<I_1 extends {
        creator?: string | undefined;
    } & {
        creator?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "creator">]: never; }>(object: I_1): MsgDeleteNotifications;
};
interface MsgSetCounter {
    creator: string;
}
declare const MsgSetCounter: {
    encode(message: MsgSetCounter, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgSetCounter;
    fromJSON(object: any): MsgSetCounter;
    toJSON(message: MsgSetCounter): unknown;
    create<I extends {
        creator?: string | undefined;
    } & {
        creator?: string | undefined;
    } & { [K in Exclude<keyof I, "creator">]: never; }>(base?: I | undefined): MsgSetCounter;
    fromPartial<I_1 extends {
        creator?: string | undefined;
    } & {
        creator?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "creator">]: never; }>(object: I_1): MsgSetCounter;
};
interface MsgBlockSenders {
    creator: string;
    senderIds: string;
}
declare const MsgBlockSenders: {
    encode(message: MsgBlockSenders, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MsgBlockSenders;
    fromJSON(object: any): MsgBlockSenders;
    toJSON(message: MsgBlockSenders): unknown;
    create<I extends {
        creator?: string | undefined;
        senderIds?: string | undefined;
    } & {
        creator?: string | undefined;
        senderIds?: string | undefined;
    } & { [K in Exclude<keyof I, keyof MsgBlockSenders>]: never; }>(base?: I | undefined): MsgBlockSenders;
    fromPartial<I_1 extends {
        creator?: string | undefined;
        senderIds?: string | undefined;
    } & {
        creator?: string | undefined;
        senderIds?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof MsgBlockSenders>]: never; }>(object: I_1): MsgBlockSenders;
};

interface ITxNotifications {
    msgCreateNotifications(data: MsgCreateNotifications): EncodeObject;
    msgUpdateNotifications(data: MsgUpdateNotifications): EncodeObject;
    msgDeleteNotifications(data: MsgDeleteNotifications): EncodeObject;
    msgSetCounter(data: MsgSetCounter): EncodeObject;
    msgBlockSenders(data: MsgBlockSenders): EncodeObject;
}
declare class TxNotifications implements ITxNotifications {
    msgCreateNotifications(data: MsgCreateNotifications): EncodeObject;
    msgUpdateNotifications(data: MsgUpdateNotifications): EncodeObject;
    msgDeleteNotifications(data: MsgDeleteNotifications): EncodeObject;
    msgSetCounter(data: MsgSetCounter): EncodeObject;
    msgBlockSenders(data: MsgBlockSenders): EncodeObject;
}

interface IAllTx {
    /** Custom */
    fileTree: ITxFileTree;
    jklMint: null;
    notifications: ITxNotifications;
    oracle: ITxOracle;
    rns: ITxRns;
    storage: ITxStorage;
    /** Static */
    bank: ITxBank;
    distribution: ITxDistribution;
    gov: ITxGov;
    slashing: ITxSlashing;
    staking: ITxStaking;
}

/**
 * Interfaces
 */
interface TxClientOptions {
    addr: string;
}
interface SignAndBroadcastOptions {
    fee: StdFee;
    memo?: string;
}
type TMasterBroadcaster = (msgs: EncodeObject[], options: SignAndBroadcastOptions) => Promise<DeliverTxResponse>;
interface IGenBroadcaster {
    masterBroadcaster: TMasterBroadcaster;
}
declare const genBroadcaster: (wallet: OfflineSigner, { addr: addr }?: TxClientOptions) => Promise<IGenBroadcaster>;

/**
 * PageRequest is to be embedded in gRPC request messages for efficient
 * pagination. Ex:
 *
 *  message SomeRequest {
 *          Foo some_parameter = 1;
 *          PageRequest pagination = 2;
 *  }
 */
interface PageRequest {
    /**
     * key is a value returned in PageResponse.next_key to begin
     * querying the next page most efficiently. Only one of offset or key
     * should be set.
     */
    key: Uint8Array;
    /**
     * offset is a numeric offset that can be used when key is unavailable.
     * It is less efficient than using key. Only one of offset or key should
     * be set.
     */
    offset: number;
    /**
     * limit is the total number of results to be returned in the result page.
     * If left empty it will default to a value to be set by each app.
     */
    limit: number;
    /**
     * count_total is set to true  to indicate that the result set should include
     * a count of the total number of items available for pagination in UIs.
     * count_total is only respected when offset is used. It is ignored when key
     * is set.
     */
    countTotal: boolean;
    /**
     * reverse is set to true if results are to be returned in the descending order.
     *
     * Since: cosmos-sdk 0.43
     */
    reverse: boolean;
}
declare const PageRequest: {
    encode(message: PageRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PageRequest;
    fromJSON(object: any): PageRequest;
    toJSON(message: PageRequest): unknown;
    create<I extends {
        key?: Uint8Array | undefined;
        offset?: number | undefined;
        limit?: number | undefined;
        countTotal?: boolean | undefined;
        reverse?: boolean | undefined;
    } & {
        key?: Uint8Array | undefined;
        offset?: number | undefined;
        limit?: number | undefined;
        countTotal?: boolean | undefined;
        reverse?: boolean | undefined;
    } & { [K in Exclude<keyof I, keyof PageRequest>]: never; }>(base?: I | undefined): PageRequest;
    fromPartial<I_1 extends {
        key?: Uint8Array | undefined;
        offset?: number | undefined;
        limit?: number | undefined;
        countTotal?: boolean | undefined;
        reverse?: boolean | undefined;
    } & {
        key?: Uint8Array | undefined;
        offset?: number | undefined;
        limit?: number | undefined;
        countTotal?: boolean | undefined;
        reverse?: boolean | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof PageRequest>]: never; }>(object: I_1): PageRequest;
};
/**
 * PageResponse is to be embedded in gRPC response messages where the
 * corresponding request message has used PageRequest.
 *
 *  message SomeResponse {
 *          repeated Bar results = 1;
 *          PageResponse page = 2;
 *  }
 */
interface PageResponse {
    /**
     * next_key is the key to be passed to PageRequest.key to
     * query the next page most efficiently. It will be empty if
     * there are no more results.
     */
    nextKey: Uint8Array;
    /**
     * total is total number of results available if PageRequest.count_total
     * was set, its value is undefined otherwise
     */
    total: number;
}
declare const PageResponse: {
    encode(message: PageResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PageResponse;
    fromJSON(object: any): PageResponse;
    toJSON(message: PageResponse): unknown;
    create<I extends {
        nextKey?: Uint8Array | undefined;
        total?: number | undefined;
    } & {
        nextKey?: Uint8Array | undefined;
        total?: number | undefined;
    } & { [K in Exclude<keyof I, keyof PageResponse>]: never; }>(base?: I | undefined): PageResponse;
    fromPartial<I_1 extends {
        nextKey?: Uint8Array | undefined;
        total?: number | undefined;
    } & {
        nextKey?: Uint8Array | undefined;
        total?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof PageResponse>]: never; }>(object: I_1): PageResponse;
};

interface Files {
    address: string;
    contents: string;
    owner: string;
    viewingAccess: string;
    editAccess: string;
    trackingNumber: string;
}
declare const Files: {
    encode(message: Files, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Files;
    fromJSON(object: any): Files;
    toJSON(message: Files): unknown;
    create<I extends {
        address?: string | undefined;
        contents?: string | undefined;
        owner?: string | undefined;
        viewingAccess?: string | undefined;
        editAccess?: string | undefined;
        trackingNumber?: string | undefined;
    } & {
        address?: string | undefined;
        contents?: string | undefined;
        owner?: string | undefined;
        viewingAccess?: string | undefined;
        editAccess?: string | undefined;
        trackingNumber?: string | undefined;
    } & { [K in Exclude<keyof I, keyof Files>]: never; }>(base?: I | undefined): Files;
    fromPartial<I_1 extends {
        address?: string | undefined;
        contents?: string | undefined;
        owner?: string | undefined;
        viewingAccess?: string | undefined;
        editAccess?: string | undefined;
        trackingNumber?: string | undefined;
    } & {
        address?: string | undefined;
        contents?: string | undefined;
        owner?: string | undefined;
        viewingAccess?: string | undefined;
        editAccess?: string | undefined;
        trackingNumber?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Files>]: never; }>(object: I_1): Files;
};

/** Params defines the parameters for the module. */
interface Params$7 {
}
declare const Params$7: {
    encode(_: Params$7, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Params$7;
    fromJSON(_: any): Params$7;
    toJSON(_: Params$7): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): Params$7;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): Params$7;
};

interface Pubkey {
    address: string;
    key: string;
}
declare const Pubkey: {
    encode(message: Pubkey, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Pubkey;
    fromJSON(object: any): Pubkey;
    toJSON(message: Pubkey): unknown;
    create<I extends {
        address?: string | undefined;
        key?: string | undefined;
    } & {
        address?: string | undefined;
        key?: string | undefined;
    } & { [K in Exclude<keyof I, keyof Pubkey>]: never; }>(base?: I | undefined): Pubkey;
    fromPartial<I_1 extends {
        address?: string | undefined;
        key?: string | undefined;
    } & {
        address?: string | undefined;
        key?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Pubkey>]: never; }>(object: I_1): Pubkey;
};

/** QueryParamsRequest is request type for the Query/Params RPC method. */
interface QueryParamsRequest$a {
}
declare const QueryParamsRequest$a: {
    encode(_: QueryParamsRequest$a, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest$a;
    fromJSON(_: any): QueryParamsRequest$a;
    toJSON(_: QueryParamsRequest$a): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): QueryParamsRequest$a;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): QueryParamsRequest$a;
};
/** QueryParamsResponse is response type for the Query/Params RPC method. */
interface QueryParamsResponse$a {
    /** params holds all the parameters of this module. */
    params: Params$7 | undefined;
}
declare const QueryParamsResponse$a: {
    encode(message: QueryParamsResponse$a, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse$a;
    fromJSON(object: any): QueryParamsResponse$a;
    toJSON(message: QueryParamsResponse$a): unknown;
    create<I extends {
        params?: {} | undefined;
    } & {
        params?: ({} & {} & { [K in Exclude<keyof I["params"], never>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "params">]: never; }>(base?: I | undefined): QueryParamsResponse$a;
    fromPartial<I_1 extends {
        params?: {} | undefined;
    } & {
        params?: ({} & {} & { [K_2 in Exclude<keyof I_1["params"], never>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "params">]: never; }>(object: I_1): QueryParamsResponse$a;
};
interface QueryEncryptRequest {
    address: string;
    message: string;
}
declare const QueryEncryptRequest: {
    encode(message: QueryEncryptRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryEncryptRequest;
    fromJSON(object: any): QueryEncryptRequest;
    toJSON(message: QueryEncryptRequest): unknown;
    create<I extends {
        address?: string | undefined;
        message?: string | undefined;
    } & {
        address?: string | undefined;
        message?: string | undefined;
    } & { [K in Exclude<keyof I, keyof QueryEncryptRequest>]: never; }>(base?: I | undefined): QueryEncryptRequest;
    fromPartial<I_1 extends {
        address?: string | undefined;
        message?: string | undefined;
    } & {
        address?: string | undefined;
        message?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof QueryEncryptRequest>]: never; }>(object: I_1): QueryEncryptRequest;
};
interface QueryEncryptResponse {
    encryptionData: string;
}
declare const QueryEncryptResponse: {
    encode(message: QueryEncryptResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryEncryptResponse;
    fromJSON(object: any): QueryEncryptResponse;
    toJSON(message: QueryEncryptResponse): unknown;
    create<I extends {
        encryptionData?: string | undefined;
    } & {
        encryptionData?: string | undefined;
    } & { [K in Exclude<keyof I, "encryptionData">]: never; }>(base?: I | undefined): QueryEncryptResponse;
    fromPartial<I_1 extends {
        encryptionData?: string | undefined;
    } & {
        encryptionData?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "encryptionData">]: never; }>(object: I_1): QueryEncryptResponse;
};
interface QueryDecryptRequest {
    message: string;
}
declare const QueryDecryptRequest: {
    encode(message: QueryDecryptRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDecryptRequest;
    fromJSON(object: any): QueryDecryptRequest;
    toJSON(message: QueryDecryptRequest): unknown;
    create<I extends {
        message?: string | undefined;
    } & {
        message?: string | undefined;
    } & { [K in Exclude<keyof I, "message">]: never; }>(base?: I | undefined): QueryDecryptRequest;
    fromPartial<I_1 extends {
        message?: string | undefined;
    } & {
        message?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "message">]: never; }>(object: I_1): QueryDecryptRequest;
};
interface QueryDecryptResponse {
    data: string;
}
declare const QueryDecryptResponse: {
    encode(message: QueryDecryptResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDecryptResponse;
    fromJSON(object: any): QueryDecryptResponse;
    toJSON(message: QueryDecryptResponse): unknown;
    create<I extends {
        data?: string | undefined;
    } & {
        data?: string | undefined;
    } & { [K in Exclude<keyof I, "data">]: never; }>(base?: I | undefined): QueryDecryptResponse;
    fromPartial<I_1 extends {
        data?: string | undefined;
    } & {
        data?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "data">]: never; }>(object: I_1): QueryDecryptResponse;
};
interface QueryFileRequest {
    address: string;
    ownerAddress: string;
}
declare const QueryFileRequest: {
    encode(message: QueryFileRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryFileRequest;
    fromJSON(object: any): QueryFileRequest;
    toJSON(message: QueryFileRequest): unknown;
    create<I extends {
        address?: string | undefined;
        ownerAddress?: string | undefined;
    } & {
        address?: string | undefined;
        ownerAddress?: string | undefined;
    } & { [K in Exclude<keyof I, keyof QueryFileRequest>]: never; }>(base?: I | undefined): QueryFileRequest;
    fromPartial<I_1 extends {
        address?: string | undefined;
        ownerAddress?: string | undefined;
    } & {
        address?: string | undefined;
        ownerAddress?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof QueryFileRequest>]: never; }>(object: I_1): QueryFileRequest;
};
interface QueryFileResponse {
    files: Files | undefined;
}
declare const QueryFileResponse: {
    encode(message: QueryFileResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryFileResponse;
    fromJSON(object: any): QueryFileResponse;
    toJSON(message: QueryFileResponse): unknown;
    create<I extends {
        files?: {
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        } | undefined;
    } & {
        files?: ({
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        } & {
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        } & { [K in Exclude<keyof I["files"], keyof Files>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "files">]: never; }>(base?: I | undefined): QueryFileResponse;
    fromPartial<I_1 extends {
        files?: {
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        } | undefined;
    } & {
        files?: ({
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        } & {
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["files"], keyof Files>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "files">]: never; }>(object: I_1): QueryFileResponse;
};
interface QueryAllFilesRequest {
    pagination: PageRequest | undefined;
}
declare const QueryAllFilesRequest: {
    encode(message: QueryAllFilesRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllFilesRequest;
    fromJSON(object: any): QueryAllFilesRequest;
    toJSON(message: QueryAllFilesRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryAllFilesRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryAllFilesRequest;
};
interface QueryAllFilesResponse {
    files: Files[];
    pagination: PageResponse | undefined;
}
declare const QueryAllFilesResponse: {
    encode(message: QueryAllFilesResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllFilesResponse;
    fromJSON(object: any): QueryAllFilesResponse;
    toJSON(message: QueryAllFilesResponse): unknown;
    create<I extends {
        files?: {
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        files?: ({
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        }[] & ({
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        } & {
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        } & { [K in Exclude<keyof I["files"][number], keyof Files>]: never; })[] & { [K_1 in Exclude<keyof I["files"], keyof {
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryAllFilesResponse>]: never; }>(base?: I | undefined): QueryAllFilesResponse;
    fromPartial<I_1 extends {
        files?: {
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        files?: ({
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        }[] & ({
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        } & {
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["files"][number], keyof Files>]: never; })[] & { [K_5 in Exclude<keyof I_1["files"], keyof {
            address?: string | undefined;
            contents?: string | undefined;
            owner?: string | undefined;
            viewingAccess?: string | undefined;
            editAccess?: string | undefined;
            trackingNumber?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryAllFilesResponse>]: never; }>(object: I_1): QueryAllFilesResponse;
};
interface QueryPubkeyRequest {
    address: string;
}
declare const QueryPubkeyRequest: {
    encode(message: QueryPubkeyRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryPubkeyRequest;
    fromJSON(object: any): QueryPubkeyRequest;
    toJSON(message: QueryPubkeyRequest): unknown;
    create<I extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K in Exclude<keyof I, "address">]: never; }>(base?: I | undefined): QueryPubkeyRequest;
    fromPartial<I_1 extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "address">]: never; }>(object: I_1): QueryPubkeyRequest;
};
interface QueryPubkeyResponse {
    pubkey: Pubkey | undefined;
}
declare const QueryPubkeyResponse: {
    encode(message: QueryPubkeyResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryPubkeyResponse;
    fromJSON(object: any): QueryPubkeyResponse;
    toJSON(message: QueryPubkeyResponse): unknown;
    create<I extends {
        pubkey?: {
            address?: string | undefined;
            key?: string | undefined;
        } | undefined;
    } & {
        pubkey?: ({
            address?: string | undefined;
            key?: string | undefined;
        } & {
            address?: string | undefined;
            key?: string | undefined;
        } & { [K in Exclude<keyof I["pubkey"], keyof Pubkey>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pubkey">]: never; }>(base?: I | undefined): QueryPubkeyResponse;
    fromPartial<I_1 extends {
        pubkey?: {
            address?: string | undefined;
            key?: string | undefined;
        } | undefined;
    } & {
        pubkey?: ({
            address?: string | undefined;
            key?: string | undefined;
        } & {
            address?: string | undefined;
            key?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["pubkey"], keyof Pubkey>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pubkey">]: never; }>(object: I_1): QueryPubkeyResponse;
};
interface QueryAllPubkeysRequest {
    pagination: PageRequest | undefined;
}
declare const QueryAllPubkeysRequest: {
    encode(message: QueryAllPubkeysRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllPubkeysRequest;
    fromJSON(object: any): QueryAllPubkeysRequest;
    toJSON(message: QueryAllPubkeysRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryAllPubkeysRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryAllPubkeysRequest;
};
interface QueryAllPubkeysResponse {
    pubkey: Pubkey[];
    pagination: PageResponse | undefined;
}
declare const QueryAllPubkeysResponse: {
    encode(message: QueryAllPubkeysResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllPubkeysResponse;
    fromJSON(object: any): QueryAllPubkeysResponse;
    toJSON(message: QueryAllPubkeysResponse): unknown;
    create<I extends {
        pubkey?: {
            address?: string | undefined;
            key?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        pubkey?: ({
            address?: string | undefined;
            key?: string | undefined;
        }[] & ({
            address?: string | undefined;
            key?: string | undefined;
        } & {
            address?: string | undefined;
            key?: string | undefined;
        } & { [K in Exclude<keyof I["pubkey"][number], keyof Pubkey>]: never; })[] & { [K_1 in Exclude<keyof I["pubkey"], keyof {
            address?: string | undefined;
            key?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryAllPubkeysResponse>]: never; }>(base?: I | undefined): QueryAllPubkeysResponse;
    fromPartial<I_1 extends {
        pubkey?: {
            address?: string | undefined;
            key?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        pubkey?: ({
            address?: string | undefined;
            key?: string | undefined;
        }[] & ({
            address?: string | undefined;
            key?: string | undefined;
        } & {
            address?: string | undefined;
            key?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["pubkey"][number], keyof Pubkey>]: never; })[] & { [K_5 in Exclude<keyof I_1["pubkey"], keyof {
            address?: string | undefined;
            key?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryAllPubkeysResponse>]: never; }>(object: I_1): QueryAllPubkeysResponse;
};
interface UnaryMethodDefinitionishR$b extends grpc.UnaryMethodDefinition<any, any> {
    requestStream: any;
    responseStream: any;
}
type UnaryMethodDefinitionish$b = UnaryMethodDefinitionishR$b;
declare class GrpcWebImpl$b {
    private host;
    private options;
    constructor(host: string, options: {
        transport?: grpc.TransportFactory;
        debug?: boolean;
        metadata?: grpc.Metadata;
        upStreamRetryCodes?: number[];
    });
    unary<T extends UnaryMethodDefinitionish$b>(methodDesc: T, _request: any, metadata: grpc.Metadata | undefined): Promise<any>;
}
type Builtin$b = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial$b<T> = T extends Builtin$b ? T : T extends Array<infer U> ? Array<DeepPartial$b<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial$b<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial$b<T[K]>;
} : Partial<T>;

type NonNullable<T> = Exclude<T, undefined>;
//# sourceMappingURL=TNoUndefined.d.ts.map

type SuccessIncluded<T> = {
    message: string;
    success: boolean;
    value: T;
};
//# sourceMappingURL=TSuccessIncluded.d.ts.map

type SuccessNoUndefined<T> = NonNullable<SuccessIncluded<T>>;
//# sourceMappingURL=TSuccessNoUndefined.d.ts.map

interface IQueryFileTree {
    /** Parameters queries the parameters of the module. */
    queryParams(request: DeepPartial$b<QueryParamsRequest$a>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryParamsResponse$a>>;
    /** Queries a list of Encrypt items. */
    queryEncrypt(request: DeepPartial$b<QueryEncryptRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryEncryptResponse>>;
    /** Queries a list of Decrypt items. */
    queryDecrypt(request: DeepPartial$b<QueryDecryptRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryDecryptResponse>>;
    /** Queries a Files by index. */
    queryFiles(request: DeepPartial$b<QueryFileRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryFileResponse>>;
    /** Queries a list of Files items. */
    queryFilesAll(request: DeepPartial$b<QueryAllFilesRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllFilesResponse>>;
    /** Queries a Pubkey by index. */
    queryPubkey(request: DeepPartial$b<QueryPubkeyRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryPubkeyResponse>>;
    /** Queries a list of Pubkey items. */
    queryPubkeyAll(request: DeepPartial$b<QueryAllPubkeysRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllPubkeysResponse>>;
}

/** Params defines the parameters for the module. */
interface Params$6 {
    mintDenom: string;
}
declare const Params$6: {
    encode(message: Params$6, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Params$6;
    fromJSON(object: any): Params$6;
    toJSON(message: Params$6): unknown;
    create<I extends {
        mintDenom?: string | undefined;
    } & {
        mintDenom?: string | undefined;
    } & { [K in Exclude<keyof I, "mintDenom">]: never; }>(base?: I | undefined): Params$6;
    fromPartial<I_1 extends {
        mintDenom?: string | undefined;
    } & {
        mintDenom?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "mintDenom">]: never; }>(object: I_1): Params$6;
};

/** QueryParamsRequest is request type for the Query/Params RPC method. */
interface QueryParamsRequest$9 {
}
declare const QueryParamsRequest$9: {
    encode(_: QueryParamsRequest$9, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest$9;
    fromJSON(_: any): QueryParamsRequest$9;
    toJSON(_: QueryParamsRequest$9): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): QueryParamsRequest$9;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): QueryParamsRequest$9;
};
/** QueryParamsResponse is response type for the Query/Params RPC method. */
interface QueryParamsResponse$9 {
    /** params holds all the parameters of this module. */
    params: Params$6 | undefined;
}
declare const QueryParamsResponse$9: {
    encode(message: QueryParamsResponse$9, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse$9;
    fromJSON(object: any): QueryParamsResponse$9;
    toJSON(message: QueryParamsResponse$9): unknown;
    create<I extends {
        params?: {
            mintDenom?: string | undefined;
        } | undefined;
    } & {
        params?: ({
            mintDenom?: string | undefined;
        } & {
            mintDenom?: string | undefined;
        } & { [K in Exclude<keyof I["params"], "mintDenom">]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "params">]: never; }>(base?: I | undefined): QueryParamsResponse$9;
    fromPartial<I_1 extends {
        params?: {
            mintDenom?: string | undefined;
        } | undefined;
    } & {
        params?: ({
            mintDenom?: string | undefined;
        } & {
            mintDenom?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["params"], "mintDenom">]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "params">]: never; }>(object: I_1): QueryParamsResponse$9;
};
/** QueryInflationRequest is the request type for the Query/Inflation RPC method. */
interface QueryInflationRequest {
}
declare const QueryInflationRequest: {
    encode(_: QueryInflationRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryInflationRequest;
    fromJSON(_: any): QueryInflationRequest;
    toJSON(_: QueryInflationRequest): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): QueryInflationRequest;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): QueryInflationRequest;
};
/**
 * QueryInflationResponse is the response type for the Query/Inflation RPC
 * method.
 */
interface QueryInflationResponse {
    /** inflation is the current minting inflation value. */
    inflation: Uint8Array;
}
declare const QueryInflationResponse: {
    encode(message: QueryInflationResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryInflationResponse;
    fromJSON(object: any): QueryInflationResponse;
    toJSON(message: QueryInflationResponse): unknown;
    create<I extends {
        inflation?: Uint8Array | undefined;
    } & {
        inflation?: Uint8Array | undefined;
    } & { [K in Exclude<keyof I, "inflation">]: never; }>(base?: I | undefined): QueryInflationResponse;
    fromPartial<I_1 extends {
        inflation?: Uint8Array | undefined;
    } & {
        inflation?: Uint8Array | undefined;
    } & { [K_1 in Exclude<keyof I_1, "inflation">]: never; }>(object: I_1): QueryInflationResponse;
};
interface UnaryMethodDefinitionishR$a extends grpc.UnaryMethodDefinition<any, any> {
    requestStream: any;
    responseStream: any;
}
type UnaryMethodDefinitionish$a = UnaryMethodDefinitionishR$a;
declare class GrpcWebImpl$a {
    private host;
    private options;
    constructor(host: string, options: {
        transport?: grpc.TransportFactory;
        debug?: boolean;
        metadata?: grpc.Metadata;
        upStreamRetryCodes?: number[];
    });
    unary<T extends UnaryMethodDefinitionish$a>(methodDesc: T, _request: any, metadata: grpc.Metadata | undefined): Promise<any>;
}
type Builtin$a = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial$a<T> = T extends Builtin$a ? T : T extends Array<infer U> ? Array<DeepPartial$a<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial$a<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial$a<T[K]>;
} : Partial<T>;

interface IQueryJklMint {
    /** Parameters queries the parameters of the module. */
    queryParams(request: DeepPartial$a<QueryParamsRequest$9>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryParamsResponse$9>>;
    /** Inflation returns the current minting inflation value. */
    queryInflation(request: DeepPartial$a<QueryInflationRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryInflationResponse>>;
}

interface Feed {
    owner: string;
    data: string;
    lastUpdate: Date | undefined;
    name: string;
}
declare const Feed: {
    encode(message: Feed, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Feed;
    fromJSON(object: any): Feed;
    toJSON(message: Feed): unknown;
    create<I extends {
        owner?: string | undefined;
        data?: string | undefined;
        lastUpdate?: Date | undefined;
        name?: string | undefined;
    } & {
        owner?: string | undefined;
        data?: string | undefined;
        lastUpdate?: Date | undefined;
        name?: string | undefined;
    } & { [K in Exclude<keyof I, keyof Feed>]: never; }>(base?: I | undefined): Feed;
    fromPartial<I_1 extends {
        owner?: string | undefined;
        data?: string | undefined;
        lastUpdate?: Date | undefined;
        name?: string | undefined;
    } & {
        owner?: string | undefined;
        data?: string | undefined;
        lastUpdate?: Date | undefined;
        name?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Feed>]: never; }>(object: I_1): Feed;
};

/** Params defines the parameters for the module. */
interface Params$5 {
    deposit: string;
}
declare const Params$5: {
    encode(message: Params$5, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Params$5;
    fromJSON(object: any): Params$5;
    toJSON(message: Params$5): unknown;
    create<I extends {
        deposit?: string | undefined;
    } & {
        deposit?: string | undefined;
    } & { [K in Exclude<keyof I, "deposit">]: never; }>(base?: I | undefined): Params$5;
    fromPartial<I_1 extends {
        deposit?: string | undefined;
    } & {
        deposit?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "deposit">]: never; }>(object: I_1): Params$5;
};

/** QueryParamsRequest is request type for the Query/Params RPC method. */
interface QueryParamsRequest$8 {
}
declare const QueryParamsRequest$8: {
    encode(_: QueryParamsRequest$8, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest$8;
    fromJSON(_: any): QueryParamsRequest$8;
    toJSON(_: QueryParamsRequest$8): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): QueryParamsRequest$8;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): QueryParamsRequest$8;
};
/** QueryParamsResponse is response type for the Query/Params RPC method. */
interface QueryParamsResponse$8 {
    /** params holds all the parameters of this module. */
    params: Params$5 | undefined;
}
declare const QueryParamsResponse$8: {
    encode(message: QueryParamsResponse$8, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse$8;
    fromJSON(object: any): QueryParamsResponse$8;
    toJSON(message: QueryParamsResponse$8): unknown;
    create<I extends {
        params?: {
            deposit?: string | undefined;
        } | undefined;
    } & {
        params?: ({
            deposit?: string | undefined;
        } & {
            deposit?: string | undefined;
        } & { [K in Exclude<keyof I["params"], "deposit">]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "params">]: never; }>(base?: I | undefined): QueryParamsResponse$8;
    fromPartial<I_1 extends {
        params?: {
            deposit?: string | undefined;
        } | undefined;
    } & {
        params?: ({
            deposit?: string | undefined;
        } & {
            deposit?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["params"], "deposit">]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "params">]: never; }>(object: I_1): QueryParamsResponse$8;
};
interface QueryFeedRequest {
    name: string;
}
declare const QueryFeedRequest: {
    encode(message: QueryFeedRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryFeedRequest;
    fromJSON(object: any): QueryFeedRequest;
    toJSON(message: QueryFeedRequest): unknown;
    create<I extends {
        name?: string | undefined;
    } & {
        name?: string | undefined;
    } & { [K in Exclude<keyof I, "name">]: never; }>(base?: I | undefined): QueryFeedRequest;
    fromPartial<I_1 extends {
        name?: string | undefined;
    } & {
        name?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "name">]: never; }>(object: I_1): QueryFeedRequest;
};
interface QueryFeedResponse {
    /** params holds all the parameters of this module. */
    feed: Feed | undefined;
}
declare const QueryFeedResponse: {
    encode(message: QueryFeedResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryFeedResponse;
    fromJSON(object: any): QueryFeedResponse;
    toJSON(message: QueryFeedResponse): unknown;
    create<I extends {
        feed?: {
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        } | undefined;
    } & {
        feed?: ({
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        } & {
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        } & { [K in Exclude<keyof I["feed"], keyof Feed>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "feed">]: never; }>(base?: I | undefined): QueryFeedResponse;
    fromPartial<I_1 extends {
        feed?: {
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        } | undefined;
    } & {
        feed?: ({
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        } & {
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["feed"], keyof Feed>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "feed">]: never; }>(object: I_1): QueryFeedResponse;
};
interface QueryAllFeedsRequest {
}
declare const QueryAllFeedsRequest: {
    encode(_: QueryAllFeedsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllFeedsRequest;
    fromJSON(_: any): QueryAllFeedsRequest;
    toJSON(_: QueryAllFeedsRequest): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): QueryAllFeedsRequest;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): QueryAllFeedsRequest;
};
interface QueryAllFeedsResponse {
    /** params holds all the parameters of this module. */
    feed: Feed[];
    pagination: PageResponse | undefined;
}
declare const QueryAllFeedsResponse: {
    encode(message: QueryAllFeedsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllFeedsResponse;
    fromJSON(object: any): QueryAllFeedsResponse;
    toJSON(message: QueryAllFeedsResponse): unknown;
    create<I extends {
        feed?: {
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        feed?: ({
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        }[] & ({
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        } & {
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        } & { [K in Exclude<keyof I["feed"][number], keyof Feed>]: never; })[] & { [K_1 in Exclude<keyof I["feed"], keyof {
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryAllFeedsResponse>]: never; }>(base?: I | undefined): QueryAllFeedsResponse;
    fromPartial<I_1 extends {
        feed?: {
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        feed?: ({
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        }[] & ({
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        } & {
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["feed"][number], keyof Feed>]: never; })[] & { [K_5 in Exclude<keyof I_1["feed"], keyof {
            owner?: string | undefined;
            data?: string | undefined;
            lastUpdate?: Date | undefined;
            name?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryAllFeedsResponse>]: never; }>(object: I_1): QueryAllFeedsResponse;
};
interface UnaryMethodDefinitionishR$9 extends grpc.UnaryMethodDefinition<any, any> {
    requestStream: any;
    responseStream: any;
}
type UnaryMethodDefinitionish$9 = UnaryMethodDefinitionishR$9;
declare class GrpcWebImpl$9 {
    private host;
    private options;
    constructor(host: string, options: {
        transport?: grpc.TransportFactory;
        debug?: boolean;
        metadata?: grpc.Metadata;
        upStreamRetryCodes?: number[];
    });
    unary<T extends UnaryMethodDefinitionish$9>(methodDesc: T, _request: any, metadata: grpc.Metadata | undefined): Promise<any>;
}
type Builtin$9 = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial$9<T> = T extends Builtin$9 ? T : T extends Array<infer U> ? Array<DeepPartial$9<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial$9<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial$9<T[K]>;
} : Partial<T>;

interface IQueryOracle {
    /** Parameters queries the parameters of the module. */
    queryParams(request: DeepPartial$9<QueryParamsRequest$8>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryParamsResponse$8>>;
    queryFeed(request: DeepPartial$9<QueryFeedRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryFeedResponse>>;
    queryAllFeeds(request: DeepPartial$9<QueryAllFeedsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllFeedsResponse>>;
}

interface Bids {
    index: string;
    name: string;
    bidder: string;
    price: string;
}
declare const Bids: {
    encode(message: Bids, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Bids;
    fromJSON(object: any): Bids;
    toJSON(message: Bids): unknown;
    create<I extends {
        index?: string | undefined;
        name?: string | undefined;
        bidder?: string | undefined;
        price?: string | undefined;
    } & {
        index?: string | undefined;
        name?: string | undefined;
        bidder?: string | undefined;
        price?: string | undefined;
    } & { [K in Exclude<keyof I, keyof Bids>]: never; }>(base?: I | undefined): Bids;
    fromPartial<I_1 extends {
        index?: string | undefined;
        name?: string | undefined;
        bidder?: string | undefined;
        price?: string | undefined;
    } & {
        index?: string | undefined;
        name?: string | undefined;
        bidder?: string | undefined;
        price?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Bids>]: never; }>(object: I_1): Bids;
};

interface Forsale {
    name: string;
    price: string;
    owner: string;
}
declare const Forsale: {
    encode(message: Forsale, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Forsale;
    fromJSON(object: any): Forsale;
    toJSON(message: Forsale): unknown;
    create<I extends {
        name?: string | undefined;
        price?: string | undefined;
        owner?: string | undefined;
    } & {
        name?: string | undefined;
        price?: string | undefined;
        owner?: string | undefined;
    } & { [K in Exclude<keyof I, keyof Forsale>]: never; }>(base?: I | undefined): Forsale;
    fromPartial<I_1 extends {
        name?: string | undefined;
        price?: string | undefined;
        owner?: string | undefined;
    } & {
        name?: string | undefined;
        price?: string | undefined;
        owner?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Forsale>]: never; }>(object: I_1): Forsale;
};

interface Init {
    address: string;
    complete: boolean;
}
declare const Init: {
    encode(message: Init, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Init;
    fromJSON(object: any): Init;
    toJSON(message: Init): unknown;
    create<I extends {
        address?: string | undefined;
        complete?: boolean | undefined;
    } & {
        address?: string | undefined;
        complete?: boolean | undefined;
    } & { [K in Exclude<keyof I, keyof Init>]: never; }>(base?: I | undefined): Init;
    fromPartial<I_1 extends {
        address?: string | undefined;
        complete?: boolean | undefined;
    } & {
        address?: string | undefined;
        complete?: boolean | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Init>]: never; }>(object: I_1): Init;
};

interface Names {
    name: string;
    expires: number;
    value: string;
    data: string;
    subdomains: Names[];
    tld: string;
    locked: number;
}
declare const Names: {
    encode(message: Names, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Names;
    fromJSON(object: any): Names;
    toJSON(message: Names): unknown;
    create<I extends {
        name?: string | undefined;
        expires?: number | undefined;
        value?: string | undefined;
        data?: string | undefined;
        subdomains?: any[] | undefined;
        tld?: string | undefined;
        locked?: number | undefined;
    } & {
        name?: string | undefined;
        expires?: number | undefined;
        value?: string | undefined;
        data?: string | undefined;
        subdomains?: (any[] & ({
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: any[] | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & {
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: (any[] & ({
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: any[] | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & {
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: (any[] & ({
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: any[] | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & {
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: (any[] & ({
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: any[] | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & {
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: (any[] & ({
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: any[] | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & {
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: (any[] & ({
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: any[] | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & {
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: (any[] & ({
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: any[] | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & {
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: (any[] & ({
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: any[] | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & {
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: (any[] & ({
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: any[] | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & {
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: (any[] & ({
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: any[] | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & {
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: (any[] & ({
                                                    name?: string | undefined;
                                                    expires?: number | undefined;
                                                    value?: string | undefined;
                                                    data?: string | undefined;
                                                    subdomains?: any[] | undefined;
                                                    tld?: string | undefined;
                                                    locked?: number | undefined;
                                                } & any & { [K in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_1 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & { [K_2 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_3 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & { [K_4 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_5 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & { [K_6 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_7 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & { [K_8 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_9 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & { [K_10 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_11 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & { [K_12 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_13 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & { [K_14 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_15 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & { [K_16 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_17 in Exclude<keyof I["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & { [K_18 in Exclude<keyof I["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_19 in Exclude<keyof I["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & { [K_20 in Exclude<keyof I["subdomains"][number], keyof Names>]: never; })[] & { [K_21 in Exclude<keyof I["subdomains"], keyof any[]>]: never; }) | undefined;
        tld?: string | undefined;
        locked?: number | undefined;
    } & { [K_22 in Exclude<keyof I, keyof Names>]: never; }>(base?: I | undefined): Names;
    fromPartial<I_1 extends {
        name?: string | undefined;
        expires?: number | undefined;
        value?: string | undefined;
        data?: string | undefined;
        subdomains?: any[] | undefined;
        tld?: string | undefined;
        locked?: number | undefined;
    } & {
        name?: string | undefined;
        expires?: number | undefined;
        value?: string | undefined;
        data?: string | undefined;
        subdomains?: (any[] & ({
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: any[] | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & {
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: (any[] & ({
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: any[] | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & {
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: (any[] & ({
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: any[] | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & {
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: (any[] & ({
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: any[] | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & {
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: (any[] & ({
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: any[] | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & {
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: (any[] & ({
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: any[] | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & {
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: (any[] & ({
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: any[] | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & {
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: (any[] & ({
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: any[] | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & {
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: (any[] & ({
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: any[] | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & {
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: (any[] & ({
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: any[] | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & {
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: (any[] & ({
                                                    name?: string | undefined;
                                                    expires?: number | undefined;
                                                    value?: string | undefined;
                                                    data?: string | undefined;
                                                    subdomains?: any[] | undefined;
                                                    tld?: string | undefined;
                                                    locked?: number | undefined;
                                                } & any & { [K_23 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_24 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & { [K_25 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_26 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & { [K_27 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_28 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & { [K_29 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_30 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & { [K_31 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_32 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & { [K_33 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_34 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & { [K_35 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_36 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & { [K_37 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_38 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & { [K_39 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_40 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & { [K_41 in Exclude<keyof I_1["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_42 in Exclude<keyof I_1["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & { [K_43 in Exclude<keyof I_1["subdomains"][number], keyof Names>]: never; })[] & { [K_44 in Exclude<keyof I_1["subdomains"], keyof any[]>]: never; }) | undefined;
        tld?: string | undefined;
        locked?: number | undefined;
    } & { [K_45 in Exclude<keyof I_1, keyof Names>]: never; }>(object: I_1): Names;
};

/** Params defines the parameters for the module. */
interface Params$4 {
    depositAccount: string;
}
declare const Params$4: {
    encode(message: Params$4, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Params$4;
    fromJSON(object: any): Params$4;
    toJSON(message: Params$4): unknown;
    create<I extends {
        depositAccount?: string | undefined;
    } & {
        depositAccount?: string | undefined;
    } & { [K in Exclude<keyof I, "depositAccount">]: never; }>(base?: I | undefined): Params$4;
    fromPartial<I_1 extends {
        depositAccount?: string | undefined;
    } & {
        depositAccount?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "depositAccount">]: never; }>(object: I_1): Params$4;
};

/** QueryParamsRequest is request type for the Query/Params RPC method. */
interface QueryParamsRequest$7 {
}
declare const QueryParamsRequest$7: {
    encode(_: QueryParamsRequest$7, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest$7;
    fromJSON(_: any): QueryParamsRequest$7;
    toJSON(_: QueryParamsRequest$7): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): QueryParamsRequest$7;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): QueryParamsRequest$7;
};
/** QueryParamsResponse is response type for the Query/Params RPC method. */
interface QueryParamsResponse$7 {
    /** params holds all the parameters of this module. */
    params: Params$4 | undefined;
}
declare const QueryParamsResponse$7: {
    encode(message: QueryParamsResponse$7, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse$7;
    fromJSON(object: any): QueryParamsResponse$7;
    toJSON(message: QueryParamsResponse$7): unknown;
    create<I extends {
        params?: {
            depositAccount?: string | undefined;
        } | undefined;
    } & {
        params?: ({
            depositAccount?: string | undefined;
        } & {
            depositAccount?: string | undefined;
        } & { [K in Exclude<keyof I["params"], "depositAccount">]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "params">]: never; }>(base?: I | undefined): QueryParamsResponse$7;
    fromPartial<I_1 extends {
        params?: {
            depositAccount?: string | undefined;
        } | undefined;
    } & {
        params?: ({
            depositAccount?: string | undefined;
        } & {
            depositAccount?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["params"], "depositAccount">]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "params">]: never; }>(object: I_1): QueryParamsResponse$7;
};
interface QueryNameRequest {
    index: string;
}
declare const QueryNameRequest: {
    encode(message: QueryNameRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryNameRequest;
    fromJSON(object: any): QueryNameRequest;
    toJSON(message: QueryNameRequest): unknown;
    create<I extends {
        index?: string | undefined;
    } & {
        index?: string | undefined;
    } & { [K in Exclude<keyof I, "index">]: never; }>(base?: I | undefined): QueryNameRequest;
    fromPartial<I_1 extends {
        index?: string | undefined;
    } & {
        index?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "index">]: never; }>(object: I_1): QueryNameRequest;
};
interface QueryNameResponse {
    names: Names | undefined;
}
declare const QueryNameResponse: {
    encode(message: QueryNameResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryNameResponse;
    fromJSON(object: any): QueryNameResponse;
    toJSON(message: QueryNameResponse): unknown;
    create<I extends {
        names?: {
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: any[] | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } | undefined;
    } & {
        names?: ({
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: any[] | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & {
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: (any[] & ({
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: any[] | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & {
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: (any[] & ({
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: any[] | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & {
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: (any[] & ({
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: any[] | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & {
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: (any[] & ({
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: any[] | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & {
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: (any[] & ({
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: any[] | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & {
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: (any[] & ({
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: any[] | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & {
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: (any[] & ({
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: any[] | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & {
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: (any[] & ({
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: any[] | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & {
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: (any[] & ({
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: any[] | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & {
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: (any[] & ({
                                                    name?: string | undefined;
                                                    expires?: number | undefined;
                                                    value?: string | undefined;
                                                    data?: string | undefined;
                                                    subdomains?: any[] | undefined;
                                                    tld?: string | undefined;
                                                    locked?: number | undefined;
                                                } & any & { [K in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_1 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & { [K_2 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_3 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & { [K_4 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_5 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & { [K_6 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_7 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & { [K_8 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_9 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & { [K_10 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_11 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & { [K_12 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_13 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & { [K_14 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_15 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & { [K_16 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_17 in Exclude<keyof I["names"]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & { [K_18 in Exclude<keyof I["names"]["subdomains"][number], keyof Names>]: never; })[] & { [K_19 in Exclude<keyof I["names"]["subdomains"], keyof any[]>]: never; }) | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & { [K_20 in Exclude<keyof I["names"], keyof Names>]: never; }) | undefined;
    } & { [K_21 in Exclude<keyof I, "names">]: never; }>(base?: I | undefined): QueryNameResponse;
    fromPartial<I_1 extends {
        names?: {
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: any[] | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } | undefined;
    } & {
        names?: ({
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: any[] | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & {
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: (any[] & ({
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: any[] | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & {
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: (any[] & ({
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: any[] | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & {
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: (any[] & ({
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: any[] | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & {
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: (any[] & ({
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: any[] | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & {
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: (any[] & ({
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: any[] | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & {
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: (any[] & ({
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: any[] | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & {
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: (any[] & ({
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: any[] | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & {
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: (any[] & ({
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: any[] | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & {
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: (any[] & ({
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: any[] | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & {
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: (any[] & ({
                                                    name?: string | undefined;
                                                    expires?: number | undefined;
                                                    value?: string | undefined;
                                                    data?: string | undefined;
                                                    subdomains?: any[] | undefined;
                                                    tld?: string | undefined;
                                                    locked?: number | undefined;
                                                } & any & { [K_22 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_23 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & { [K_24 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_25 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & { [K_26 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_27 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & { [K_28 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_29 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & { [K_30 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_31 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & { [K_32 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_33 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & { [K_34 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_35 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & { [K_36 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_37 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & { [K_38 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_39 in Exclude<keyof I_1["names"]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & { [K_40 in Exclude<keyof I_1["names"]["subdomains"][number], keyof Names>]: never; })[] & { [K_41 in Exclude<keyof I_1["names"]["subdomains"], keyof any[]>]: never; }) | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & { [K_42 in Exclude<keyof I_1["names"], keyof Names>]: never; }) | undefined;
    } & { [K_43 in Exclude<keyof I_1, "names">]: never; }>(object: I_1): QueryNameResponse;
};
interface QueryAllNamesRequest {
    pagination: PageRequest | undefined;
}
declare const QueryAllNamesRequest: {
    encode(message: QueryAllNamesRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllNamesRequest;
    fromJSON(object: any): QueryAllNamesRequest;
    toJSON(message: QueryAllNamesRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryAllNamesRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryAllNamesRequest;
};
interface QueryAllNamesResponse {
    names: Names[];
    pagination: PageResponse | undefined;
}
declare const QueryAllNamesResponse: {
    encode(message: QueryAllNamesResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllNamesResponse;
    fromJSON(object: any): QueryAllNamesResponse;
    toJSON(message: QueryAllNamesResponse): unknown;
    create<I extends {
        names?: any[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        names?: (any[] & ({
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: any[] | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & {
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: (any[] & ({
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: any[] | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & {
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: (any[] & ({
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: any[] | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & {
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: (any[] & ({
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: any[] | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & {
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: (any[] & ({
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: any[] | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & {
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: (any[] & ({
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: any[] | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & {
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: (any[] & ({
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: any[] | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & {
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: (any[] & ({
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: any[] | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & {
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: (any[] & ({
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: any[] | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & {
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: (any[] & ({
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: any[] | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & {
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: (any[] & ({
                                                    name?: string | undefined;
                                                    expires?: number | undefined;
                                                    value?: string | undefined;
                                                    data?: string | undefined;
                                                    subdomains?: any[] | undefined;
                                                    tld?: string | undefined;
                                                    locked?: number | undefined;
                                                } & any & { [K in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_1 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & { [K_2 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_3 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & { [K_4 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_5 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & { [K_6 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_7 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & { [K_8 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_9 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & { [K_10 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_11 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & { [K_12 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_13 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & { [K_14 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_15 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & { [K_16 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_17 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & { [K_18 in Exclude<keyof I["names"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_19 in Exclude<keyof I["names"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & { [K_20 in Exclude<keyof I["names"][number], keyof Names>]: never; })[] & { [K_21 in Exclude<keyof I["names"], keyof any[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_22 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_23 in Exclude<keyof I, keyof QueryAllNamesResponse>]: never; }>(base?: I | undefined): QueryAllNamesResponse;
    fromPartial<I_1 extends {
        names?: any[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        names?: (any[] & ({
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: any[] | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & {
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: (any[] & ({
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: any[] | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & {
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: (any[] & ({
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: any[] | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & {
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: (any[] & ({
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: any[] | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & {
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: (any[] & ({
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: any[] | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & {
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: (any[] & ({
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: any[] | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & {
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: (any[] & ({
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: any[] | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & {
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: (any[] & ({
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: any[] | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & {
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: (any[] & ({
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: any[] | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & {
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: (any[] & ({
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: any[] | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & {
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: (any[] & ({
                                                    name?: string | undefined;
                                                    expires?: number | undefined;
                                                    value?: string | undefined;
                                                    data?: string | undefined;
                                                    subdomains?: any[] | undefined;
                                                    tld?: string | undefined;
                                                    locked?: number | undefined;
                                                } & any & { [K_24 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_25 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & { [K_26 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_27 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & { [K_28 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_29 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & { [K_30 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_31 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & { [K_32 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_33 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & { [K_34 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_35 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & { [K_36 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_37 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & { [K_38 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_39 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & { [K_40 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_41 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & { [K_42 in Exclude<keyof I_1["names"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_43 in Exclude<keyof I_1["names"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & { [K_44 in Exclude<keyof I_1["names"][number], keyof Names>]: never; })[] & { [K_45 in Exclude<keyof I_1["names"], keyof any[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_46 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_47 in Exclude<keyof I_1, keyof QueryAllNamesResponse>]: never; }>(object: I_1): QueryAllNamesResponse;
};
interface QueryBidRequest {
    index: string;
}
declare const QueryBidRequest: {
    encode(message: QueryBidRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryBidRequest;
    fromJSON(object: any): QueryBidRequest;
    toJSON(message: QueryBidRequest): unknown;
    create<I extends {
        index?: string | undefined;
    } & {
        index?: string | undefined;
    } & { [K in Exclude<keyof I, "index">]: never; }>(base?: I | undefined): QueryBidRequest;
    fromPartial<I_1 extends {
        index?: string | undefined;
    } & {
        index?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "index">]: never; }>(object: I_1): QueryBidRequest;
};
interface QueryBidResponse {
    bids: Bids | undefined;
}
declare const QueryBidResponse: {
    encode(message: QueryBidResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryBidResponse;
    fromJSON(object: any): QueryBidResponse;
    toJSON(message: QueryBidResponse): unknown;
    create<I extends {
        bids?: {
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        } | undefined;
    } & {
        bids?: ({
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        } & {
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        } & { [K in Exclude<keyof I["bids"], keyof Bids>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "bids">]: never; }>(base?: I | undefined): QueryBidResponse;
    fromPartial<I_1 extends {
        bids?: {
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        } | undefined;
    } & {
        bids?: ({
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        } & {
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["bids"], keyof Bids>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "bids">]: never; }>(object: I_1): QueryBidResponse;
};
interface QueryAllBidsRequest {
    pagination: PageRequest | undefined;
}
declare const QueryAllBidsRequest: {
    encode(message: QueryAllBidsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllBidsRequest;
    fromJSON(object: any): QueryAllBidsRequest;
    toJSON(message: QueryAllBidsRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryAllBidsRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryAllBidsRequest;
};
interface QueryAllBidsResponse {
    bids: Bids[];
    pagination: PageResponse | undefined;
}
declare const QueryAllBidsResponse: {
    encode(message: QueryAllBidsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllBidsResponse;
    fromJSON(object: any): QueryAllBidsResponse;
    toJSON(message: QueryAllBidsResponse): unknown;
    create<I extends {
        bids?: {
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        bids?: ({
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        }[] & ({
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        } & {
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        } & { [K in Exclude<keyof I["bids"][number], keyof Bids>]: never; })[] & { [K_1 in Exclude<keyof I["bids"], keyof {
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryAllBidsResponse>]: never; }>(base?: I | undefined): QueryAllBidsResponse;
    fromPartial<I_1 extends {
        bids?: {
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        bids?: ({
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        }[] & ({
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        } & {
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["bids"][number], keyof Bids>]: never; })[] & { [K_5 in Exclude<keyof I_1["bids"], keyof {
            index?: string | undefined;
            name?: string | undefined;
            bidder?: string | undefined;
            price?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryAllBidsResponse>]: never; }>(object: I_1): QueryAllBidsResponse;
};
interface QueryForsaleRequest {
    name: string;
}
declare const QueryForsaleRequest: {
    encode(message: QueryForsaleRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryForsaleRequest;
    fromJSON(object: any): QueryForsaleRequest;
    toJSON(message: QueryForsaleRequest): unknown;
    create<I extends {
        name?: string | undefined;
    } & {
        name?: string | undefined;
    } & { [K in Exclude<keyof I, "name">]: never; }>(base?: I | undefined): QueryForsaleRequest;
    fromPartial<I_1 extends {
        name?: string | undefined;
    } & {
        name?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "name">]: never; }>(object: I_1): QueryForsaleRequest;
};
interface QueryForsaleResponse {
    forsale: Forsale | undefined;
}
declare const QueryForsaleResponse: {
    encode(message: QueryForsaleResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryForsaleResponse;
    fromJSON(object: any): QueryForsaleResponse;
    toJSON(message: QueryForsaleResponse): unknown;
    create<I extends {
        forsale?: {
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        } | undefined;
    } & {
        forsale?: ({
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        } & {
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        } & { [K in Exclude<keyof I["forsale"], keyof Forsale>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "forsale">]: never; }>(base?: I | undefined): QueryForsaleResponse;
    fromPartial<I_1 extends {
        forsale?: {
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        } | undefined;
    } & {
        forsale?: ({
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        } & {
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["forsale"], keyof Forsale>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "forsale">]: never; }>(object: I_1): QueryForsaleResponse;
};
interface QueryAllForsalesRequest {
    pagination: PageRequest | undefined;
}
declare const QueryAllForsalesRequest: {
    encode(message: QueryAllForsalesRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllForsalesRequest;
    fromJSON(object: any): QueryAllForsalesRequest;
    toJSON(message: QueryAllForsalesRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryAllForsalesRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryAllForsalesRequest;
};
interface QueryAllForsalesResponse {
    forsale: Forsale[];
    pagination: PageResponse | undefined;
}
declare const QueryAllForsalesResponse: {
    encode(message: QueryAllForsalesResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllForsalesResponse;
    fromJSON(object: any): QueryAllForsalesResponse;
    toJSON(message: QueryAllForsalesResponse): unknown;
    create<I extends {
        forsale?: {
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        forsale?: ({
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        }[] & ({
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        } & {
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        } & { [K in Exclude<keyof I["forsale"][number], keyof Forsale>]: never; })[] & { [K_1 in Exclude<keyof I["forsale"], keyof {
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryAllForsalesResponse>]: never; }>(base?: I | undefined): QueryAllForsalesResponse;
    fromPartial<I_1 extends {
        forsale?: {
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        forsale?: ({
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        }[] & ({
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        } & {
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["forsale"][number], keyof Forsale>]: never; })[] & { [K_5 in Exclude<keyof I_1["forsale"], keyof {
            name?: string | undefined;
            price?: string | undefined;
            owner?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryAllForsalesResponse>]: never; }>(object: I_1): QueryAllForsalesResponse;
};
interface QueryInitRequest {
    address: string;
}
declare const QueryInitRequest: {
    encode(message: QueryInitRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryInitRequest;
    fromJSON(object: any): QueryInitRequest;
    toJSON(message: QueryInitRequest): unknown;
    create<I extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K in Exclude<keyof I, "address">]: never; }>(base?: I | undefined): QueryInitRequest;
    fromPartial<I_1 extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "address">]: never; }>(object: I_1): QueryInitRequest;
};
interface QueryInitResponse {
    init: boolean;
}
declare const QueryInitResponse: {
    encode(message: QueryInitResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryInitResponse;
    fromJSON(object: any): QueryInitResponse;
    toJSON(message: QueryInitResponse): unknown;
    create<I extends {
        init?: boolean | undefined;
    } & {
        init?: boolean | undefined;
    } & { [K in Exclude<keyof I, "init">]: never; }>(base?: I | undefined): QueryInitResponse;
    fromPartial<I_1 extends {
        init?: boolean | undefined;
    } & {
        init?: boolean | undefined;
    } & { [K_1 in Exclude<keyof I_1, "init">]: never; }>(object: I_1): QueryInitResponse;
};
interface QueryAllInitsRequest {
    pagination: PageRequest | undefined;
}
declare const QueryAllInitsRequest: {
    encode(message: QueryAllInitsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllInitsRequest;
    fromJSON(object: any): QueryAllInitsRequest;
    toJSON(message: QueryAllInitsRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryAllInitsRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryAllInitsRequest;
};
interface QueryAllInitsResponse {
    init: Init[];
    pagination: PageResponse | undefined;
}
declare const QueryAllInitsResponse: {
    encode(message: QueryAllInitsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllInitsResponse;
    fromJSON(object: any): QueryAllInitsResponse;
    toJSON(message: QueryAllInitsResponse): unknown;
    create<I extends {
        init?: {
            address?: string | undefined;
            complete?: boolean | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        init?: ({
            address?: string | undefined;
            complete?: boolean | undefined;
        }[] & ({
            address?: string | undefined;
            complete?: boolean | undefined;
        } & {
            address?: string | undefined;
            complete?: boolean | undefined;
        } & { [K in Exclude<keyof I["init"][number], keyof Init>]: never; })[] & { [K_1 in Exclude<keyof I["init"], keyof {
            address?: string | undefined;
            complete?: boolean | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryAllInitsResponse>]: never; }>(base?: I | undefined): QueryAllInitsResponse;
    fromPartial<I_1 extends {
        init?: {
            address?: string | undefined;
            complete?: boolean | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        init?: ({
            address?: string | undefined;
            complete?: boolean | undefined;
        }[] & ({
            address?: string | undefined;
            complete?: boolean | undefined;
        } & {
            address?: string | undefined;
            complete?: boolean | undefined;
        } & { [K_4 in Exclude<keyof I_1["init"][number], keyof Init>]: never; })[] & { [K_5 in Exclude<keyof I_1["init"], keyof {
            address?: string | undefined;
            complete?: boolean | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryAllInitsResponse>]: never; }>(object: I_1): QueryAllInitsResponse;
};
interface QueryListOwnedNamesRequest {
    address: string;
    pagination: PageRequest | undefined;
}
declare const QueryListOwnedNamesRequest: {
    encode(message: QueryListOwnedNamesRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryListOwnedNamesRequest;
    fromJSON(object: any): QueryListOwnedNamesRequest;
    toJSON(message: QueryListOwnedNamesRequest): unknown;
    create<I extends {
        address?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        address?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof QueryListOwnedNamesRequest>]: never; }>(base?: I | undefined): QueryListOwnedNamesRequest;
    fromPartial<I_1 extends {
        address?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        address?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof QueryListOwnedNamesRequest>]: never; }>(object: I_1): QueryListOwnedNamesRequest;
};
interface QueryListOwnedNamesResponse {
    names: Names[];
    pagination: PageResponse | undefined;
}
declare const QueryListOwnedNamesResponse: {
    encode(message: QueryListOwnedNamesResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryListOwnedNamesResponse;
    fromJSON(object: any): QueryListOwnedNamesResponse;
    toJSON(message: QueryListOwnedNamesResponse): unknown;
    create<I extends {
        names?: any[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        names?: (any[] & ({
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: any[] | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & {
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: (any[] & ({
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: any[] | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & {
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: (any[] & ({
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: any[] | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & {
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: (any[] & ({
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: any[] | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & {
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: (any[] & ({
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: any[] | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & {
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: (any[] & ({
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: any[] | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & {
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: (any[] & ({
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: any[] | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & {
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: (any[] & ({
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: any[] | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & {
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: (any[] & ({
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: any[] | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & {
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: (any[] & ({
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: any[] | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & {
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: (any[] & ({
                                                    name?: string | undefined;
                                                    expires?: number | undefined;
                                                    value?: string | undefined;
                                                    data?: string | undefined;
                                                    subdomains?: any[] | undefined;
                                                    tld?: string | undefined;
                                                    locked?: number | undefined;
                                                } & any & { [K in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_1 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & { [K_2 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_3 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & { [K_4 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_5 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & { [K_6 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_7 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & { [K_8 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_9 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & { [K_10 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_11 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & { [K_12 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_13 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & { [K_14 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_15 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & { [K_16 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_17 in Exclude<keyof I["names"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & { [K_18 in Exclude<keyof I["names"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_19 in Exclude<keyof I["names"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & { [K_20 in Exclude<keyof I["names"][number], keyof Names>]: never; })[] & { [K_21 in Exclude<keyof I["names"], keyof any[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_22 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_23 in Exclude<keyof I, keyof QueryListOwnedNamesResponse>]: never; }>(base?: I | undefined): QueryListOwnedNamesResponse;
    fromPartial<I_1 extends {
        names?: any[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        names?: (any[] & ({
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: any[] | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & {
            name?: string | undefined;
            expires?: number | undefined;
            value?: string | undefined;
            data?: string | undefined;
            subdomains?: (any[] & ({
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: any[] | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & {
                name?: string | undefined;
                expires?: number | undefined;
                value?: string | undefined;
                data?: string | undefined;
                subdomains?: (any[] & ({
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: any[] | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & {
                    name?: string | undefined;
                    expires?: number | undefined;
                    value?: string | undefined;
                    data?: string | undefined;
                    subdomains?: (any[] & ({
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: any[] | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & {
                        name?: string | undefined;
                        expires?: number | undefined;
                        value?: string | undefined;
                        data?: string | undefined;
                        subdomains?: (any[] & ({
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: any[] | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & {
                            name?: string | undefined;
                            expires?: number | undefined;
                            value?: string | undefined;
                            data?: string | undefined;
                            subdomains?: (any[] & ({
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: any[] | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & {
                                name?: string | undefined;
                                expires?: number | undefined;
                                value?: string | undefined;
                                data?: string | undefined;
                                subdomains?: (any[] & ({
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: any[] | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & {
                                    name?: string | undefined;
                                    expires?: number | undefined;
                                    value?: string | undefined;
                                    data?: string | undefined;
                                    subdomains?: (any[] & ({
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: any[] | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & {
                                        name?: string | undefined;
                                        expires?: number | undefined;
                                        value?: string | undefined;
                                        data?: string | undefined;
                                        subdomains?: (any[] & ({
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: any[] | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & {
                                            name?: string | undefined;
                                            expires?: number | undefined;
                                            value?: string | undefined;
                                            data?: string | undefined;
                                            subdomains?: (any[] & ({
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: any[] | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & {
                                                name?: string | undefined;
                                                expires?: number | undefined;
                                                value?: string | undefined;
                                                data?: string | undefined;
                                                subdomains?: (any[] & ({
                                                    name?: string | undefined;
                                                    expires?: number | undefined;
                                                    value?: string | undefined;
                                                    data?: string | undefined;
                                                    subdomains?: any[] | undefined;
                                                    tld?: string | undefined;
                                                    locked?: number | undefined;
                                                } & any & { [K_24 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_25 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                                tld?: string | undefined;
                                                locked?: number | undefined;
                                            } & { [K_26 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_27 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                            tld?: string | undefined;
                                            locked?: number | undefined;
                                        } & { [K_28 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_29 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                        tld?: string | undefined;
                                        locked?: number | undefined;
                                    } & { [K_30 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_31 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                    tld?: string | undefined;
                                    locked?: number | undefined;
                                } & { [K_32 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_33 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                                tld?: string | undefined;
                                locked?: number | undefined;
                            } & { [K_34 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_35 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                            tld?: string | undefined;
                            locked?: number | undefined;
                        } & { [K_36 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_37 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                        tld?: string | undefined;
                        locked?: number | undefined;
                    } & { [K_38 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_39 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                    tld?: string | undefined;
                    locked?: number | undefined;
                } & { [K_40 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_41 in Exclude<keyof I_1["names"][number]["subdomains"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
                tld?: string | undefined;
                locked?: number | undefined;
            } & { [K_42 in Exclude<keyof I_1["names"][number]["subdomains"][number], keyof Names>]: never; })[] & { [K_43 in Exclude<keyof I_1["names"][number]["subdomains"], keyof any[]>]: never; }) | undefined;
            tld?: string | undefined;
            locked?: number | undefined;
        } & { [K_44 in Exclude<keyof I_1["names"][number], keyof Names>]: never; })[] & { [K_45 in Exclude<keyof I_1["names"], keyof any[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_46 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_47 in Exclude<keyof I_1, keyof QueryListOwnedNamesResponse>]: never; }>(object: I_1): QueryListOwnedNamesResponse;
};
interface UnaryMethodDefinitionishR$8 extends grpc.UnaryMethodDefinition<any, any> {
    requestStream: any;
    responseStream: any;
}
type UnaryMethodDefinitionish$8 = UnaryMethodDefinitionishR$8;
declare class GrpcWebImpl$8 {
    private host;
    private options;
    constructor(host: string, options: {
        transport?: grpc.TransportFactory;
        debug?: boolean;
        metadata?: grpc.Metadata;
        upStreamRetryCodes?: number[];
    });
    unary<T extends UnaryMethodDefinitionish$8>(methodDesc: T, _request: any, metadata: grpc.Metadata | undefined): Promise<any>;
}
type Builtin$8 = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial$8<T> = T extends Builtin$8 ? T : T extends Array<infer U> ? Array<DeepPartial$8<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial$8<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial$8<T[K]>;
} : Partial<T>;

interface IQueryRns {
    /** Parameters queries the parameters of the module. */
    queryParams(request: DeepPartial$8<QueryParamsRequest$7>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryParamsResponse$7>>;
    /** Queries a Name by index. */
    queryNames(request: DeepPartial$8<QueryNameRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryNameResponse>>;
    /** Queries a list of Names. */
    queryNamesAll(request: DeepPartial$8<QueryAllNamesRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllNamesResponse>>;
    /** Queries a Bid by index. */
    queryBids(request: DeepPartial$8<QueryBidRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryBidResponse>>;
    /** Queries a list of Bids. */
    queryBidsAll(request: DeepPartial$8<QueryAllBidsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllBidsResponse>>;
    /** Queries a Listing by index. */
    queryForsale(request: DeepPartial$8<QueryForsaleRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryForsaleResponse>>;
    /** Queries all Listings. */
    queryForsaleAll(request: DeepPartial$8<QueryAllForsalesRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllForsalesResponse>>;
    /** Queries a Init by index. */
    queryInit(request: DeepPartial$8<QueryInitRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryInitResponse>>;
    /** Queries a list of Init items. */
    queryInitAll(request: DeepPartial$8<QueryAllInitsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllInitsResponse>>;
    /** Queries a list of ListOwnedNames items. */
    queryListOwnedNames(request: DeepPartial$8<QueryListOwnedNamesRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryListOwnedNamesResponse>>;
}

interface ActiveDeals {
    cid: string;
    signee: string;
    provider: string;
    startblock: string;
    endblock: string;
    filesize: string;
    proofverified: string;
    proofsmissed: string;
    blocktoprove: string;
    creator: string;
    merkle: string;
    fid: string;
}
declare const ActiveDeals: {
    encode(message: ActiveDeals, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ActiveDeals;
    fromJSON(object: any): ActiveDeals;
    toJSON(message: ActiveDeals): unknown;
    create<I extends {
        cid?: string | undefined;
        signee?: string | undefined;
        provider?: string | undefined;
        startblock?: string | undefined;
        endblock?: string | undefined;
        filesize?: string | undefined;
        proofverified?: string | undefined;
        proofsmissed?: string | undefined;
        blocktoprove?: string | undefined;
        creator?: string | undefined;
        merkle?: string | undefined;
        fid?: string | undefined;
    } & {
        cid?: string | undefined;
        signee?: string | undefined;
        provider?: string | undefined;
        startblock?: string | undefined;
        endblock?: string | undefined;
        filesize?: string | undefined;
        proofverified?: string | undefined;
        proofsmissed?: string | undefined;
        blocktoprove?: string | undefined;
        creator?: string | undefined;
        merkle?: string | undefined;
        fid?: string | undefined;
    } & { [K in Exclude<keyof I, keyof ActiveDeals>]: never; }>(base?: I | undefined): ActiveDeals;
    fromPartial<I_1 extends {
        cid?: string | undefined;
        signee?: string | undefined;
        provider?: string | undefined;
        startblock?: string | undefined;
        endblock?: string | undefined;
        filesize?: string | undefined;
        proofverified?: string | undefined;
        proofsmissed?: string | undefined;
        blocktoprove?: string | undefined;
        creator?: string | undefined;
        merkle?: string | undefined;
        fid?: string | undefined;
    } & {
        cid?: string | undefined;
        signee?: string | undefined;
        provider?: string | undefined;
        startblock?: string | undefined;
        endblock?: string | undefined;
        filesize?: string | undefined;
        proofverified?: string | undefined;
        proofsmissed?: string | undefined;
        blocktoprove?: string | undefined;
        creator?: string | undefined;
        merkle?: string | undefined;
        fid?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof ActiveDeals>]: never; }>(object: I_1): ActiveDeals;
};

interface Contracts {
    cid: string;
    priceamt: string;
    pricedenom: string;
    creator: string;
    merkle: string;
    signee: string;
    duration: string;
    filesize: string;
    fid: string;
    age: number;
}
declare const Contracts: {
    encode(message: Contracts, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Contracts;
    fromJSON(object: any): Contracts;
    toJSON(message: Contracts): unknown;
    create<I extends {
        cid?: string | undefined;
        priceamt?: string | undefined;
        pricedenom?: string | undefined;
        creator?: string | undefined;
        merkle?: string | undefined;
        signee?: string | undefined;
        duration?: string | undefined;
        filesize?: string | undefined;
        fid?: string | undefined;
        age?: number | undefined;
    } & {
        cid?: string | undefined;
        priceamt?: string | undefined;
        pricedenom?: string | undefined;
        creator?: string | undefined;
        merkle?: string | undefined;
        signee?: string | undefined;
        duration?: string | undefined;
        filesize?: string | undefined;
        fid?: string | undefined;
        age?: number | undefined;
    } & { [K in Exclude<keyof I, keyof Contracts>]: never; }>(base?: I | undefined): Contracts;
    fromPartial<I_1 extends {
        cid?: string | undefined;
        priceamt?: string | undefined;
        pricedenom?: string | undefined;
        creator?: string | undefined;
        merkle?: string | undefined;
        signee?: string | undefined;
        duration?: string | undefined;
        filesize?: string | undefined;
        fid?: string | undefined;
        age?: number | undefined;
    } & {
        cid?: string | undefined;
        priceamt?: string | undefined;
        pricedenom?: string | undefined;
        creator?: string | undefined;
        merkle?: string | undefined;
        signee?: string | undefined;
        duration?: string | undefined;
        filesize?: string | undefined;
        fid?: string | undefined;
        age?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Contracts>]: never; }>(object: I_1): Contracts;
};

interface FidCid {
    fid: string;
    cids: string;
}
declare const FidCid: {
    encode(message: FidCid, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): FidCid;
    fromJSON(object: any): FidCid;
    toJSON(message: FidCid): unknown;
    create<I extends {
        fid?: string | undefined;
        cids?: string | undefined;
    } & {
        fid?: string | undefined;
        cids?: string | undefined;
    } & { [K in Exclude<keyof I, keyof FidCid>]: never; }>(base?: I | undefined): FidCid;
    fromPartial<I_1 extends {
        fid?: string | undefined;
        cids?: string | undefined;
    } & {
        fid?: string | undefined;
        cids?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof FidCid>]: never; }>(object: I_1): FidCid;
};

/** Params defines the parameters for the module. */
interface Params$3 {
    depositAccount: string;
    proofWindow: number;
    /**
     * Chunk size of a file is divided into
     * The value cannot be smaller than 1 to avoid zero division
     */
    chunkSize: number;
    missesToBurn: number;
    priceFeed: string;
    /** Life span of a contract in blocks */
    maxContractAgeInBlocks: number;
    pricePerTbPerMonth: number;
}
declare const Params$3: {
    encode(message: Params$3, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Params$3;
    fromJSON(object: any): Params$3;
    toJSON(message: Params$3): unknown;
    create<I extends {
        depositAccount?: string | undefined;
        proofWindow?: number | undefined;
        chunkSize?: number | undefined;
        missesToBurn?: number | undefined;
        priceFeed?: string | undefined;
        maxContractAgeInBlocks?: number | undefined;
        pricePerTbPerMonth?: number | undefined;
    } & {
        depositAccount?: string | undefined;
        proofWindow?: number | undefined;
        chunkSize?: number | undefined;
        missesToBurn?: number | undefined;
        priceFeed?: string | undefined;
        maxContractAgeInBlocks?: number | undefined;
        pricePerTbPerMonth?: number | undefined;
    } & { [K in Exclude<keyof I, keyof Params$3>]: never; }>(base?: I | undefined): Params$3;
    fromPartial<I_1 extends {
        depositAccount?: string | undefined;
        proofWindow?: number | undefined;
        chunkSize?: number | undefined;
        missesToBurn?: number | undefined;
        priceFeed?: string | undefined;
        maxContractAgeInBlocks?: number | undefined;
        pricePerTbPerMonth?: number | undefined;
    } & {
        depositAccount?: string | undefined;
        proofWindow?: number | undefined;
        chunkSize?: number | undefined;
        missesToBurn?: number | undefined;
        priceFeed?: string | undefined;
        maxContractAgeInBlocks?: number | undefined;
        pricePerTbPerMonth?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Params$3>]: never; }>(object: I_1): Params$3;
};

interface StoragePaymentInfo {
    start: Date | undefined;
    end: Date | undefined;
    spaceAvailable: number;
    spaceUsed: number;
    address: string;
}
declare const StoragePaymentInfo: {
    encode(message: StoragePaymentInfo, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): StoragePaymentInfo;
    fromJSON(object: any): StoragePaymentInfo;
    toJSON(message: StoragePaymentInfo): unknown;
    create<I extends {
        start?: Date | undefined;
        end?: Date | undefined;
        spaceAvailable?: number | undefined;
        spaceUsed?: number | undefined;
        address?: string | undefined;
    } & {
        start?: Date | undefined;
        end?: Date | undefined;
        spaceAvailable?: number | undefined;
        spaceUsed?: number | undefined;
        address?: string | undefined;
    } & { [K in Exclude<keyof I, keyof StoragePaymentInfo>]: never; }>(base?: I | undefined): StoragePaymentInfo;
    fromPartial<I_1 extends {
        start?: Date | undefined;
        end?: Date | undefined;
        spaceAvailable?: number | undefined;
        spaceUsed?: number | undefined;
        address?: string | undefined;
    } & {
        start?: Date | undefined;
        end?: Date | undefined;
        spaceAvailable?: number | undefined;
        spaceUsed?: number | undefined;
        address?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof StoragePaymentInfo>]: never; }>(object: I_1): StoragePaymentInfo;
};

interface Providers {
    address: string;
    ip: string;
    totalspace: string;
    burnedContracts: string;
    creator: string;
    keybaseIdentity: string;
    authClaimers: string[];
}
declare const Providers: {
    encode(message: Providers, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Providers;
    fromJSON(object: any): Providers;
    toJSON(message: Providers): unknown;
    create<I extends {
        address?: string | undefined;
        ip?: string | undefined;
        totalspace?: string | undefined;
        burnedContracts?: string | undefined;
        creator?: string | undefined;
        keybaseIdentity?: string | undefined;
        authClaimers?: string[] | undefined;
    } & {
        address?: string | undefined;
        ip?: string | undefined;
        totalspace?: string | undefined;
        burnedContracts?: string | undefined;
        creator?: string | undefined;
        keybaseIdentity?: string | undefined;
        authClaimers?: (string[] & string[] & { [K in Exclude<keyof I["authClaimers"], keyof string[]>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof Providers>]: never; }>(base?: I | undefined): Providers;
    fromPartial<I_1 extends {
        address?: string | undefined;
        ip?: string | undefined;
        totalspace?: string | undefined;
        burnedContracts?: string | undefined;
        creator?: string | undefined;
        keybaseIdentity?: string | undefined;
        authClaimers?: string[] | undefined;
    } & {
        address?: string | undefined;
        ip?: string | undefined;
        totalspace?: string | undefined;
        burnedContracts?: string | undefined;
        creator?: string | undefined;
        keybaseIdentity?: string | undefined;
        authClaimers?: (string[] & string[] & { [K_2 in Exclude<keyof I_1["authClaimers"], keyof string[]>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof Providers>]: never; }>(object: I_1): Providers;
};

interface Strays {
    cid: string;
    fid: string;
    signee: string;
    filesize: string;
    merkle: string;
    end: number;
}
declare const Strays: {
    encode(message: Strays, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Strays;
    fromJSON(object: any): Strays;
    toJSON(message: Strays): unknown;
    create<I extends {
        cid?: string | undefined;
        fid?: string | undefined;
        signee?: string | undefined;
        filesize?: string | undefined;
        merkle?: string | undefined;
        end?: number | undefined;
    } & {
        cid?: string | undefined;
        fid?: string | undefined;
        signee?: string | undefined;
        filesize?: string | undefined;
        merkle?: string | undefined;
        end?: number | undefined;
    } & { [K in Exclude<keyof I, keyof Strays>]: never; }>(base?: I | undefined): Strays;
    fromPartial<I_1 extends {
        cid?: string | undefined;
        fid?: string | undefined;
        signee?: string | undefined;
        filesize?: string | undefined;
        merkle?: string | undefined;
        end?: number | undefined;
    } & {
        cid?: string | undefined;
        fid?: string | undefined;
        signee?: string | undefined;
        filesize?: string | undefined;
        merkle?: string | undefined;
        end?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Strays>]: never; }>(object: I_1): Strays;
};

/** QueryParamsRequest is request type for the Query/Params RPC method. */
interface QueryParamsRequest$6 {
}
declare const QueryParamsRequest$6: {
    encode(_: QueryParamsRequest$6, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest$6;
    fromJSON(_: any): QueryParamsRequest$6;
    toJSON(_: QueryParamsRequest$6): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): QueryParamsRequest$6;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): QueryParamsRequest$6;
};
/** QueryParamsResponse is response type for the Query/Params RPC method. */
interface QueryParamsResponse$6 {
    /** params holds all the parameters of this module. */
    params: Params$3 | undefined;
}
declare const QueryParamsResponse$6: {
    encode(message: QueryParamsResponse$6, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse$6;
    fromJSON(object: any): QueryParamsResponse$6;
    toJSON(message: QueryParamsResponse$6): unknown;
    create<I extends {
        params?: {
            depositAccount?: string | undefined;
            proofWindow?: number | undefined;
            chunkSize?: number | undefined;
            missesToBurn?: number | undefined;
            priceFeed?: string | undefined;
            maxContractAgeInBlocks?: number | undefined;
            pricePerTbPerMonth?: number | undefined;
        } | undefined;
    } & {
        params?: ({
            depositAccount?: string | undefined;
            proofWindow?: number | undefined;
            chunkSize?: number | undefined;
            missesToBurn?: number | undefined;
            priceFeed?: string | undefined;
            maxContractAgeInBlocks?: number | undefined;
            pricePerTbPerMonth?: number | undefined;
        } & {
            depositAccount?: string | undefined;
            proofWindow?: number | undefined;
            chunkSize?: number | undefined;
            missesToBurn?: number | undefined;
            priceFeed?: string | undefined;
            maxContractAgeInBlocks?: number | undefined;
            pricePerTbPerMonth?: number | undefined;
        } & { [K in Exclude<keyof I["params"], keyof Params$3>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "params">]: never; }>(base?: I | undefined): QueryParamsResponse$6;
    fromPartial<I_1 extends {
        params?: {
            depositAccount?: string | undefined;
            proofWindow?: number | undefined;
            chunkSize?: number | undefined;
            missesToBurn?: number | undefined;
            priceFeed?: string | undefined;
            maxContractAgeInBlocks?: number | undefined;
            pricePerTbPerMonth?: number | undefined;
        } | undefined;
    } & {
        params?: ({
            depositAccount?: string | undefined;
            proofWindow?: number | undefined;
            chunkSize?: number | undefined;
            missesToBurn?: number | undefined;
            priceFeed?: string | undefined;
            maxContractAgeInBlocks?: number | undefined;
            pricePerTbPerMonth?: number | undefined;
        } & {
            depositAccount?: string | undefined;
            proofWindow?: number | undefined;
            chunkSize?: number | undefined;
            missesToBurn?: number | undefined;
            priceFeed?: string | undefined;
            maxContractAgeInBlocks?: number | undefined;
            pricePerTbPerMonth?: number | undefined;
        } & { [K_2 in Exclude<keyof I_1["params"], keyof Params$3>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "params">]: never; }>(object: I_1): QueryParamsResponse$6;
};
interface QueryContractRequest {
    cid: string;
}
declare const QueryContractRequest: {
    encode(message: QueryContractRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryContractRequest;
    fromJSON(object: any): QueryContractRequest;
    toJSON(message: QueryContractRequest): unknown;
    create<I extends {
        cid?: string | undefined;
    } & {
        cid?: string | undefined;
    } & { [K in Exclude<keyof I, "cid">]: never; }>(base?: I | undefined): QueryContractRequest;
    fromPartial<I_1 extends {
        cid?: string | undefined;
    } & {
        cid?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "cid">]: never; }>(object: I_1): QueryContractRequest;
};
interface QueryContractResponse {
    contracts: Contracts | undefined;
}
declare const QueryContractResponse: {
    encode(message: QueryContractResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryContractResponse;
    fromJSON(object: any): QueryContractResponse;
    toJSON(message: QueryContractResponse): unknown;
    create<I extends {
        contracts?: {
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        } | undefined;
    } & {
        contracts?: ({
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        } & {
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        } & { [K in Exclude<keyof I["contracts"], keyof Contracts>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "contracts">]: never; }>(base?: I | undefined): QueryContractResponse;
    fromPartial<I_1 extends {
        contracts?: {
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        } | undefined;
    } & {
        contracts?: ({
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        } & {
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        } & { [K_2 in Exclude<keyof I_1["contracts"], keyof Contracts>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "contracts">]: never; }>(object: I_1): QueryContractResponse;
};
interface QueryAllContractsRequest {
    pagination: PageRequest | undefined;
}
declare const QueryAllContractsRequest: {
    encode(message: QueryAllContractsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllContractsRequest;
    fromJSON(object: any): QueryAllContractsRequest;
    toJSON(message: QueryAllContractsRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryAllContractsRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryAllContractsRequest;
};
interface QueryAllContractsResponse {
    contracts: Contracts[];
    pagination: PageResponse | undefined;
}
declare const QueryAllContractsResponse: {
    encode(message: QueryAllContractsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllContractsResponse;
    fromJSON(object: any): QueryAllContractsResponse;
    toJSON(message: QueryAllContractsResponse): unknown;
    create<I extends {
        contracts?: {
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        contracts?: ({
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        }[] & ({
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        } & {
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        } & { [K in Exclude<keyof I["contracts"][number], keyof Contracts>]: never; })[] & { [K_1 in Exclude<keyof I["contracts"], keyof {
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryAllContractsResponse>]: never; }>(base?: I | undefined): QueryAllContractsResponse;
    fromPartial<I_1 extends {
        contracts?: {
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        contracts?: ({
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        }[] & ({
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        } & {
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        } & { [K_4 in Exclude<keyof I_1["contracts"][number], keyof Contracts>]: never; })[] & { [K_5 in Exclude<keyof I_1["contracts"], keyof {
            cid?: string | undefined;
            priceamt?: string | undefined;
            pricedenom?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            signee?: string | undefined;
            duration?: string | undefined;
            filesize?: string | undefined;
            fid?: string | undefined;
            age?: number | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryAllContractsResponse>]: never; }>(object: I_1): QueryAllContractsResponse;
};
interface QueryActiveDealRequest {
    cid: string;
}
declare const QueryActiveDealRequest: {
    encode(message: QueryActiveDealRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryActiveDealRequest;
    fromJSON(object: any): QueryActiveDealRequest;
    toJSON(message: QueryActiveDealRequest): unknown;
    create<I extends {
        cid?: string | undefined;
    } & {
        cid?: string | undefined;
    } & { [K in Exclude<keyof I, "cid">]: never; }>(base?: I | undefined): QueryActiveDealRequest;
    fromPartial<I_1 extends {
        cid?: string | undefined;
    } & {
        cid?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "cid">]: never; }>(object: I_1): QueryActiveDealRequest;
};
interface QueryActiveDealResponse {
    activeDeals: ActiveDeals | undefined;
}
declare const QueryActiveDealResponse: {
    encode(message: QueryActiveDealResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryActiveDealResponse;
    fromJSON(object: any): QueryActiveDealResponse;
    toJSON(message: QueryActiveDealResponse): unknown;
    create<I extends {
        activeDeals?: {
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        } | undefined;
    } & {
        activeDeals?: ({
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        } & {
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        } & { [K in Exclude<keyof I["activeDeals"], keyof ActiveDeals>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "activeDeals">]: never; }>(base?: I | undefined): QueryActiveDealResponse;
    fromPartial<I_1 extends {
        activeDeals?: {
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        } | undefined;
    } & {
        activeDeals?: ({
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        } & {
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["activeDeals"], keyof ActiveDeals>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "activeDeals">]: never; }>(object: I_1): QueryActiveDealResponse;
};
interface QueryAllActiveDealsRequest {
    pagination: PageRequest | undefined;
}
declare const QueryAllActiveDealsRequest: {
    encode(message: QueryAllActiveDealsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllActiveDealsRequest;
    fromJSON(object: any): QueryAllActiveDealsRequest;
    toJSON(message: QueryAllActiveDealsRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryAllActiveDealsRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryAllActiveDealsRequest;
};
interface QueryAllActiveDealsResponse {
    activeDeals: ActiveDeals[];
    pagination: PageResponse | undefined;
}
declare const QueryAllActiveDealsResponse: {
    encode(message: QueryAllActiveDealsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllActiveDealsResponse;
    fromJSON(object: any): QueryAllActiveDealsResponse;
    toJSON(message: QueryAllActiveDealsResponse): unknown;
    create<I extends {
        activeDeals?: {
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        activeDeals?: ({
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        }[] & ({
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        } & {
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        } & { [K in Exclude<keyof I["activeDeals"][number], keyof ActiveDeals>]: never; })[] & { [K_1 in Exclude<keyof I["activeDeals"], keyof {
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryAllActiveDealsResponse>]: never; }>(base?: I | undefined): QueryAllActiveDealsResponse;
    fromPartial<I_1 extends {
        activeDeals?: {
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        activeDeals?: ({
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        }[] & ({
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        } & {
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["activeDeals"][number], keyof ActiveDeals>]: never; })[] & { [K_5 in Exclude<keyof I_1["activeDeals"], keyof {
            cid?: string | undefined;
            signee?: string | undefined;
            provider?: string | undefined;
            startblock?: string | undefined;
            endblock?: string | undefined;
            filesize?: string | undefined;
            proofverified?: string | undefined;
            proofsmissed?: string | undefined;
            blocktoprove?: string | undefined;
            creator?: string | undefined;
            merkle?: string | undefined;
            fid?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryAllActiveDealsResponse>]: never; }>(object: I_1): QueryAllActiveDealsResponse;
};
interface QueryProviderRequest {
    address: string;
}
declare const QueryProviderRequest: {
    encode(message: QueryProviderRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryProviderRequest;
    fromJSON(object: any): QueryProviderRequest;
    toJSON(message: QueryProviderRequest): unknown;
    create<I extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K in Exclude<keyof I, "address">]: never; }>(base?: I | undefined): QueryProviderRequest;
    fromPartial<I_1 extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "address">]: never; }>(object: I_1): QueryProviderRequest;
};
interface QueryProviderResponse {
    providers: Providers | undefined;
}
declare const QueryProviderResponse: {
    encode(message: QueryProviderResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryProviderResponse;
    fromJSON(object: any): QueryProviderResponse;
    toJSON(message: QueryProviderResponse): unknown;
    create<I extends {
        providers?: {
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: string[] | undefined;
        } | undefined;
    } & {
        providers?: ({
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: string[] | undefined;
        } & {
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: (string[] & string[] & { [K in Exclude<keyof I["providers"]["authClaimers"], keyof string[]>]: never; }) | undefined;
        } & { [K_1 in Exclude<keyof I["providers"], keyof Providers>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, "providers">]: never; }>(base?: I | undefined): QueryProviderResponse;
    fromPartial<I_1 extends {
        providers?: {
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: string[] | undefined;
        } | undefined;
    } & {
        providers?: ({
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: string[] | undefined;
        } & {
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: (string[] & string[] & { [K_3 in Exclude<keyof I_1["providers"]["authClaimers"], keyof string[]>]: never; }) | undefined;
        } & { [K_4 in Exclude<keyof I_1["providers"], keyof Providers>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, "providers">]: never; }>(object: I_1): QueryProviderResponse;
};
interface QueryAllProvidersRequest {
    pagination: PageRequest | undefined;
}
declare const QueryAllProvidersRequest: {
    encode(message: QueryAllProvidersRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllProvidersRequest;
    fromJSON(object: any): QueryAllProvidersRequest;
    toJSON(message: QueryAllProvidersRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryAllProvidersRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryAllProvidersRequest;
};
interface QueryAllProvidersResponse {
    providers: Providers[];
    pagination: PageResponse | undefined;
}
declare const QueryAllProvidersResponse: {
    encode(message: QueryAllProvidersResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllProvidersResponse;
    fromJSON(object: any): QueryAllProvidersResponse;
    toJSON(message: QueryAllProvidersResponse): unknown;
    create<I extends {
        providers?: {
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: string[] | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        providers?: ({
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: string[] | undefined;
        }[] & ({
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: string[] | undefined;
        } & {
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: (string[] & string[] & { [K in Exclude<keyof I["providers"][number]["authClaimers"], keyof string[]>]: never; }) | undefined;
        } & { [K_1 in Exclude<keyof I["providers"][number], keyof Providers>]: never; })[] & { [K_2 in Exclude<keyof I["providers"], keyof {
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: string[] | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_3 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_4 in Exclude<keyof I, keyof QueryAllProvidersResponse>]: never; }>(base?: I | undefined): QueryAllProvidersResponse;
    fromPartial<I_1 extends {
        providers?: {
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: string[] | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        providers?: ({
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: string[] | undefined;
        }[] & ({
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: string[] | undefined;
        } & {
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: (string[] & string[] & { [K_5 in Exclude<keyof I_1["providers"][number]["authClaimers"], keyof string[]>]: never; }) | undefined;
        } & { [K_6 in Exclude<keyof I_1["providers"][number], keyof Providers>]: never; })[] & { [K_7 in Exclude<keyof I_1["providers"], keyof {
            address?: string | undefined;
            ip?: string | undefined;
            totalspace?: string | undefined;
            burnedContracts?: string | undefined;
            creator?: string | undefined;
            keybaseIdentity?: string | undefined;
            authClaimers?: string[] | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_8 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_9 in Exclude<keyof I_1, keyof QueryAllProvidersResponse>]: never; }>(object: I_1): QueryAllProvidersResponse;
};
interface QueryFreespaceRequest {
    address: string;
}
declare const QueryFreespaceRequest: {
    encode(message: QueryFreespaceRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryFreespaceRequest;
    fromJSON(object: any): QueryFreespaceRequest;
    toJSON(message: QueryFreespaceRequest): unknown;
    create<I extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K in Exclude<keyof I, "address">]: never; }>(base?: I | undefined): QueryFreespaceRequest;
    fromPartial<I_1 extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "address">]: never; }>(object: I_1): QueryFreespaceRequest;
};
interface QueryFreespaceResponse {
    space: string;
}
declare const QueryFreespaceResponse: {
    encode(message: QueryFreespaceResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryFreespaceResponse;
    fromJSON(object: any): QueryFreespaceResponse;
    toJSON(message: QueryFreespaceResponse): unknown;
    create<I extends {
        space?: string | undefined;
    } & {
        space?: string | undefined;
    } & { [K in Exclude<keyof I, "space">]: never; }>(base?: I | undefined): QueryFreespaceResponse;
    fromPartial<I_1 extends {
        space?: string | undefined;
    } & {
        space?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "space">]: never; }>(object: I_1): QueryFreespaceResponse;
};
interface QueryFindFileRequest {
    fid: string;
}
declare const QueryFindFileRequest: {
    encode(message: QueryFindFileRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryFindFileRequest;
    fromJSON(object: any): QueryFindFileRequest;
    toJSON(message: QueryFindFileRequest): unknown;
    create<I extends {
        fid?: string | undefined;
    } & {
        fid?: string | undefined;
    } & { [K in Exclude<keyof I, "fid">]: never; }>(base?: I | undefined): QueryFindFileRequest;
    fromPartial<I_1 extends {
        fid?: string | undefined;
    } & {
        fid?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "fid">]: never; }>(object: I_1): QueryFindFileRequest;
};
interface QueryFindFileResponse {
    providerIps: string;
}
declare const QueryFindFileResponse: {
    encode(message: QueryFindFileResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryFindFileResponse;
    fromJSON(object: any): QueryFindFileResponse;
    toJSON(message: QueryFindFileResponse): unknown;
    create<I extends {
        providerIps?: string | undefined;
    } & {
        providerIps?: string | undefined;
    } & { [K in Exclude<keyof I, "providerIps">]: never; }>(base?: I | undefined): QueryFindFileResponse;
    fromPartial<I_1 extends {
        providerIps?: string | undefined;
    } & {
        providerIps?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "providerIps">]: never; }>(object: I_1): QueryFindFileResponse;
};
interface QueryStrayRequest {
    cid: string;
}
declare const QueryStrayRequest: {
    encode(message: QueryStrayRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryStrayRequest;
    fromJSON(object: any): QueryStrayRequest;
    toJSON(message: QueryStrayRequest): unknown;
    create<I extends {
        cid?: string | undefined;
    } & {
        cid?: string | undefined;
    } & { [K in Exclude<keyof I, "cid">]: never; }>(base?: I | undefined): QueryStrayRequest;
    fromPartial<I_1 extends {
        cid?: string | undefined;
    } & {
        cid?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "cid">]: never; }>(object: I_1): QueryStrayRequest;
};
interface QueryStrayResponse {
    strays: Strays | undefined;
}
declare const QueryStrayResponse: {
    encode(message: QueryStrayResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryStrayResponse;
    fromJSON(object: any): QueryStrayResponse;
    toJSON(message: QueryStrayResponse): unknown;
    create<I extends {
        strays?: {
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        } | undefined;
    } & {
        strays?: ({
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        } & {
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        } & { [K in Exclude<keyof I["strays"], keyof Strays>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "strays">]: never; }>(base?: I | undefined): QueryStrayResponse;
    fromPartial<I_1 extends {
        strays?: {
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        } | undefined;
    } & {
        strays?: ({
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        } & {
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        } & { [K_2 in Exclude<keyof I_1["strays"], keyof Strays>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "strays">]: never; }>(object: I_1): QueryStrayResponse;
};
interface QueryAllStraysRequest {
    pagination: PageRequest | undefined;
}
declare const QueryAllStraysRequest: {
    encode(message: QueryAllStraysRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllStraysRequest;
    fromJSON(object: any): QueryAllStraysRequest;
    toJSON(message: QueryAllStraysRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryAllStraysRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryAllStraysRequest;
};
interface QueryAllStraysResponse {
    strays: Strays[];
    pagination: PageResponse | undefined;
}
declare const QueryAllStraysResponse: {
    encode(message: QueryAllStraysResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllStraysResponse;
    fromJSON(object: any): QueryAllStraysResponse;
    toJSON(message: QueryAllStraysResponse): unknown;
    create<I extends {
        strays?: {
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        strays?: ({
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        }[] & ({
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        } & {
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        } & { [K in Exclude<keyof I["strays"][number], keyof Strays>]: never; })[] & { [K_1 in Exclude<keyof I["strays"], keyof {
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryAllStraysResponse>]: never; }>(base?: I | undefined): QueryAllStraysResponse;
    fromPartial<I_1 extends {
        strays?: {
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        strays?: ({
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        }[] & ({
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        } & {
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        } & { [K_4 in Exclude<keyof I_1["strays"][number], keyof Strays>]: never; })[] & { [K_5 in Exclude<keyof I_1["strays"], keyof {
            cid?: string | undefined;
            fid?: string | undefined;
            signee?: string | undefined;
            filesize?: string | undefined;
            merkle?: string | undefined;
            end?: number | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryAllStraysResponse>]: never; }>(object: I_1): QueryAllStraysResponse;
};
interface QueryClientFreeSpaceRequest {
    address: string;
}
declare const QueryClientFreeSpaceRequest: {
    encode(message: QueryClientFreeSpaceRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryClientFreeSpaceRequest;
    fromJSON(object: any): QueryClientFreeSpaceRequest;
    toJSON(message: QueryClientFreeSpaceRequest): unknown;
    create<I extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K in Exclude<keyof I, "address">]: never; }>(base?: I | undefined): QueryClientFreeSpaceRequest;
    fromPartial<I_1 extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "address">]: never; }>(object: I_1): QueryClientFreeSpaceRequest;
};
interface QueryClientFreeSpaceResponse {
    bytesfree: number;
}
declare const QueryClientFreeSpaceResponse: {
    encode(message: QueryClientFreeSpaceResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryClientFreeSpaceResponse;
    fromJSON(object: any): QueryClientFreeSpaceResponse;
    toJSON(message: QueryClientFreeSpaceResponse): unknown;
    create<I extends {
        bytesfree?: number | undefined;
    } & {
        bytesfree?: number | undefined;
    } & { [K in Exclude<keyof I, "bytesfree">]: never; }>(base?: I | undefined): QueryClientFreeSpaceResponse;
    fromPartial<I_1 extends {
        bytesfree?: number | undefined;
    } & {
        bytesfree?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, "bytesfree">]: never; }>(object: I_1): QueryClientFreeSpaceResponse;
};
interface QueryFidCidRequest {
    fid: string;
}
declare const QueryFidCidRequest: {
    encode(message: QueryFidCidRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryFidCidRequest;
    fromJSON(object: any): QueryFidCidRequest;
    toJSON(message: QueryFidCidRequest): unknown;
    create<I extends {
        fid?: string | undefined;
    } & {
        fid?: string | undefined;
    } & { [K in Exclude<keyof I, "fid">]: never; }>(base?: I | undefined): QueryFidCidRequest;
    fromPartial<I_1 extends {
        fid?: string | undefined;
    } & {
        fid?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "fid">]: never; }>(object: I_1): QueryFidCidRequest;
};
interface QueryFidCidResponse {
    fidCid: FidCid | undefined;
}
declare const QueryFidCidResponse: {
    encode(message: QueryFidCidResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryFidCidResponse;
    fromJSON(object: any): QueryFidCidResponse;
    toJSON(message: QueryFidCidResponse): unknown;
    create<I extends {
        fidCid?: {
            fid?: string | undefined;
            cids?: string | undefined;
        } | undefined;
    } & {
        fidCid?: ({
            fid?: string | undefined;
            cids?: string | undefined;
        } & {
            fid?: string | undefined;
            cids?: string | undefined;
        } & { [K in Exclude<keyof I["fidCid"], keyof FidCid>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "fidCid">]: never; }>(base?: I | undefined): QueryFidCidResponse;
    fromPartial<I_1 extends {
        fidCid?: {
            fid?: string | undefined;
            cids?: string | undefined;
        } | undefined;
    } & {
        fidCid?: ({
            fid?: string | undefined;
            cids?: string | undefined;
        } & {
            fid?: string | undefined;
            cids?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["fidCid"], keyof FidCid>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "fidCid">]: never; }>(object: I_1): QueryFidCidResponse;
};
interface QueryAllFidCidRequest {
    pagination: PageRequest | undefined;
}
declare const QueryAllFidCidRequest: {
    encode(message: QueryAllFidCidRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllFidCidRequest;
    fromJSON(object: any): QueryAllFidCidRequest;
    toJSON(message: QueryAllFidCidRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryAllFidCidRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryAllFidCidRequest;
};
interface QueryAllFidCidResponse {
    fidCid: FidCid[];
    pagination: PageResponse | undefined;
}
declare const QueryAllFidCidResponse: {
    encode(message: QueryAllFidCidResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllFidCidResponse;
    fromJSON(object: any): QueryAllFidCidResponse;
    toJSON(message: QueryAllFidCidResponse): unknown;
    create<I extends {
        fidCid?: {
            fid?: string | undefined;
            cids?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        fidCid?: ({
            fid?: string | undefined;
            cids?: string | undefined;
        }[] & ({
            fid?: string | undefined;
            cids?: string | undefined;
        } & {
            fid?: string | undefined;
            cids?: string | undefined;
        } & { [K in Exclude<keyof I["fidCid"][number], keyof FidCid>]: never; })[] & { [K_1 in Exclude<keyof I["fidCid"], keyof {
            fid?: string | undefined;
            cids?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryAllFidCidResponse>]: never; }>(base?: I | undefined): QueryAllFidCidResponse;
    fromPartial<I_1 extends {
        fidCid?: {
            fid?: string | undefined;
            cids?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        fidCid?: ({
            fid?: string | undefined;
            cids?: string | undefined;
        }[] & ({
            fid?: string | undefined;
            cids?: string | undefined;
        } & {
            fid?: string | undefined;
            cids?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["fidCid"][number], keyof FidCid>]: never; })[] & { [K_5 in Exclude<keyof I_1["fidCid"], keyof {
            fid?: string | undefined;
            cids?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryAllFidCidResponse>]: never; }>(object: I_1): QueryAllFidCidResponse;
};
interface QueryPayDataRequest {
    address: string;
}
declare const QueryPayDataRequest: {
    encode(message: QueryPayDataRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryPayDataRequest;
    fromJSON(object: any): QueryPayDataRequest;
    toJSON(message: QueryPayDataRequest): unknown;
    create<I extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K in Exclude<keyof I, "address">]: never; }>(base?: I | undefined): QueryPayDataRequest;
    fromPartial<I_1 extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "address">]: never; }>(object: I_1): QueryPayDataRequest;
};
interface QueryPayDataResponse {
    timeRemaining: number;
    bytes: number;
}
declare const QueryPayDataResponse: {
    encode(message: QueryPayDataResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryPayDataResponse;
    fromJSON(object: any): QueryPayDataResponse;
    toJSON(message: QueryPayDataResponse): unknown;
    create<I extends {
        timeRemaining?: number | undefined;
        bytes?: number | undefined;
    } & {
        timeRemaining?: number | undefined;
        bytes?: number | undefined;
    } & { [K in Exclude<keyof I, keyof QueryPayDataResponse>]: never; }>(base?: I | undefined): QueryPayDataResponse;
    fromPartial<I_1 extends {
        timeRemaining?: number | undefined;
        bytes?: number | undefined;
    } & {
        timeRemaining?: number | undefined;
        bytes?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof QueryPayDataResponse>]: never; }>(object: I_1): QueryPayDataResponse;
};
interface QueryStoragePaymentInfoRequest {
    address: string;
}
declare const QueryStoragePaymentInfoRequest: {
    encode(message: QueryStoragePaymentInfoRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryStoragePaymentInfoRequest;
    fromJSON(object: any): QueryStoragePaymentInfoRequest;
    toJSON(message: QueryStoragePaymentInfoRequest): unknown;
    create<I extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K in Exclude<keyof I, "address">]: never; }>(base?: I | undefined): QueryStoragePaymentInfoRequest;
    fromPartial<I_1 extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "address">]: never; }>(object: I_1): QueryStoragePaymentInfoRequest;
};
interface QueryStoragePaymentInfoResponse {
    storagePaymentInfo: StoragePaymentInfo | undefined;
}
declare const QueryStoragePaymentInfoResponse: {
    encode(message: QueryStoragePaymentInfoResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryStoragePaymentInfoResponse;
    fromJSON(object: any): QueryStoragePaymentInfoResponse;
    toJSON(message: QueryStoragePaymentInfoResponse): unknown;
    create<I extends {
        storagePaymentInfo?: {
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        } | undefined;
    } & {
        storagePaymentInfo?: ({
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        } & {
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        } & { [K in Exclude<keyof I["storagePaymentInfo"], keyof StoragePaymentInfo>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "storagePaymentInfo">]: never; }>(base?: I | undefined): QueryStoragePaymentInfoResponse;
    fromPartial<I_1 extends {
        storagePaymentInfo?: {
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        } | undefined;
    } & {
        storagePaymentInfo?: ({
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        } & {
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["storagePaymentInfo"], keyof StoragePaymentInfo>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "storagePaymentInfo">]: never; }>(object: I_1): QueryStoragePaymentInfoResponse;
};
interface QueryAllStoragePaymentInfoRequest {
    pagination: PageRequest | undefined;
}
declare const QueryAllStoragePaymentInfoRequest: {
    encode(message: QueryAllStoragePaymentInfoRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllStoragePaymentInfoRequest;
    fromJSON(object: any): QueryAllStoragePaymentInfoRequest;
    toJSON(message: QueryAllStoragePaymentInfoRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryAllStoragePaymentInfoRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryAllStoragePaymentInfoRequest;
};
interface QueryAllStoragePaymentInfoResponse {
    storagePaymentInfo: StoragePaymentInfo[];
    pagination: PageResponse | undefined;
}
declare const QueryAllStoragePaymentInfoResponse: {
    encode(message: QueryAllStoragePaymentInfoResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllStoragePaymentInfoResponse;
    fromJSON(object: any): QueryAllStoragePaymentInfoResponse;
    toJSON(message: QueryAllStoragePaymentInfoResponse): unknown;
    create<I extends {
        storagePaymentInfo?: {
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        storagePaymentInfo?: ({
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        }[] & ({
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        } & {
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        } & { [K in Exclude<keyof I["storagePaymentInfo"][number], keyof StoragePaymentInfo>]: never; })[] & { [K_1 in Exclude<keyof I["storagePaymentInfo"], keyof {
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryAllStoragePaymentInfoResponse>]: never; }>(base?: I | undefined): QueryAllStoragePaymentInfoResponse;
    fromPartial<I_1 extends {
        storagePaymentInfo?: {
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        storagePaymentInfo?: ({
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        }[] & ({
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        } & {
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["storagePaymentInfo"][number], keyof StoragePaymentInfo>]: never; })[] & { [K_5 in Exclude<keyof I_1["storagePaymentInfo"], keyof {
            start?: Date | undefined;
            end?: Date | undefined;
            spaceAvailable?: number | undefined;
            spaceUsed?: number | undefined;
            address?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryAllStoragePaymentInfoResponse>]: never; }>(object: I_1): QueryAllStoragePaymentInfoResponse;
};
interface QueryFileUploadCheckRequest {
    address: string;
    bytes: number;
}
declare const QueryFileUploadCheckRequest: {
    encode(message: QueryFileUploadCheckRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryFileUploadCheckRequest;
    fromJSON(object: any): QueryFileUploadCheckRequest;
    toJSON(message: QueryFileUploadCheckRequest): unknown;
    create<I extends {
        address?: string | undefined;
        bytes?: number | undefined;
    } & {
        address?: string | undefined;
        bytes?: number | undefined;
    } & { [K in Exclude<keyof I, keyof QueryFileUploadCheckRequest>]: never; }>(base?: I | undefined): QueryFileUploadCheckRequest;
    fromPartial<I_1 extends {
        address?: string | undefined;
        bytes?: number | undefined;
    } & {
        address?: string | undefined;
        bytes?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof QueryFileUploadCheckRequest>]: never; }>(object: I_1): QueryFileUploadCheckRequest;
};
interface QueryFileUploadCheckResponse {
    valid: boolean;
}
declare const QueryFileUploadCheckResponse: {
    encode(message: QueryFileUploadCheckResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryFileUploadCheckResponse;
    fromJSON(object: any): QueryFileUploadCheckResponse;
    toJSON(message: QueryFileUploadCheckResponse): unknown;
    create<I extends {
        valid?: boolean | undefined;
    } & {
        valid?: boolean | undefined;
    } & { [K in Exclude<keyof I, "valid">]: never; }>(base?: I | undefined): QueryFileUploadCheckResponse;
    fromPartial<I_1 extends {
        valid?: boolean | undefined;
    } & {
        valid?: boolean | undefined;
    } & { [K_1 in Exclude<keyof I_1, "valid">]: never; }>(object: I_1): QueryFileUploadCheckResponse;
};
interface QueryPriceCheckRequest {
    duration: string;
    bytes: number;
}
declare const QueryPriceCheckRequest: {
    encode(message: QueryPriceCheckRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryPriceCheckRequest;
    fromJSON(object: any): QueryPriceCheckRequest;
    toJSON(message: QueryPriceCheckRequest): unknown;
    create<I extends {
        duration?: string | undefined;
        bytes?: number | undefined;
    } & {
        duration?: string | undefined;
        bytes?: number | undefined;
    } & { [K in Exclude<keyof I, keyof QueryPriceCheckRequest>]: never; }>(base?: I | undefined): QueryPriceCheckRequest;
    fromPartial<I_1 extends {
        duration?: string | undefined;
        bytes?: number | undefined;
    } & {
        duration?: string | undefined;
        bytes?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof QueryPriceCheckRequest>]: never; }>(object: I_1): QueryPriceCheckRequest;
};
interface QueryPriceCheckResponse {
    price: number;
}
declare const QueryPriceCheckResponse: {
    encode(message: QueryPriceCheckResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryPriceCheckResponse;
    fromJSON(object: any): QueryPriceCheckResponse;
    toJSON(message: QueryPriceCheckResponse): unknown;
    create<I extends {
        price?: number | undefined;
    } & {
        price?: number | undefined;
    } & { [K in Exclude<keyof I, "price">]: never; }>(base?: I | undefined): QueryPriceCheckResponse;
    fromPartial<I_1 extends {
        price?: number | undefined;
    } & {
        price?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, "price">]: never; }>(object: I_1): QueryPriceCheckResponse;
};
interface UnaryMethodDefinitionishR$7 extends grpc.UnaryMethodDefinition<any, any> {
    requestStream: any;
    responseStream: any;
}
type UnaryMethodDefinitionish$7 = UnaryMethodDefinitionishR$7;
declare class GrpcWebImpl$7 {
    private host;
    private options;
    constructor(host: string, options: {
        transport?: grpc.TransportFactory;
        debug?: boolean;
        metadata?: grpc.Metadata;
        upStreamRetryCodes?: number[];
    });
    unary<T extends UnaryMethodDefinitionish$7>(methodDesc: T, _request: any, metadata: grpc.Metadata | undefined): Promise<any>;
}
type Builtin$7 = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial$7<T> = T extends Builtin$7 ? T : T extends Array<infer U> ? Array<DeepPartial$7<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial$7<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial$7<T[K]>;
} : Partial<T>;

interface IQueryStorage {
    /** Parameters queries the parameters of the module. */
    queryParams(request: DeepPartial$7<QueryParamsRequest$6>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryParamsResponse$6>>;
    /** Queries a Contracts by index. */
    queryContracts(request: DeepPartial$7<QueryContractRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryContractResponse>>;
    /** Queries a list of Contracts items. */
    queryContractsAll(request: DeepPartial$7<QueryAllContractsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllContractsResponse>>;
    /** Queries a ActiveDeals by index. */
    queryActiveDeals(request: DeepPartial$7<QueryActiveDealRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryActiveDealResponse>>;
    /** Queries a list of ActiveDeals items. */
    queryActiveDealsAll(request: DeepPartial$7<QueryAllActiveDealsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllActiveDealsResponse>>;
    /** Queries a Providers by index. */
    queryProviders(request: DeepPartial$7<QueryProviderRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryProviderResponse>>;
    /** Queries a list of Providers items. */
    queryProvidersAll(request: DeepPartial$7<QueryAllProvidersRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllProvidersResponse>>;
    /** Queries a list of Freespace items. */
    queryFreespace(request: DeepPartial$7<QueryFreespaceRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryFreespaceResponse>>;
    /** Queries a list of FindFile items. */
    queryFindFile(request: DeepPartial$7<QueryFindFileRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryFindFileResponse>>;
    /** Queries a Strays by index. */
    queryStrays(request: DeepPartial$7<QueryStrayRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryStrayResponse>>;
    /** Queries a list of Strays items. */
    queryStraysAll(request: DeepPartial$7<QueryAllStraysRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllStraysResponse>>;
    /** Queries a list of GetClientFreeSpace items. */
    queryGetClientFreeSpace(request: DeepPartial$7<QueryClientFreeSpaceRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryClientFreeSpaceResponse>>;
    /** Queries a FidCid by index. */
    queryFidCid(request: DeepPartial$7<QueryFidCidRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryFidCidResponse>>;
    /** Queries a list of FidCid items. */
    queryFidCidAll(request: DeepPartial$7<QueryAllFidCidRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllFidCidResponse>>;
    /** Queries a list of GetPayData items. */
    queryGetPayData(request: DeepPartial$7<QueryPayDataRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryPayDataResponse>>;
    /** Queries a StoragePaymentInfo by address. */
    queryStoragePaymentInfo(request: DeepPartial$7<QueryStoragePaymentInfoRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryStoragePaymentInfoResponse>>;
    /** Queries a list of StoragePaymentInfo items. */
    queryStoragePaymentInfoAll(request: DeepPartial$7<QueryAllStoragePaymentInfoRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllStoragePaymentInfoResponse>>;
    /** Queries whether user can upload a file based on size */
    queryFileUploadCheck(request: DeepPartial$7<QueryFileUploadCheckRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryFileUploadCheckResponse>>;
    /** TODO - Update with correct desc */
    queryPriceCheck(request: DeepPartial$7<QueryPriceCheckRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryPriceCheckResponse>>;
}

/** EvidenceParams determine how we handle evidence of malfeasance. */
interface EvidenceParams {
    /**
     * Max age of evidence, in blocks.
     *
     * The basic formula for calculating this is: MaxAgeDuration / {average block
     * time}.
     */
    maxAgeNumBlocks: number;
    /**
     * Max age of evidence, in time.
     *
     * It should correspond with an app's "unbonding period" or other similar
     * mechanism for handling [Nothing-At-Stake
     * attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).
     */
    maxAgeDuration: Duration | undefined;
    /**
     * This sets the maximum size of total evidence in bytes that can be committed in a single block.
     * and should fall comfortably under the max block bytes.
     * Default is 1048576 or 1MB
     */
    maxBytes: number;
}
declare const EvidenceParams: {
    encode(message: EvidenceParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): EvidenceParams;
    fromJSON(object: any): EvidenceParams;
    toJSON(message: EvidenceParams): unknown;
    create<I extends {
        maxAgeNumBlocks?: number | undefined;
        maxAgeDuration?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
        maxBytes?: number | undefined;
    } & {
        maxAgeNumBlocks?: number | undefined;
        maxAgeDuration?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & { [K in Exclude<keyof I["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
        maxBytes?: number | undefined;
    } & { [K_1 in Exclude<keyof I, keyof EvidenceParams>]: never; }>(base?: I | undefined): EvidenceParams;
    fromPartial<I_1 extends {
        maxAgeNumBlocks?: number | undefined;
        maxAgeDuration?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
        maxBytes?: number | undefined;
    } & {
        maxAgeNumBlocks?: number | undefined;
        maxAgeDuration?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & { [K_2 in Exclude<keyof I_1["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
        maxBytes?: number | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof EvidenceParams>]: never; }>(object: I_1): EvidenceParams;
};
/**
 * ValidatorParams restrict the public key types validators can use.
 * NOTE: uses ABCI pubkey naming, not Amino names.
 */
interface ValidatorParams {
    pubKeyTypes: string[];
}
declare const ValidatorParams: {
    encode(message: ValidatorParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ValidatorParams;
    fromJSON(object: any): ValidatorParams;
    toJSON(message: ValidatorParams): unknown;
    create<I extends {
        pubKeyTypes?: string[] | undefined;
    } & {
        pubKeyTypes?: (string[] & string[] & { [K in Exclude<keyof I["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pubKeyTypes">]: never; }>(base?: I | undefined): ValidatorParams;
    fromPartial<I_1 extends {
        pubKeyTypes?: string[] | undefined;
    } & {
        pubKeyTypes?: (string[] & string[] & { [K_2 in Exclude<keyof I_1["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pubKeyTypes">]: never; }>(object: I_1): ValidatorParams;
};
/** VersionParams contains the ABCI application version. */
interface VersionParams {
    appVersion: number;
}
declare const VersionParams: {
    encode(message: VersionParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): VersionParams;
    fromJSON(object: any): VersionParams;
    toJSON(message: VersionParams): unknown;
    create<I extends {
        appVersion?: number | undefined;
    } & {
        appVersion?: number | undefined;
    } & { [K in Exclude<keyof I, "appVersion">]: never; }>(base?: I | undefined): VersionParams;
    fromPartial<I_1 extends {
        appVersion?: number | undefined;
    } & {
        appVersion?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, "appVersion">]: never; }>(object: I_1): VersionParams;
};

declare const protobufPackage = "tendermint.abci";
declare enum CheckTxType {
    NEW = 0,
    RECHECK = 1,
    UNRECOGNIZED = -1
}
declare function checkTxTypeFromJSON(object: any): CheckTxType;
declare function checkTxTypeToJSON(object: CheckTxType): string;
declare enum EvidenceType {
    UNKNOWN = 0,
    DUPLICATE_VOTE = 1,
    LIGHT_CLIENT_ATTACK = 2,
    UNRECOGNIZED = -1
}
declare function evidenceTypeFromJSON(object: any): EvidenceType;
declare function evidenceTypeToJSON(object: EvidenceType): string;
declare enum ResponseOfferSnapshot_Result {
    /** UNKNOWN - Unknown result, abort all snapshot restoration */
    UNKNOWN = 0,
    /** ACCEPT - Snapshot accepted, apply chunks */
    ACCEPT = 1,
    /** ABORT - Abort all snapshot restoration */
    ABORT = 2,
    /** REJECT - Reject this specific snapshot, try others */
    REJECT = 3,
    /** REJECT_FORMAT - Reject all snapshots of this format, try others */
    REJECT_FORMAT = 4,
    /** REJECT_SENDER - Reject all snapshots from the sender(s), try others */
    REJECT_SENDER = 5,
    UNRECOGNIZED = -1
}
declare function responseOfferSnapshot_ResultFromJSON(object: any): ResponseOfferSnapshot_Result;
declare function responseOfferSnapshot_ResultToJSON(object: ResponseOfferSnapshot_Result): string;
declare enum ResponseApplySnapshotChunk_Result {
    /** UNKNOWN - Unknown result, abort all snapshot restoration */
    UNKNOWN = 0,
    /** ACCEPT - Chunk successfully accepted */
    ACCEPT = 1,
    /** ABORT - Abort all snapshot restoration */
    ABORT = 2,
    /** RETRY - Retry chunk (combine with refetch and reject) */
    RETRY = 3,
    /** RETRY_SNAPSHOT - Retry snapshot (combine with refetch and reject) */
    RETRY_SNAPSHOT = 4,
    /** REJECT_SNAPSHOT - Reject this snapshot, try others */
    REJECT_SNAPSHOT = 5,
    UNRECOGNIZED = -1
}
declare function responseApplySnapshotChunk_ResultFromJSON(object: any): ResponseApplySnapshotChunk_Result;
declare function responseApplySnapshotChunk_ResultToJSON(object: ResponseApplySnapshotChunk_Result): string;
interface Request {
    echo?: RequestEcho | undefined;
    flush?: RequestFlush | undefined;
    info?: RequestInfo | undefined;
    setOption?: RequestSetOption | undefined;
    initChain?: RequestInitChain | undefined;
    query?: RequestQuery | undefined;
    beginBlock?: RequestBeginBlock | undefined;
    checkTx?: RequestCheckTx | undefined;
    deliverTx?: RequestDeliverTx | undefined;
    endBlock?: RequestEndBlock | undefined;
    commit?: RequestCommit | undefined;
    listSnapshots?: RequestListSnapshots | undefined;
    offerSnapshot?: RequestOfferSnapshot | undefined;
    loadSnapshotChunk?: RequestLoadSnapshotChunk | undefined;
    applySnapshotChunk?: RequestApplySnapshotChunk | undefined;
}
declare const Request: {
    encode(message: Request, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Request;
    fromJSON(object: any): Request;
    toJSON(message: Request): unknown;
    create<I extends {
        echo?: {
            message?: string | undefined;
        } | undefined;
        flush?: {} | undefined;
        info?: {
            version?: string | undefined;
            blockVersion?: number | undefined;
            p2pVersion?: number | undefined;
        } | undefined;
        setOption?: {
            key?: string | undefined;
            value?: string | undefined;
        } | undefined;
        initChain?: {
            time?: Date | undefined;
            chainId?: string | undefined;
            consensusParams?: {
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } | undefined;
            validators?: {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] | undefined;
            appStateBytes?: Uint8Array | undefined;
            initialHeight?: number | undefined;
        } | undefined;
        query?: {
            data?: Uint8Array | undefined;
            path?: string | undefined;
            height?: number | undefined;
            prove?: boolean | undefined;
        } | undefined;
        beginBlock?: {
            hash?: Uint8Array | undefined;
            header?: {
                version?: {
                    block?: number | undefined;
                    app?: number | undefined;
                } | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } | undefined;
            lastCommitInfo?: {
                round?: number | undefined;
                votes?: {
                    validator?: {
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } | undefined;
                    signedLastBlock?: boolean | undefined;
                }[] | undefined;
            } | undefined;
            byzantineValidators?: {
                type?: EvidenceType | undefined;
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                totalVotingPower?: number | undefined;
            }[] | undefined;
        } | undefined;
        checkTx?: {
            tx?: Uint8Array | undefined;
            type?: CheckTxType | undefined;
        } | undefined;
        deliverTx?: {
            tx?: Uint8Array | undefined;
        } | undefined;
        endBlock?: {
            height?: number | undefined;
        } | undefined;
        commit?: {} | undefined;
        listSnapshots?: {} | undefined;
        offerSnapshot?: {
            snapshot?: {
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            } | undefined;
            appHash?: Uint8Array | undefined;
        } | undefined;
        loadSnapshotChunk?: {
            height?: number | undefined;
            format?: number | undefined;
            chunk?: number | undefined;
        } | undefined;
        applySnapshotChunk?: {
            index?: number | undefined;
            chunk?: Uint8Array | undefined;
            sender?: string | undefined;
        } | undefined;
    } & {
        echo?: ({
            message?: string | undefined;
        } & {
            message?: string | undefined;
        } & { [K in Exclude<keyof I["echo"], "message">]: never; }) | undefined;
        flush?: ({} & {} & { [K_1 in Exclude<keyof I["flush"], never>]: never; }) | undefined;
        info?: ({
            version?: string | undefined;
            blockVersion?: number | undefined;
            p2pVersion?: number | undefined;
        } & {
            version?: string | undefined;
            blockVersion?: number | undefined;
            p2pVersion?: number | undefined;
        } & { [K_2 in Exclude<keyof I["info"], keyof RequestInfo>]: never; }) | undefined;
        setOption?: ({
            key?: string | undefined;
            value?: string | undefined;
        } & {
            key?: string | undefined;
            value?: string | undefined;
        } & { [K_3 in Exclude<keyof I["setOption"], keyof RequestSetOption>]: never; }) | undefined;
        initChain?: ({
            time?: Date | undefined;
            chainId?: string | undefined;
            consensusParams?: {
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } | undefined;
            validators?: {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] | undefined;
            appStateBytes?: Uint8Array | undefined;
            initialHeight?: number | undefined;
        } & {
            time?: Date | undefined;
            chainId?: string | undefined;
            consensusParams?: ({
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } & {
                block?: ({
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } & {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } & { [K_4 in Exclude<keyof I["initChain"]["consensusParams"]["block"], keyof BlockParams>]: never; }) | undefined;
                evidence?: ({
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } & {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: ({
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & { [K_5 in Exclude<keyof I["initChain"]["consensusParams"]["evidence"]["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
                    maxBytes?: number | undefined;
                } & { [K_6 in Exclude<keyof I["initChain"]["consensusParams"]["evidence"], keyof EvidenceParams>]: never; }) | undefined;
                validator?: ({
                    pubKeyTypes?: string[] | undefined;
                } & {
                    pubKeyTypes?: (string[] & string[] & { [K_7 in Exclude<keyof I["initChain"]["consensusParams"]["validator"]["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
                } & { [K_8 in Exclude<keyof I["initChain"]["consensusParams"]["validator"], "pubKeyTypes">]: never; }) | undefined;
                version?: ({
                    appVersion?: number | undefined;
                } & {
                    appVersion?: number | undefined;
                } & { [K_9 in Exclude<keyof I["initChain"]["consensusParams"]["version"], "appVersion">]: never; }) | undefined;
            } & { [K_10 in Exclude<keyof I["initChain"]["consensusParams"], keyof ConsensusParams>]: never; }) | undefined;
            validators?: ({
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] & ({
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            } & {
                pubKey?: ({
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } & {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } & { [K_11 in Exclude<keyof I["initChain"]["validators"][number]["pubKey"], keyof PublicKey>]: never; }) | undefined;
                power?: number | undefined;
            } & { [K_12 in Exclude<keyof I["initChain"]["validators"][number], keyof ValidatorUpdate>]: never; })[] & { [K_13 in Exclude<keyof I["initChain"]["validators"], keyof {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[]>]: never; }) | undefined;
            appStateBytes?: Uint8Array | undefined;
            initialHeight?: number | undefined;
        } & { [K_14 in Exclude<keyof I["initChain"], keyof RequestInitChain>]: never; }) | undefined;
        query?: ({
            data?: Uint8Array | undefined;
            path?: string | undefined;
            height?: number | undefined;
            prove?: boolean | undefined;
        } & {
            data?: Uint8Array | undefined;
            path?: string | undefined;
            height?: number | undefined;
            prove?: boolean | undefined;
        } & { [K_15 in Exclude<keyof I["query"], keyof RequestQuery>]: never; }) | undefined;
        beginBlock?: ({
            hash?: Uint8Array | undefined;
            header?: {
                version?: {
                    block?: number | undefined;
                    app?: number | undefined;
                } | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } | undefined;
            lastCommitInfo?: {
                round?: number | undefined;
                votes?: {
                    validator?: {
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } | undefined;
                    signedLastBlock?: boolean | undefined;
                }[] | undefined;
            } | undefined;
            byzantineValidators?: {
                type?: EvidenceType | undefined;
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                totalVotingPower?: number | undefined;
            }[] | undefined;
        } & {
            hash?: Uint8Array | undefined;
            header?: ({
                version?: {
                    block?: number | undefined;
                    app?: number | undefined;
                } | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } & {
                version?: ({
                    block?: number | undefined;
                    app?: number | undefined;
                } & {
                    block?: number | undefined;
                    app?: number | undefined;
                } & { [K_16 in Exclude<keyof I["beginBlock"]["header"]["version"], keyof Consensus>]: never; }) | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: ({
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } & {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: ({
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } & {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } & { [K_17 in Exclude<keyof I["beginBlock"]["header"]["lastBlockId"]["partSetHeader"], keyof PartSetHeader>]: never; }) | undefined;
                } & { [K_18 in Exclude<keyof I["beginBlock"]["header"]["lastBlockId"], keyof BlockID>]: never; }) | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } & { [K_19 in Exclude<keyof I["beginBlock"]["header"], keyof Header>]: never; }) | undefined;
            lastCommitInfo?: ({
                round?: number | undefined;
                votes?: {
                    validator?: {
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } | undefined;
                    signedLastBlock?: boolean | undefined;
                }[] | undefined;
            } & {
                round?: number | undefined;
                votes?: ({
                    validator?: {
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } | undefined;
                    signedLastBlock?: boolean | undefined;
                }[] & ({
                    validator?: {
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } | undefined;
                    signedLastBlock?: boolean | undefined;
                } & {
                    validator?: ({
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } & {
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } & { [K_20 in Exclude<keyof I["beginBlock"]["lastCommitInfo"]["votes"][number]["validator"], keyof Validator>]: never; }) | undefined;
                    signedLastBlock?: boolean | undefined;
                } & { [K_21 in Exclude<keyof I["beginBlock"]["lastCommitInfo"]["votes"][number], keyof VoteInfo>]: never; })[] & { [K_22 in Exclude<keyof I["beginBlock"]["lastCommitInfo"]["votes"], keyof {
                    validator?: {
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } | undefined;
                    signedLastBlock?: boolean | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_23 in Exclude<keyof I["beginBlock"]["lastCommitInfo"], keyof LastCommitInfo>]: never; }) | undefined;
            byzantineValidators?: ({
                type?: EvidenceType | undefined;
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                totalVotingPower?: number | undefined;
            }[] & ({
                type?: EvidenceType | undefined;
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                totalVotingPower?: number | undefined;
            } & {
                type?: EvidenceType | undefined;
                validator?: ({
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } & {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } & { [K_24 in Exclude<keyof I["beginBlock"]["byzantineValidators"][number]["validator"], keyof Validator>]: never; }) | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                totalVotingPower?: number | undefined;
            } & { [K_25 in Exclude<keyof I["beginBlock"]["byzantineValidators"][number], keyof Evidence>]: never; })[] & { [K_26 in Exclude<keyof I["beginBlock"]["byzantineValidators"], keyof {
                type?: EvidenceType | undefined;
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                totalVotingPower?: number | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_27 in Exclude<keyof I["beginBlock"], keyof RequestBeginBlock>]: never; }) | undefined;
        checkTx?: ({
            tx?: Uint8Array | undefined;
            type?: CheckTxType | undefined;
        } & {
            tx?: Uint8Array | undefined;
            type?: CheckTxType | undefined;
        } & { [K_28 in Exclude<keyof I["checkTx"], keyof RequestCheckTx>]: never; }) | undefined;
        deliverTx?: ({
            tx?: Uint8Array | undefined;
        } & {
            tx?: Uint8Array | undefined;
        } & { [K_29 in Exclude<keyof I["deliverTx"], "tx">]: never; }) | undefined;
        endBlock?: ({
            height?: number | undefined;
        } & {
            height?: number | undefined;
        } & { [K_30 in Exclude<keyof I["endBlock"], "height">]: never; }) | undefined;
        commit?: ({} & {} & { [K_31 in Exclude<keyof I["commit"], never>]: never; }) | undefined;
        listSnapshots?: ({} & {} & { [K_32 in Exclude<keyof I["listSnapshots"], never>]: never; }) | undefined;
        offerSnapshot?: ({
            snapshot?: {
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            } | undefined;
            appHash?: Uint8Array | undefined;
        } & {
            snapshot?: ({
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            } & {
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            } & { [K_33 in Exclude<keyof I["offerSnapshot"]["snapshot"], keyof Snapshot>]: never; }) | undefined;
            appHash?: Uint8Array | undefined;
        } & { [K_34 in Exclude<keyof I["offerSnapshot"], keyof RequestOfferSnapshot>]: never; }) | undefined;
        loadSnapshotChunk?: ({
            height?: number | undefined;
            format?: number | undefined;
            chunk?: number | undefined;
        } & {
            height?: number | undefined;
            format?: number | undefined;
            chunk?: number | undefined;
        } & { [K_35 in Exclude<keyof I["loadSnapshotChunk"], keyof RequestLoadSnapshotChunk>]: never; }) | undefined;
        applySnapshotChunk?: ({
            index?: number | undefined;
            chunk?: Uint8Array | undefined;
            sender?: string | undefined;
        } & {
            index?: number | undefined;
            chunk?: Uint8Array | undefined;
            sender?: string | undefined;
        } & { [K_36 in Exclude<keyof I["applySnapshotChunk"], keyof RequestApplySnapshotChunk>]: never; }) | undefined;
    } & { [K_37 in Exclude<keyof I, keyof Request>]: never; }>(base?: I | undefined): Request;
    fromPartial<I_1 extends {
        echo?: {
            message?: string | undefined;
        } | undefined;
        flush?: {} | undefined;
        info?: {
            version?: string | undefined;
            blockVersion?: number | undefined;
            p2pVersion?: number | undefined;
        } | undefined;
        setOption?: {
            key?: string | undefined;
            value?: string | undefined;
        } | undefined;
        initChain?: {
            time?: Date | undefined;
            chainId?: string | undefined;
            consensusParams?: {
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } | undefined;
            validators?: {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] | undefined;
            appStateBytes?: Uint8Array | undefined;
            initialHeight?: number | undefined;
        } | undefined;
        query?: {
            data?: Uint8Array | undefined;
            path?: string | undefined;
            height?: number | undefined;
            prove?: boolean | undefined;
        } | undefined;
        beginBlock?: {
            hash?: Uint8Array | undefined;
            header?: {
                version?: {
                    block?: number | undefined;
                    app?: number | undefined;
                } | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } | undefined;
            lastCommitInfo?: {
                round?: number | undefined;
                votes?: {
                    validator?: {
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } | undefined;
                    signedLastBlock?: boolean | undefined;
                }[] | undefined;
            } | undefined;
            byzantineValidators?: {
                type?: EvidenceType | undefined;
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                totalVotingPower?: number | undefined;
            }[] | undefined;
        } | undefined;
        checkTx?: {
            tx?: Uint8Array | undefined;
            type?: CheckTxType | undefined;
        } | undefined;
        deliverTx?: {
            tx?: Uint8Array | undefined;
        } | undefined;
        endBlock?: {
            height?: number | undefined;
        } | undefined;
        commit?: {} | undefined;
        listSnapshots?: {} | undefined;
        offerSnapshot?: {
            snapshot?: {
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            } | undefined;
            appHash?: Uint8Array | undefined;
        } | undefined;
        loadSnapshotChunk?: {
            height?: number | undefined;
            format?: number | undefined;
            chunk?: number | undefined;
        } | undefined;
        applySnapshotChunk?: {
            index?: number | undefined;
            chunk?: Uint8Array | undefined;
            sender?: string | undefined;
        } | undefined;
    } & {
        echo?: ({
            message?: string | undefined;
        } & {
            message?: string | undefined;
        } & { [K_38 in Exclude<keyof I_1["echo"], "message">]: never; }) | undefined;
        flush?: ({} & {} & { [K_39 in Exclude<keyof I_1["flush"], never>]: never; }) | undefined;
        info?: ({
            version?: string | undefined;
            blockVersion?: number | undefined;
            p2pVersion?: number | undefined;
        } & {
            version?: string | undefined;
            blockVersion?: number | undefined;
            p2pVersion?: number | undefined;
        } & { [K_40 in Exclude<keyof I_1["info"], keyof RequestInfo>]: never; }) | undefined;
        setOption?: ({
            key?: string | undefined;
            value?: string | undefined;
        } & {
            key?: string | undefined;
            value?: string | undefined;
        } & { [K_41 in Exclude<keyof I_1["setOption"], keyof RequestSetOption>]: never; }) | undefined;
        initChain?: ({
            time?: Date | undefined;
            chainId?: string | undefined;
            consensusParams?: {
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } | undefined;
            validators?: {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] | undefined;
            appStateBytes?: Uint8Array | undefined;
            initialHeight?: number | undefined;
        } & {
            time?: Date | undefined;
            chainId?: string | undefined;
            consensusParams?: ({
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } & {
                block?: ({
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } & {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } & { [K_42 in Exclude<keyof I_1["initChain"]["consensusParams"]["block"], keyof BlockParams>]: never; }) | undefined;
                evidence?: ({
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } & {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: ({
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & { [K_43 in Exclude<keyof I_1["initChain"]["consensusParams"]["evidence"]["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
                    maxBytes?: number | undefined;
                } & { [K_44 in Exclude<keyof I_1["initChain"]["consensusParams"]["evidence"], keyof EvidenceParams>]: never; }) | undefined;
                validator?: ({
                    pubKeyTypes?: string[] | undefined;
                } & {
                    pubKeyTypes?: (string[] & string[] & { [K_45 in Exclude<keyof I_1["initChain"]["consensusParams"]["validator"]["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
                } & { [K_46 in Exclude<keyof I_1["initChain"]["consensusParams"]["validator"], "pubKeyTypes">]: never; }) | undefined;
                version?: ({
                    appVersion?: number | undefined;
                } & {
                    appVersion?: number | undefined;
                } & { [K_47 in Exclude<keyof I_1["initChain"]["consensusParams"]["version"], "appVersion">]: never; }) | undefined;
            } & { [K_48 in Exclude<keyof I_1["initChain"]["consensusParams"], keyof ConsensusParams>]: never; }) | undefined;
            validators?: ({
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] & ({
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            } & {
                pubKey?: ({
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } & {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } & { [K_49 in Exclude<keyof I_1["initChain"]["validators"][number]["pubKey"], keyof PublicKey>]: never; }) | undefined;
                power?: number | undefined;
            } & { [K_50 in Exclude<keyof I_1["initChain"]["validators"][number], keyof ValidatorUpdate>]: never; })[] & { [K_51 in Exclude<keyof I_1["initChain"]["validators"], keyof {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[]>]: never; }) | undefined;
            appStateBytes?: Uint8Array | undefined;
            initialHeight?: number | undefined;
        } & { [K_52 in Exclude<keyof I_1["initChain"], keyof RequestInitChain>]: never; }) | undefined;
        query?: ({
            data?: Uint8Array | undefined;
            path?: string | undefined;
            height?: number | undefined;
            prove?: boolean | undefined;
        } & {
            data?: Uint8Array | undefined;
            path?: string | undefined;
            height?: number | undefined;
            prove?: boolean | undefined;
        } & { [K_53 in Exclude<keyof I_1["query"], keyof RequestQuery>]: never; }) | undefined;
        beginBlock?: ({
            hash?: Uint8Array | undefined;
            header?: {
                version?: {
                    block?: number | undefined;
                    app?: number | undefined;
                } | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } | undefined;
            lastCommitInfo?: {
                round?: number | undefined;
                votes?: {
                    validator?: {
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } | undefined;
                    signedLastBlock?: boolean | undefined;
                }[] | undefined;
            } | undefined;
            byzantineValidators?: {
                type?: EvidenceType | undefined;
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                totalVotingPower?: number | undefined;
            }[] | undefined;
        } & {
            hash?: Uint8Array | undefined;
            header?: ({
                version?: {
                    block?: number | undefined;
                    app?: number | undefined;
                } | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } & {
                version?: ({
                    block?: number | undefined;
                    app?: number | undefined;
                } & {
                    block?: number | undefined;
                    app?: number | undefined;
                } & { [K_54 in Exclude<keyof I_1["beginBlock"]["header"]["version"], keyof Consensus>]: never; }) | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: ({
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } & {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: ({
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } & {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } & { [K_55 in Exclude<keyof I_1["beginBlock"]["header"]["lastBlockId"]["partSetHeader"], keyof PartSetHeader>]: never; }) | undefined;
                } & { [K_56 in Exclude<keyof I_1["beginBlock"]["header"]["lastBlockId"], keyof BlockID>]: never; }) | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } & { [K_57 in Exclude<keyof I_1["beginBlock"]["header"], keyof Header>]: never; }) | undefined;
            lastCommitInfo?: ({
                round?: number | undefined;
                votes?: {
                    validator?: {
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } | undefined;
                    signedLastBlock?: boolean | undefined;
                }[] | undefined;
            } & {
                round?: number | undefined;
                votes?: ({
                    validator?: {
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } | undefined;
                    signedLastBlock?: boolean | undefined;
                }[] & ({
                    validator?: {
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } | undefined;
                    signedLastBlock?: boolean | undefined;
                } & {
                    validator?: ({
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } & {
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } & { [K_58 in Exclude<keyof I_1["beginBlock"]["lastCommitInfo"]["votes"][number]["validator"], keyof Validator>]: never; }) | undefined;
                    signedLastBlock?: boolean | undefined;
                } & { [K_59 in Exclude<keyof I_1["beginBlock"]["lastCommitInfo"]["votes"][number], keyof VoteInfo>]: never; })[] & { [K_60 in Exclude<keyof I_1["beginBlock"]["lastCommitInfo"]["votes"], keyof {
                    validator?: {
                        address?: Uint8Array | undefined;
                        power?: number | undefined;
                    } | undefined;
                    signedLastBlock?: boolean | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_61 in Exclude<keyof I_1["beginBlock"]["lastCommitInfo"], keyof LastCommitInfo>]: never; }) | undefined;
            byzantineValidators?: ({
                type?: EvidenceType | undefined;
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                totalVotingPower?: number | undefined;
            }[] & ({
                type?: EvidenceType | undefined;
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                totalVotingPower?: number | undefined;
            } & {
                type?: EvidenceType | undefined;
                validator?: ({
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } & {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } & { [K_62 in Exclude<keyof I_1["beginBlock"]["byzantineValidators"][number]["validator"], keyof Validator>]: never; }) | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                totalVotingPower?: number | undefined;
            } & { [K_63 in Exclude<keyof I_1["beginBlock"]["byzantineValidators"][number], keyof Evidence>]: never; })[] & { [K_64 in Exclude<keyof I_1["beginBlock"]["byzantineValidators"], keyof {
                type?: EvidenceType | undefined;
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                totalVotingPower?: number | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_65 in Exclude<keyof I_1["beginBlock"], keyof RequestBeginBlock>]: never; }) | undefined;
        checkTx?: ({
            tx?: Uint8Array | undefined;
            type?: CheckTxType | undefined;
        } & {
            tx?: Uint8Array | undefined;
            type?: CheckTxType | undefined;
        } & { [K_66 in Exclude<keyof I_1["checkTx"], keyof RequestCheckTx>]: never; }) | undefined;
        deliverTx?: ({
            tx?: Uint8Array | undefined;
        } & {
            tx?: Uint8Array | undefined;
        } & { [K_67 in Exclude<keyof I_1["deliverTx"], "tx">]: never; }) | undefined;
        endBlock?: ({
            height?: number | undefined;
        } & {
            height?: number | undefined;
        } & { [K_68 in Exclude<keyof I_1["endBlock"], "height">]: never; }) | undefined;
        commit?: ({} & {} & { [K_69 in Exclude<keyof I_1["commit"], never>]: never; }) | undefined;
        listSnapshots?: ({} & {} & { [K_70 in Exclude<keyof I_1["listSnapshots"], never>]: never; }) | undefined;
        offerSnapshot?: ({
            snapshot?: {
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            } | undefined;
            appHash?: Uint8Array | undefined;
        } & {
            snapshot?: ({
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            } & {
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            } & { [K_71 in Exclude<keyof I_1["offerSnapshot"]["snapshot"], keyof Snapshot>]: never; }) | undefined;
            appHash?: Uint8Array | undefined;
        } & { [K_72 in Exclude<keyof I_1["offerSnapshot"], keyof RequestOfferSnapshot>]: never; }) | undefined;
        loadSnapshotChunk?: ({
            height?: number | undefined;
            format?: number | undefined;
            chunk?: number | undefined;
        } & {
            height?: number | undefined;
            format?: number | undefined;
            chunk?: number | undefined;
        } & { [K_73 in Exclude<keyof I_1["loadSnapshotChunk"], keyof RequestLoadSnapshotChunk>]: never; }) | undefined;
        applySnapshotChunk?: ({
            index?: number | undefined;
            chunk?: Uint8Array | undefined;
            sender?: string | undefined;
        } & {
            index?: number | undefined;
            chunk?: Uint8Array | undefined;
            sender?: string | undefined;
        } & { [K_74 in Exclude<keyof I_1["applySnapshotChunk"], keyof RequestApplySnapshotChunk>]: never; }) | undefined;
    } & { [K_75 in Exclude<keyof I_1, keyof Request>]: never; }>(object: I_1): Request;
};
interface RequestEcho {
    message: string;
}
declare const RequestEcho: {
    encode(message: RequestEcho, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RequestEcho;
    fromJSON(object: any): RequestEcho;
    toJSON(message: RequestEcho): unknown;
    create<I extends {
        message?: string | undefined;
    } & {
        message?: string | undefined;
    } & { [K in Exclude<keyof I, "message">]: never; }>(base?: I | undefined): RequestEcho;
    fromPartial<I_1 extends {
        message?: string | undefined;
    } & {
        message?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "message">]: never; }>(object: I_1): RequestEcho;
};
interface RequestFlush {
}
declare const RequestFlush: {
    encode(_: RequestFlush, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RequestFlush;
    fromJSON(_: any): RequestFlush;
    toJSON(_: RequestFlush): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): RequestFlush;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): RequestFlush;
};
interface RequestInfo {
    version: string;
    blockVersion: number;
    p2pVersion: number;
}
declare const RequestInfo: {
    encode(message: RequestInfo, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RequestInfo;
    fromJSON(object: any): RequestInfo;
    toJSON(message: RequestInfo): unknown;
    create<I extends {
        version?: string | undefined;
        blockVersion?: number | undefined;
        p2pVersion?: number | undefined;
    } & {
        version?: string | undefined;
        blockVersion?: number | undefined;
        p2pVersion?: number | undefined;
    } & { [K in Exclude<keyof I, keyof RequestInfo>]: never; }>(base?: I | undefined): RequestInfo;
    fromPartial<I_1 extends {
        version?: string | undefined;
        blockVersion?: number | undefined;
        p2pVersion?: number | undefined;
    } & {
        version?: string | undefined;
        blockVersion?: number | undefined;
        p2pVersion?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof RequestInfo>]: never; }>(object: I_1): RequestInfo;
};
/** nondeterministic */
interface RequestSetOption {
    key: string;
    value: string;
}
declare const RequestSetOption: {
    encode(message: RequestSetOption, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RequestSetOption;
    fromJSON(object: any): RequestSetOption;
    toJSON(message: RequestSetOption): unknown;
    create<I extends {
        key?: string | undefined;
        value?: string | undefined;
    } & {
        key?: string | undefined;
        value?: string | undefined;
    } & { [K in Exclude<keyof I, keyof RequestSetOption>]: never; }>(base?: I | undefined): RequestSetOption;
    fromPartial<I_1 extends {
        key?: string | undefined;
        value?: string | undefined;
    } & {
        key?: string | undefined;
        value?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof RequestSetOption>]: never; }>(object: I_1): RequestSetOption;
};
interface RequestInitChain {
    time: Date | undefined;
    chainId: string;
    consensusParams: ConsensusParams | undefined;
    validators: ValidatorUpdate[];
    appStateBytes: Uint8Array;
    initialHeight: number;
}
declare const RequestInitChain: {
    encode(message: RequestInitChain, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RequestInitChain;
    fromJSON(object: any): RequestInitChain;
    toJSON(message: RequestInitChain): unknown;
    create<I extends {
        time?: Date | undefined;
        chainId?: string | undefined;
        consensusParams?: {
            block?: {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } | undefined;
            evidence?: {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } | undefined;
            validator?: {
                pubKeyTypes?: string[] | undefined;
            } | undefined;
            version?: {
                appVersion?: number | undefined;
            } | undefined;
        } | undefined;
        validators?: {
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[] | undefined;
        appStateBytes?: Uint8Array | undefined;
        initialHeight?: number | undefined;
    } & {
        time?: Date | undefined;
        chainId?: string | undefined;
        consensusParams?: ({
            block?: {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } | undefined;
            evidence?: {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } | undefined;
            validator?: {
                pubKeyTypes?: string[] | undefined;
            } | undefined;
            version?: {
                appVersion?: number | undefined;
            } | undefined;
        } & {
            block?: ({
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } & {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } & { [K in Exclude<keyof I["consensusParams"]["block"], keyof BlockParams>]: never; }) | undefined;
            evidence?: ({
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } & {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_1 in Exclude<keyof I["consensusParams"]["evidence"]["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
                maxBytes?: number | undefined;
            } & { [K_2 in Exclude<keyof I["consensusParams"]["evidence"], keyof EvidenceParams>]: never; }) | undefined;
            validator?: ({
                pubKeyTypes?: string[] | undefined;
            } & {
                pubKeyTypes?: (string[] & string[] & { [K_3 in Exclude<keyof I["consensusParams"]["validator"]["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
            } & { [K_4 in Exclude<keyof I["consensusParams"]["validator"], "pubKeyTypes">]: never; }) | undefined;
            version?: ({
                appVersion?: number | undefined;
            } & {
                appVersion?: number | undefined;
            } & { [K_5 in Exclude<keyof I["consensusParams"]["version"], "appVersion">]: never; }) | undefined;
        } & { [K_6 in Exclude<keyof I["consensusParams"], keyof ConsensusParams>]: never; }) | undefined;
        validators?: ({
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[] & ({
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        } & {
            pubKey?: ({
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } & {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } & { [K_7 in Exclude<keyof I["validators"][number]["pubKey"], keyof PublicKey>]: never; }) | undefined;
            power?: number | undefined;
        } & { [K_8 in Exclude<keyof I["validators"][number], keyof ValidatorUpdate>]: never; })[] & { [K_9 in Exclude<keyof I["validators"], keyof {
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[]>]: never; }) | undefined;
        appStateBytes?: Uint8Array | undefined;
        initialHeight?: number | undefined;
    } & { [K_10 in Exclude<keyof I, keyof RequestInitChain>]: never; }>(base?: I | undefined): RequestInitChain;
    fromPartial<I_1 extends {
        time?: Date | undefined;
        chainId?: string | undefined;
        consensusParams?: {
            block?: {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } | undefined;
            evidence?: {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } | undefined;
            validator?: {
                pubKeyTypes?: string[] | undefined;
            } | undefined;
            version?: {
                appVersion?: number | undefined;
            } | undefined;
        } | undefined;
        validators?: {
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[] | undefined;
        appStateBytes?: Uint8Array | undefined;
        initialHeight?: number | undefined;
    } & {
        time?: Date | undefined;
        chainId?: string | undefined;
        consensusParams?: ({
            block?: {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } | undefined;
            evidence?: {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } | undefined;
            validator?: {
                pubKeyTypes?: string[] | undefined;
            } | undefined;
            version?: {
                appVersion?: number | undefined;
            } | undefined;
        } & {
            block?: ({
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } & {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } & { [K_11 in Exclude<keyof I_1["consensusParams"]["block"], keyof BlockParams>]: never; }) | undefined;
            evidence?: ({
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } & {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_12 in Exclude<keyof I_1["consensusParams"]["evidence"]["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
                maxBytes?: number | undefined;
            } & { [K_13 in Exclude<keyof I_1["consensusParams"]["evidence"], keyof EvidenceParams>]: never; }) | undefined;
            validator?: ({
                pubKeyTypes?: string[] | undefined;
            } & {
                pubKeyTypes?: (string[] & string[] & { [K_14 in Exclude<keyof I_1["consensusParams"]["validator"]["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
            } & { [K_15 in Exclude<keyof I_1["consensusParams"]["validator"], "pubKeyTypes">]: never; }) | undefined;
            version?: ({
                appVersion?: number | undefined;
            } & {
                appVersion?: number | undefined;
            } & { [K_16 in Exclude<keyof I_1["consensusParams"]["version"], "appVersion">]: never; }) | undefined;
        } & { [K_17 in Exclude<keyof I_1["consensusParams"], keyof ConsensusParams>]: never; }) | undefined;
        validators?: ({
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[] & ({
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        } & {
            pubKey?: ({
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } & {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } & { [K_18 in Exclude<keyof I_1["validators"][number]["pubKey"], keyof PublicKey>]: never; }) | undefined;
            power?: number | undefined;
        } & { [K_19 in Exclude<keyof I_1["validators"][number], keyof ValidatorUpdate>]: never; })[] & { [K_20 in Exclude<keyof I_1["validators"], keyof {
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[]>]: never; }) | undefined;
        appStateBytes?: Uint8Array | undefined;
        initialHeight?: number | undefined;
    } & { [K_21 in Exclude<keyof I_1, keyof RequestInitChain>]: never; }>(object: I_1): RequestInitChain;
};
interface RequestQuery {
    data: Uint8Array;
    path: string;
    height: number;
    prove: boolean;
}
declare const RequestQuery: {
    encode(message: RequestQuery, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RequestQuery;
    fromJSON(object: any): RequestQuery;
    toJSON(message: RequestQuery): unknown;
    create<I extends {
        data?: Uint8Array | undefined;
        path?: string | undefined;
        height?: number | undefined;
        prove?: boolean | undefined;
    } & {
        data?: Uint8Array | undefined;
        path?: string | undefined;
        height?: number | undefined;
        prove?: boolean | undefined;
    } & { [K in Exclude<keyof I, keyof RequestQuery>]: never; }>(base?: I | undefined): RequestQuery;
    fromPartial<I_1 extends {
        data?: Uint8Array | undefined;
        path?: string | undefined;
        height?: number | undefined;
        prove?: boolean | undefined;
    } & {
        data?: Uint8Array | undefined;
        path?: string | undefined;
        height?: number | undefined;
        prove?: boolean | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof RequestQuery>]: never; }>(object: I_1): RequestQuery;
};
interface RequestBeginBlock {
    hash: Uint8Array;
    header: Header | undefined;
    lastCommitInfo: LastCommitInfo | undefined;
    byzantineValidators: Evidence[];
}
declare const RequestBeginBlock: {
    encode(message: RequestBeginBlock, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RequestBeginBlock;
    fromJSON(object: any): RequestBeginBlock;
    toJSON(message: RequestBeginBlock): unknown;
    create<I extends {
        hash?: Uint8Array | undefined;
        header?: {
            version?: {
                block?: number | undefined;
                app?: number | undefined;
            } | undefined;
            chainId?: string | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            lastBlockId?: {
                hash?: Uint8Array | undefined;
                partSetHeader?: {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            lastCommitHash?: Uint8Array | undefined;
            dataHash?: Uint8Array | undefined;
            validatorsHash?: Uint8Array | undefined;
            nextValidatorsHash?: Uint8Array | undefined;
            consensusHash?: Uint8Array | undefined;
            appHash?: Uint8Array | undefined;
            lastResultsHash?: Uint8Array | undefined;
            evidenceHash?: Uint8Array | undefined;
            proposerAddress?: Uint8Array | undefined;
        } | undefined;
        lastCommitInfo?: {
            round?: number | undefined;
            votes?: {
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                signedLastBlock?: boolean | undefined;
            }[] | undefined;
        } | undefined;
        byzantineValidators?: {
            type?: EvidenceType | undefined;
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            totalVotingPower?: number | undefined;
        }[] | undefined;
    } & {
        hash?: Uint8Array | undefined;
        header?: ({
            version?: {
                block?: number | undefined;
                app?: number | undefined;
            } | undefined;
            chainId?: string | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            lastBlockId?: {
                hash?: Uint8Array | undefined;
                partSetHeader?: {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            lastCommitHash?: Uint8Array | undefined;
            dataHash?: Uint8Array | undefined;
            validatorsHash?: Uint8Array | undefined;
            nextValidatorsHash?: Uint8Array | undefined;
            consensusHash?: Uint8Array | undefined;
            appHash?: Uint8Array | undefined;
            lastResultsHash?: Uint8Array | undefined;
            evidenceHash?: Uint8Array | undefined;
            proposerAddress?: Uint8Array | undefined;
        } & {
            version?: ({
                block?: number | undefined;
                app?: number | undefined;
            } & {
                block?: number | undefined;
                app?: number | undefined;
            } & { [K in Exclude<keyof I["header"]["version"], keyof Consensus>]: never; }) | undefined;
            chainId?: string | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            lastBlockId?: ({
                hash?: Uint8Array | undefined;
                partSetHeader?: {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } | undefined;
            } & {
                hash?: Uint8Array | undefined;
                partSetHeader?: ({
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } & {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } & { [K_1 in Exclude<keyof I["header"]["lastBlockId"]["partSetHeader"], keyof PartSetHeader>]: never; }) | undefined;
            } & { [K_2 in Exclude<keyof I["header"]["lastBlockId"], keyof BlockID>]: never; }) | undefined;
            lastCommitHash?: Uint8Array | undefined;
            dataHash?: Uint8Array | undefined;
            validatorsHash?: Uint8Array | undefined;
            nextValidatorsHash?: Uint8Array | undefined;
            consensusHash?: Uint8Array | undefined;
            appHash?: Uint8Array | undefined;
            lastResultsHash?: Uint8Array | undefined;
            evidenceHash?: Uint8Array | undefined;
            proposerAddress?: Uint8Array | undefined;
        } & { [K_3 in Exclude<keyof I["header"], keyof Header>]: never; }) | undefined;
        lastCommitInfo?: ({
            round?: number | undefined;
            votes?: {
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                signedLastBlock?: boolean | undefined;
            }[] | undefined;
        } & {
            round?: number | undefined;
            votes?: ({
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                signedLastBlock?: boolean | undefined;
            }[] & ({
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                signedLastBlock?: boolean | undefined;
            } & {
                validator?: ({
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } & {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } & { [K_4 in Exclude<keyof I["lastCommitInfo"]["votes"][number]["validator"], keyof Validator>]: never; }) | undefined;
                signedLastBlock?: boolean | undefined;
            } & { [K_5 in Exclude<keyof I["lastCommitInfo"]["votes"][number], keyof VoteInfo>]: never; })[] & { [K_6 in Exclude<keyof I["lastCommitInfo"]["votes"], keyof {
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                signedLastBlock?: boolean | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_7 in Exclude<keyof I["lastCommitInfo"], keyof LastCommitInfo>]: never; }) | undefined;
        byzantineValidators?: ({
            type?: EvidenceType | undefined;
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            totalVotingPower?: number | undefined;
        }[] & ({
            type?: EvidenceType | undefined;
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            totalVotingPower?: number | undefined;
        } & {
            type?: EvidenceType | undefined;
            validator?: ({
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } & {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } & { [K_8 in Exclude<keyof I["byzantineValidators"][number]["validator"], keyof Validator>]: never; }) | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            totalVotingPower?: number | undefined;
        } & { [K_9 in Exclude<keyof I["byzantineValidators"][number], keyof Evidence>]: never; })[] & { [K_10 in Exclude<keyof I["byzantineValidators"], keyof {
            type?: EvidenceType | undefined;
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            totalVotingPower?: number | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_11 in Exclude<keyof I, keyof RequestBeginBlock>]: never; }>(base?: I | undefined): RequestBeginBlock;
    fromPartial<I_1 extends {
        hash?: Uint8Array | undefined;
        header?: {
            version?: {
                block?: number | undefined;
                app?: number | undefined;
            } | undefined;
            chainId?: string | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            lastBlockId?: {
                hash?: Uint8Array | undefined;
                partSetHeader?: {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            lastCommitHash?: Uint8Array | undefined;
            dataHash?: Uint8Array | undefined;
            validatorsHash?: Uint8Array | undefined;
            nextValidatorsHash?: Uint8Array | undefined;
            consensusHash?: Uint8Array | undefined;
            appHash?: Uint8Array | undefined;
            lastResultsHash?: Uint8Array | undefined;
            evidenceHash?: Uint8Array | undefined;
            proposerAddress?: Uint8Array | undefined;
        } | undefined;
        lastCommitInfo?: {
            round?: number | undefined;
            votes?: {
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                signedLastBlock?: boolean | undefined;
            }[] | undefined;
        } | undefined;
        byzantineValidators?: {
            type?: EvidenceType | undefined;
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            totalVotingPower?: number | undefined;
        }[] | undefined;
    } & {
        hash?: Uint8Array | undefined;
        header?: ({
            version?: {
                block?: number | undefined;
                app?: number | undefined;
            } | undefined;
            chainId?: string | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            lastBlockId?: {
                hash?: Uint8Array | undefined;
                partSetHeader?: {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            lastCommitHash?: Uint8Array | undefined;
            dataHash?: Uint8Array | undefined;
            validatorsHash?: Uint8Array | undefined;
            nextValidatorsHash?: Uint8Array | undefined;
            consensusHash?: Uint8Array | undefined;
            appHash?: Uint8Array | undefined;
            lastResultsHash?: Uint8Array | undefined;
            evidenceHash?: Uint8Array | undefined;
            proposerAddress?: Uint8Array | undefined;
        } & {
            version?: ({
                block?: number | undefined;
                app?: number | undefined;
            } & {
                block?: number | undefined;
                app?: number | undefined;
            } & { [K_12 in Exclude<keyof I_1["header"]["version"], keyof Consensus>]: never; }) | undefined;
            chainId?: string | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            lastBlockId?: ({
                hash?: Uint8Array | undefined;
                partSetHeader?: {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } | undefined;
            } & {
                hash?: Uint8Array | undefined;
                partSetHeader?: ({
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } & {
                    total?: number | undefined;
                    hash?: Uint8Array | undefined;
                } & { [K_13 in Exclude<keyof I_1["header"]["lastBlockId"]["partSetHeader"], keyof PartSetHeader>]: never; }) | undefined;
            } & { [K_14 in Exclude<keyof I_1["header"]["lastBlockId"], keyof BlockID>]: never; }) | undefined;
            lastCommitHash?: Uint8Array | undefined;
            dataHash?: Uint8Array | undefined;
            validatorsHash?: Uint8Array | undefined;
            nextValidatorsHash?: Uint8Array | undefined;
            consensusHash?: Uint8Array | undefined;
            appHash?: Uint8Array | undefined;
            lastResultsHash?: Uint8Array | undefined;
            evidenceHash?: Uint8Array | undefined;
            proposerAddress?: Uint8Array | undefined;
        } & { [K_15 in Exclude<keyof I_1["header"], keyof Header>]: never; }) | undefined;
        lastCommitInfo?: ({
            round?: number | undefined;
            votes?: {
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                signedLastBlock?: boolean | undefined;
            }[] | undefined;
        } & {
            round?: number | undefined;
            votes?: ({
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                signedLastBlock?: boolean | undefined;
            }[] & ({
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                signedLastBlock?: boolean | undefined;
            } & {
                validator?: ({
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } & {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } & { [K_16 in Exclude<keyof I_1["lastCommitInfo"]["votes"][number]["validator"], keyof Validator>]: never; }) | undefined;
                signedLastBlock?: boolean | undefined;
            } & { [K_17 in Exclude<keyof I_1["lastCommitInfo"]["votes"][number], keyof VoteInfo>]: never; })[] & { [K_18 in Exclude<keyof I_1["lastCommitInfo"]["votes"], keyof {
                validator?: {
                    address?: Uint8Array | undefined;
                    power?: number | undefined;
                } | undefined;
                signedLastBlock?: boolean | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_19 in Exclude<keyof I_1["lastCommitInfo"], keyof LastCommitInfo>]: never; }) | undefined;
        byzantineValidators?: ({
            type?: EvidenceType | undefined;
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            totalVotingPower?: number | undefined;
        }[] & ({
            type?: EvidenceType | undefined;
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            totalVotingPower?: number | undefined;
        } & {
            type?: EvidenceType | undefined;
            validator?: ({
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } & {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } & { [K_20 in Exclude<keyof I_1["byzantineValidators"][number]["validator"], keyof Validator>]: never; }) | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            totalVotingPower?: number | undefined;
        } & { [K_21 in Exclude<keyof I_1["byzantineValidators"][number], keyof Evidence>]: never; })[] & { [K_22 in Exclude<keyof I_1["byzantineValidators"], keyof {
            type?: EvidenceType | undefined;
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            height?: number | undefined;
            time?: Date | undefined;
            totalVotingPower?: number | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_23 in Exclude<keyof I_1, keyof RequestBeginBlock>]: never; }>(object: I_1): RequestBeginBlock;
};
interface RequestCheckTx {
    tx: Uint8Array;
    type: CheckTxType;
}
declare const RequestCheckTx: {
    encode(message: RequestCheckTx, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RequestCheckTx;
    fromJSON(object: any): RequestCheckTx;
    toJSON(message: RequestCheckTx): unknown;
    create<I extends {
        tx?: Uint8Array | undefined;
        type?: CheckTxType | undefined;
    } & {
        tx?: Uint8Array | undefined;
        type?: CheckTxType | undefined;
    } & { [K in Exclude<keyof I, keyof RequestCheckTx>]: never; }>(base?: I | undefined): RequestCheckTx;
    fromPartial<I_1 extends {
        tx?: Uint8Array | undefined;
        type?: CheckTxType | undefined;
    } & {
        tx?: Uint8Array | undefined;
        type?: CheckTxType | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof RequestCheckTx>]: never; }>(object: I_1): RequestCheckTx;
};
interface RequestDeliverTx {
    tx: Uint8Array;
}
declare const RequestDeliverTx: {
    encode(message: RequestDeliverTx, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RequestDeliverTx;
    fromJSON(object: any): RequestDeliverTx;
    toJSON(message: RequestDeliverTx): unknown;
    create<I extends {
        tx?: Uint8Array | undefined;
    } & {
        tx?: Uint8Array | undefined;
    } & { [K in Exclude<keyof I, "tx">]: never; }>(base?: I | undefined): RequestDeliverTx;
    fromPartial<I_1 extends {
        tx?: Uint8Array | undefined;
    } & {
        tx?: Uint8Array | undefined;
    } & { [K_1 in Exclude<keyof I_1, "tx">]: never; }>(object: I_1): RequestDeliverTx;
};
interface RequestEndBlock {
    height: number;
}
declare const RequestEndBlock: {
    encode(message: RequestEndBlock, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RequestEndBlock;
    fromJSON(object: any): RequestEndBlock;
    toJSON(message: RequestEndBlock): unknown;
    create<I extends {
        height?: number | undefined;
    } & {
        height?: number | undefined;
    } & { [K in Exclude<keyof I, "height">]: never; }>(base?: I | undefined): RequestEndBlock;
    fromPartial<I_1 extends {
        height?: number | undefined;
    } & {
        height?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, "height">]: never; }>(object: I_1): RequestEndBlock;
};
interface RequestCommit {
}
declare const RequestCommit: {
    encode(_: RequestCommit, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RequestCommit;
    fromJSON(_: any): RequestCommit;
    toJSON(_: RequestCommit): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): RequestCommit;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): RequestCommit;
};
/** lists available snapshots */
interface RequestListSnapshots {
}
declare const RequestListSnapshots: {
    encode(_: RequestListSnapshots, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RequestListSnapshots;
    fromJSON(_: any): RequestListSnapshots;
    toJSON(_: RequestListSnapshots): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): RequestListSnapshots;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): RequestListSnapshots;
};
/** offers a snapshot to the application */
interface RequestOfferSnapshot {
    /** snapshot offered by peers */
    snapshot: Snapshot | undefined;
    /** light client-verified app hash for snapshot height */
    appHash: Uint8Array;
}
declare const RequestOfferSnapshot: {
    encode(message: RequestOfferSnapshot, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RequestOfferSnapshot;
    fromJSON(object: any): RequestOfferSnapshot;
    toJSON(message: RequestOfferSnapshot): unknown;
    create<I extends {
        snapshot?: {
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        } | undefined;
        appHash?: Uint8Array | undefined;
    } & {
        snapshot?: ({
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        } & {
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        } & { [K in Exclude<keyof I["snapshot"], keyof Snapshot>]: never; }) | undefined;
        appHash?: Uint8Array | undefined;
    } & { [K_1 in Exclude<keyof I, keyof RequestOfferSnapshot>]: never; }>(base?: I | undefined): RequestOfferSnapshot;
    fromPartial<I_1 extends {
        snapshot?: {
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        } | undefined;
        appHash?: Uint8Array | undefined;
    } & {
        snapshot?: ({
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        } & {
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        } & { [K_2 in Exclude<keyof I_1["snapshot"], keyof Snapshot>]: never; }) | undefined;
        appHash?: Uint8Array | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof RequestOfferSnapshot>]: never; }>(object: I_1): RequestOfferSnapshot;
};
/** loads a snapshot chunk */
interface RequestLoadSnapshotChunk {
    height: number;
    format: number;
    chunk: number;
}
declare const RequestLoadSnapshotChunk: {
    encode(message: RequestLoadSnapshotChunk, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RequestLoadSnapshotChunk;
    fromJSON(object: any): RequestLoadSnapshotChunk;
    toJSON(message: RequestLoadSnapshotChunk): unknown;
    create<I extends {
        height?: number | undefined;
        format?: number | undefined;
        chunk?: number | undefined;
    } & {
        height?: number | undefined;
        format?: number | undefined;
        chunk?: number | undefined;
    } & { [K in Exclude<keyof I, keyof RequestLoadSnapshotChunk>]: never; }>(base?: I | undefined): RequestLoadSnapshotChunk;
    fromPartial<I_1 extends {
        height?: number | undefined;
        format?: number | undefined;
        chunk?: number | undefined;
    } & {
        height?: number | undefined;
        format?: number | undefined;
        chunk?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof RequestLoadSnapshotChunk>]: never; }>(object: I_1): RequestLoadSnapshotChunk;
};
/** Applies a snapshot chunk */
interface RequestApplySnapshotChunk {
    index: number;
    chunk: Uint8Array;
    sender: string;
}
declare const RequestApplySnapshotChunk: {
    encode(message: RequestApplySnapshotChunk, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): RequestApplySnapshotChunk;
    fromJSON(object: any): RequestApplySnapshotChunk;
    toJSON(message: RequestApplySnapshotChunk): unknown;
    create<I extends {
        index?: number | undefined;
        chunk?: Uint8Array | undefined;
        sender?: string | undefined;
    } & {
        index?: number | undefined;
        chunk?: Uint8Array | undefined;
        sender?: string | undefined;
    } & { [K in Exclude<keyof I, keyof RequestApplySnapshotChunk>]: never; }>(base?: I | undefined): RequestApplySnapshotChunk;
    fromPartial<I_1 extends {
        index?: number | undefined;
        chunk?: Uint8Array | undefined;
        sender?: string | undefined;
    } & {
        index?: number | undefined;
        chunk?: Uint8Array | undefined;
        sender?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof RequestApplySnapshotChunk>]: never; }>(object: I_1): RequestApplySnapshotChunk;
};
interface Response {
    exception?: ResponseException | undefined;
    echo?: ResponseEcho | undefined;
    flush?: ResponseFlush | undefined;
    info?: ResponseInfo | undefined;
    setOption?: ResponseSetOption | undefined;
    initChain?: ResponseInitChain | undefined;
    query?: ResponseQuery | undefined;
    beginBlock?: ResponseBeginBlock | undefined;
    checkTx?: ResponseCheckTx | undefined;
    deliverTx?: ResponseDeliverTx | undefined;
    endBlock?: ResponseEndBlock | undefined;
    commit?: ResponseCommit | undefined;
    listSnapshots?: ResponseListSnapshots | undefined;
    offerSnapshot?: ResponseOfferSnapshot | undefined;
    loadSnapshotChunk?: ResponseLoadSnapshotChunk | undefined;
    applySnapshotChunk?: ResponseApplySnapshotChunk | undefined;
}
declare const Response: {
    encode(message: Response, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Response;
    fromJSON(object: any): Response;
    toJSON(message: Response): unknown;
    create<I extends {
        exception?: {
            error?: string | undefined;
        } | undefined;
        echo?: {
            message?: string | undefined;
        } | undefined;
        flush?: {} | undefined;
        info?: {
            data?: string | undefined;
            version?: string | undefined;
            appVersion?: number | undefined;
            lastBlockHeight?: number | undefined;
            lastBlockAppHash?: Uint8Array | undefined;
        } | undefined;
        setOption?: {
            code?: number | undefined;
            log?: string | undefined;
            info?: string | undefined;
        } | undefined;
        initChain?: {
            consensusParams?: {
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } | undefined;
            validators?: {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] | undefined;
            appHash?: Uint8Array | undefined;
        } | undefined;
        query?: {
            code?: number | undefined;
            log?: string | undefined;
            info?: string | undefined;
            index?: number | undefined;
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            proofOps?: {
                ops?: {
                    type?: string | undefined;
                    key?: Uint8Array | undefined;
                    data?: Uint8Array | undefined;
                }[] | undefined;
            } | undefined;
            height?: number | undefined;
            codespace?: string | undefined;
        } | undefined;
        beginBlock?: {
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
        } | undefined;
        checkTx?: {
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            codespace?: string | undefined;
            sender?: string | undefined;
            priority?: number | undefined;
            mempoolError?: string | undefined;
        } | undefined;
        deliverTx?: {
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            codespace?: string | undefined;
        } | undefined;
        endBlock?: {
            validatorUpdates?: {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] | undefined;
            consensusParamUpdates?: {
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
        } | undefined;
        commit?: {
            data?: Uint8Array | undefined;
            retainHeight?: number | undefined;
        } | undefined;
        listSnapshots?: {
            snapshots?: {
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            }[] | undefined;
        } | undefined;
        offerSnapshot?: {
            result?: ResponseOfferSnapshot_Result | undefined;
        } | undefined;
        loadSnapshotChunk?: {
            chunk?: Uint8Array | undefined;
        } | undefined;
        applySnapshotChunk?: {
            result?: ResponseApplySnapshotChunk_Result | undefined;
            refetchChunks?: number[] | undefined;
            rejectSenders?: string[] | undefined;
        } | undefined;
    } & {
        exception?: ({
            error?: string | undefined;
        } & {
            error?: string | undefined;
        } & { [K in Exclude<keyof I["exception"], "error">]: never; }) | undefined;
        echo?: ({
            message?: string | undefined;
        } & {
            message?: string | undefined;
        } & { [K_1 in Exclude<keyof I["echo"], "message">]: never; }) | undefined;
        flush?: ({} & {} & { [K_2 in Exclude<keyof I["flush"], never>]: never; }) | undefined;
        info?: ({
            data?: string | undefined;
            version?: string | undefined;
            appVersion?: number | undefined;
            lastBlockHeight?: number | undefined;
            lastBlockAppHash?: Uint8Array | undefined;
        } & {
            data?: string | undefined;
            version?: string | undefined;
            appVersion?: number | undefined;
            lastBlockHeight?: number | undefined;
            lastBlockAppHash?: Uint8Array | undefined;
        } & { [K_3 in Exclude<keyof I["info"], keyof ResponseInfo>]: never; }) | undefined;
        setOption?: ({
            code?: number | undefined;
            log?: string | undefined;
            info?: string | undefined;
        } & {
            code?: number | undefined;
            log?: string | undefined;
            info?: string | undefined;
        } & { [K_4 in Exclude<keyof I["setOption"], keyof ResponseSetOption>]: never; }) | undefined;
        initChain?: ({
            consensusParams?: {
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } | undefined;
            validators?: {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] | undefined;
            appHash?: Uint8Array | undefined;
        } & {
            consensusParams?: ({
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } & {
                block?: ({
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } & {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } & { [K_5 in Exclude<keyof I["initChain"]["consensusParams"]["block"], keyof BlockParams>]: never; }) | undefined;
                evidence?: ({
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } & {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: ({
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & { [K_6 in Exclude<keyof I["initChain"]["consensusParams"]["evidence"]["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
                    maxBytes?: number | undefined;
                } & { [K_7 in Exclude<keyof I["initChain"]["consensusParams"]["evidence"], keyof EvidenceParams>]: never; }) | undefined;
                validator?: ({
                    pubKeyTypes?: string[] | undefined;
                } & {
                    pubKeyTypes?: (string[] & string[] & { [K_8 in Exclude<keyof I["initChain"]["consensusParams"]["validator"]["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
                } & { [K_9 in Exclude<keyof I["initChain"]["consensusParams"]["validator"], "pubKeyTypes">]: never; }) | undefined;
                version?: ({
                    appVersion?: number | undefined;
                } & {
                    appVersion?: number | undefined;
                } & { [K_10 in Exclude<keyof I["initChain"]["consensusParams"]["version"], "appVersion">]: never; }) | undefined;
            } & { [K_11 in Exclude<keyof I["initChain"]["consensusParams"], keyof ConsensusParams>]: never; }) | undefined;
            validators?: ({
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] & ({
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            } & {
                pubKey?: ({
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } & {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } & { [K_12 in Exclude<keyof I["initChain"]["validators"][number]["pubKey"], keyof PublicKey>]: never; }) | undefined;
                power?: number | undefined;
            } & { [K_13 in Exclude<keyof I["initChain"]["validators"][number], keyof ValidatorUpdate>]: never; })[] & { [K_14 in Exclude<keyof I["initChain"]["validators"], keyof {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[]>]: never; }) | undefined;
            appHash?: Uint8Array | undefined;
        } & { [K_15 in Exclude<keyof I["initChain"], keyof ResponseInitChain>]: never; }) | undefined;
        query?: ({
            code?: number | undefined;
            log?: string | undefined;
            info?: string | undefined;
            index?: number | undefined;
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            proofOps?: {
                ops?: {
                    type?: string | undefined;
                    key?: Uint8Array | undefined;
                    data?: Uint8Array | undefined;
                }[] | undefined;
            } | undefined;
            height?: number | undefined;
            codespace?: string | undefined;
        } & {
            code?: number | undefined;
            log?: string | undefined;
            info?: string | undefined;
            index?: number | undefined;
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            proofOps?: ({
                ops?: {
                    type?: string | undefined;
                    key?: Uint8Array | undefined;
                    data?: Uint8Array | undefined;
                }[] | undefined;
            } & {
                ops?: ({
                    type?: string | undefined;
                    key?: Uint8Array | undefined;
                    data?: Uint8Array | undefined;
                }[] & ({
                    type?: string | undefined;
                    key?: Uint8Array | undefined;
                    data?: Uint8Array | undefined;
                } & {
                    type?: string | undefined;
                    key?: Uint8Array | undefined;
                    data?: Uint8Array | undefined;
                } & { [K_16 in Exclude<keyof I["query"]["proofOps"]["ops"][number], keyof ProofOp>]: never; })[] & { [K_17 in Exclude<keyof I["query"]["proofOps"]["ops"], keyof {
                    type?: string | undefined;
                    key?: Uint8Array | undefined;
                    data?: Uint8Array | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_18 in Exclude<keyof I["query"]["proofOps"], "ops">]: never; }) | undefined;
            height?: number | undefined;
            codespace?: string | undefined;
        } & { [K_19 in Exclude<keyof I["query"], keyof ResponseQuery>]: never; }) | undefined;
        beginBlock?: ({
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
        } & {
            events?: ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] & ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            } & {
                type?: string | undefined;
                attributes?: ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] & ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & { [K_20 in Exclude<keyof I["beginBlock"]["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_21 in Exclude<keyof I["beginBlock"]["events"][number]["attributes"], keyof {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_22 in Exclude<keyof I["beginBlock"]["events"][number], keyof Event>]: never; })[] & { [K_23 in Exclude<keyof I["beginBlock"]["events"], keyof {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_24 in Exclude<keyof I["beginBlock"], "events">]: never; }) | undefined;
        checkTx?: ({
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            codespace?: string | undefined;
            sender?: string | undefined;
            priority?: number | undefined;
            mempoolError?: string | undefined;
        } & {
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] & ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            } & {
                type?: string | undefined;
                attributes?: ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] & ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & { [K_25 in Exclude<keyof I["checkTx"]["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_26 in Exclude<keyof I["checkTx"]["events"][number]["attributes"], keyof {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_27 in Exclude<keyof I["checkTx"]["events"][number], keyof Event>]: never; })[] & { [K_28 in Exclude<keyof I["checkTx"]["events"], keyof {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[]>]: never; }) | undefined;
            codespace?: string | undefined;
            sender?: string | undefined;
            priority?: number | undefined;
            mempoolError?: string | undefined;
        } & { [K_29 in Exclude<keyof I["checkTx"], keyof ResponseCheckTx>]: never; }) | undefined;
        deliverTx?: ({
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            codespace?: string | undefined;
        } & {
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] & ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            } & {
                type?: string | undefined;
                attributes?: ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] & ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & { [K_30 in Exclude<keyof I["deliverTx"]["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_31 in Exclude<keyof I["deliverTx"]["events"][number]["attributes"], keyof {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_32 in Exclude<keyof I["deliverTx"]["events"][number], keyof Event>]: never; })[] & { [K_33 in Exclude<keyof I["deliverTx"]["events"], keyof {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[]>]: never; }) | undefined;
            codespace?: string | undefined;
        } & { [K_34 in Exclude<keyof I["deliverTx"], keyof ResponseDeliverTx>]: never; }) | undefined;
        endBlock?: ({
            validatorUpdates?: {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] | undefined;
            consensusParamUpdates?: {
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
        } & {
            validatorUpdates?: ({
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] & ({
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            } & {
                pubKey?: ({
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } & {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } & { [K_35 in Exclude<keyof I["endBlock"]["validatorUpdates"][number]["pubKey"], keyof PublicKey>]: never; }) | undefined;
                power?: number | undefined;
            } & { [K_36 in Exclude<keyof I["endBlock"]["validatorUpdates"][number], keyof ValidatorUpdate>]: never; })[] & { [K_37 in Exclude<keyof I["endBlock"]["validatorUpdates"], keyof {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[]>]: never; }) | undefined;
            consensusParamUpdates?: ({
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } & {
                block?: ({
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } & {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } & { [K_38 in Exclude<keyof I["endBlock"]["consensusParamUpdates"]["block"], keyof BlockParams>]: never; }) | undefined;
                evidence?: ({
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } & {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: ({
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & { [K_39 in Exclude<keyof I["endBlock"]["consensusParamUpdates"]["evidence"]["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
                    maxBytes?: number | undefined;
                } & { [K_40 in Exclude<keyof I["endBlock"]["consensusParamUpdates"]["evidence"], keyof EvidenceParams>]: never; }) | undefined;
                validator?: ({
                    pubKeyTypes?: string[] | undefined;
                } & {
                    pubKeyTypes?: (string[] & string[] & { [K_41 in Exclude<keyof I["endBlock"]["consensusParamUpdates"]["validator"]["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
                } & { [K_42 in Exclude<keyof I["endBlock"]["consensusParamUpdates"]["validator"], "pubKeyTypes">]: never; }) | undefined;
                version?: ({
                    appVersion?: number | undefined;
                } & {
                    appVersion?: number | undefined;
                } & { [K_43 in Exclude<keyof I["endBlock"]["consensusParamUpdates"]["version"], "appVersion">]: never; }) | undefined;
            } & { [K_44 in Exclude<keyof I["endBlock"]["consensusParamUpdates"], keyof ConsensusParams>]: never; }) | undefined;
            events?: ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] & ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            } & {
                type?: string | undefined;
                attributes?: ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] & ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & { [K_45 in Exclude<keyof I["endBlock"]["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_46 in Exclude<keyof I["endBlock"]["events"][number]["attributes"], keyof {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_47 in Exclude<keyof I["endBlock"]["events"][number], keyof Event>]: never; })[] & { [K_48 in Exclude<keyof I["endBlock"]["events"], keyof {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_49 in Exclude<keyof I["endBlock"], keyof ResponseEndBlock>]: never; }) | undefined;
        commit?: ({
            data?: Uint8Array | undefined;
            retainHeight?: number | undefined;
        } & {
            data?: Uint8Array | undefined;
            retainHeight?: number | undefined;
        } & { [K_50 in Exclude<keyof I["commit"], keyof ResponseCommit>]: never; }) | undefined;
        listSnapshots?: ({
            snapshots?: {
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            }[] | undefined;
        } & {
            snapshots?: ({
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            }[] & ({
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            } & {
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            } & { [K_51 in Exclude<keyof I["listSnapshots"]["snapshots"][number], keyof Snapshot>]: never; })[] & { [K_52 in Exclude<keyof I["listSnapshots"]["snapshots"], keyof {
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_53 in Exclude<keyof I["listSnapshots"], "snapshots">]: never; }) | undefined;
        offerSnapshot?: ({
            result?: ResponseOfferSnapshot_Result | undefined;
        } & {
            result?: ResponseOfferSnapshot_Result | undefined;
        } & { [K_54 in Exclude<keyof I["offerSnapshot"], "result">]: never; }) | undefined;
        loadSnapshotChunk?: ({
            chunk?: Uint8Array | undefined;
        } & {
            chunk?: Uint8Array | undefined;
        } & { [K_55 in Exclude<keyof I["loadSnapshotChunk"], "chunk">]: never; }) | undefined;
        applySnapshotChunk?: ({
            result?: ResponseApplySnapshotChunk_Result | undefined;
            refetchChunks?: number[] | undefined;
            rejectSenders?: string[] | undefined;
        } & {
            result?: ResponseApplySnapshotChunk_Result | undefined;
            refetchChunks?: (number[] & number[] & { [K_56 in Exclude<keyof I["applySnapshotChunk"]["refetchChunks"], keyof number[]>]: never; }) | undefined;
            rejectSenders?: (string[] & string[] & { [K_57 in Exclude<keyof I["applySnapshotChunk"]["rejectSenders"], keyof string[]>]: never; }) | undefined;
        } & { [K_58 in Exclude<keyof I["applySnapshotChunk"], keyof ResponseApplySnapshotChunk>]: never; }) | undefined;
    } & { [K_59 in Exclude<keyof I, keyof Response>]: never; }>(base?: I | undefined): Response;
    fromPartial<I_1 extends {
        exception?: {
            error?: string | undefined;
        } | undefined;
        echo?: {
            message?: string | undefined;
        } | undefined;
        flush?: {} | undefined;
        info?: {
            data?: string | undefined;
            version?: string | undefined;
            appVersion?: number | undefined;
            lastBlockHeight?: number | undefined;
            lastBlockAppHash?: Uint8Array | undefined;
        } | undefined;
        setOption?: {
            code?: number | undefined;
            log?: string | undefined;
            info?: string | undefined;
        } | undefined;
        initChain?: {
            consensusParams?: {
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } | undefined;
            validators?: {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] | undefined;
            appHash?: Uint8Array | undefined;
        } | undefined;
        query?: {
            code?: number | undefined;
            log?: string | undefined;
            info?: string | undefined;
            index?: number | undefined;
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            proofOps?: {
                ops?: {
                    type?: string | undefined;
                    key?: Uint8Array | undefined;
                    data?: Uint8Array | undefined;
                }[] | undefined;
            } | undefined;
            height?: number | undefined;
            codespace?: string | undefined;
        } | undefined;
        beginBlock?: {
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
        } | undefined;
        checkTx?: {
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            codespace?: string | undefined;
            sender?: string | undefined;
            priority?: number | undefined;
            mempoolError?: string | undefined;
        } | undefined;
        deliverTx?: {
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            codespace?: string | undefined;
        } | undefined;
        endBlock?: {
            validatorUpdates?: {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] | undefined;
            consensusParamUpdates?: {
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
        } | undefined;
        commit?: {
            data?: Uint8Array | undefined;
            retainHeight?: number | undefined;
        } | undefined;
        listSnapshots?: {
            snapshots?: {
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            }[] | undefined;
        } | undefined;
        offerSnapshot?: {
            result?: ResponseOfferSnapshot_Result | undefined;
        } | undefined;
        loadSnapshotChunk?: {
            chunk?: Uint8Array | undefined;
        } | undefined;
        applySnapshotChunk?: {
            result?: ResponseApplySnapshotChunk_Result | undefined;
            refetchChunks?: number[] | undefined;
            rejectSenders?: string[] | undefined;
        } | undefined;
    } & {
        exception?: ({
            error?: string | undefined;
        } & {
            error?: string | undefined;
        } & { [K_60 in Exclude<keyof I_1["exception"], "error">]: never; }) | undefined;
        echo?: ({
            message?: string | undefined;
        } & {
            message?: string | undefined;
        } & { [K_61 in Exclude<keyof I_1["echo"], "message">]: never; }) | undefined;
        flush?: ({} & {} & { [K_62 in Exclude<keyof I_1["flush"], never>]: never; }) | undefined;
        info?: ({
            data?: string | undefined;
            version?: string | undefined;
            appVersion?: number | undefined;
            lastBlockHeight?: number | undefined;
            lastBlockAppHash?: Uint8Array | undefined;
        } & {
            data?: string | undefined;
            version?: string | undefined;
            appVersion?: number | undefined;
            lastBlockHeight?: number | undefined;
            lastBlockAppHash?: Uint8Array | undefined;
        } & { [K_63 in Exclude<keyof I_1["info"], keyof ResponseInfo>]: never; }) | undefined;
        setOption?: ({
            code?: number | undefined;
            log?: string | undefined;
            info?: string | undefined;
        } & {
            code?: number | undefined;
            log?: string | undefined;
            info?: string | undefined;
        } & { [K_64 in Exclude<keyof I_1["setOption"], keyof ResponseSetOption>]: never; }) | undefined;
        initChain?: ({
            consensusParams?: {
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } | undefined;
            validators?: {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] | undefined;
            appHash?: Uint8Array | undefined;
        } & {
            consensusParams?: ({
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } & {
                block?: ({
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } & {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } & { [K_65 in Exclude<keyof I_1["initChain"]["consensusParams"]["block"], keyof BlockParams>]: never; }) | undefined;
                evidence?: ({
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } & {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: ({
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & { [K_66 in Exclude<keyof I_1["initChain"]["consensusParams"]["evidence"]["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
                    maxBytes?: number | undefined;
                } & { [K_67 in Exclude<keyof I_1["initChain"]["consensusParams"]["evidence"], keyof EvidenceParams>]: never; }) | undefined;
                validator?: ({
                    pubKeyTypes?: string[] | undefined;
                } & {
                    pubKeyTypes?: (string[] & string[] & { [K_68 in Exclude<keyof I_1["initChain"]["consensusParams"]["validator"]["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
                } & { [K_69 in Exclude<keyof I_1["initChain"]["consensusParams"]["validator"], "pubKeyTypes">]: never; }) | undefined;
                version?: ({
                    appVersion?: number | undefined;
                } & {
                    appVersion?: number | undefined;
                } & { [K_70 in Exclude<keyof I_1["initChain"]["consensusParams"]["version"], "appVersion">]: never; }) | undefined;
            } & { [K_71 in Exclude<keyof I_1["initChain"]["consensusParams"], keyof ConsensusParams>]: never; }) | undefined;
            validators?: ({
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] & ({
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            } & {
                pubKey?: ({
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } & {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } & { [K_72 in Exclude<keyof I_1["initChain"]["validators"][number]["pubKey"], keyof PublicKey>]: never; }) | undefined;
                power?: number | undefined;
            } & { [K_73 in Exclude<keyof I_1["initChain"]["validators"][number], keyof ValidatorUpdate>]: never; })[] & { [K_74 in Exclude<keyof I_1["initChain"]["validators"], keyof {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[]>]: never; }) | undefined;
            appHash?: Uint8Array | undefined;
        } & { [K_75 in Exclude<keyof I_1["initChain"], keyof ResponseInitChain>]: never; }) | undefined;
        query?: ({
            code?: number | undefined;
            log?: string | undefined;
            info?: string | undefined;
            index?: number | undefined;
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            proofOps?: {
                ops?: {
                    type?: string | undefined;
                    key?: Uint8Array | undefined;
                    data?: Uint8Array | undefined;
                }[] | undefined;
            } | undefined;
            height?: number | undefined;
            codespace?: string | undefined;
        } & {
            code?: number | undefined;
            log?: string | undefined;
            info?: string | undefined;
            index?: number | undefined;
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            proofOps?: ({
                ops?: {
                    type?: string | undefined;
                    key?: Uint8Array | undefined;
                    data?: Uint8Array | undefined;
                }[] | undefined;
            } & {
                ops?: ({
                    type?: string | undefined;
                    key?: Uint8Array | undefined;
                    data?: Uint8Array | undefined;
                }[] & ({
                    type?: string | undefined;
                    key?: Uint8Array | undefined;
                    data?: Uint8Array | undefined;
                } & {
                    type?: string | undefined;
                    key?: Uint8Array | undefined;
                    data?: Uint8Array | undefined;
                } & { [K_76 in Exclude<keyof I_1["query"]["proofOps"]["ops"][number], keyof ProofOp>]: never; })[] & { [K_77 in Exclude<keyof I_1["query"]["proofOps"]["ops"], keyof {
                    type?: string | undefined;
                    key?: Uint8Array | undefined;
                    data?: Uint8Array | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_78 in Exclude<keyof I_1["query"]["proofOps"], "ops">]: never; }) | undefined;
            height?: number | undefined;
            codespace?: string | undefined;
        } & { [K_79 in Exclude<keyof I_1["query"], keyof ResponseQuery>]: never; }) | undefined;
        beginBlock?: ({
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
        } & {
            events?: ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] & ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            } & {
                type?: string | undefined;
                attributes?: ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] & ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & { [K_80 in Exclude<keyof I_1["beginBlock"]["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_81 in Exclude<keyof I_1["beginBlock"]["events"][number]["attributes"], keyof {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_82 in Exclude<keyof I_1["beginBlock"]["events"][number], keyof Event>]: never; })[] & { [K_83 in Exclude<keyof I_1["beginBlock"]["events"], keyof {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_84 in Exclude<keyof I_1["beginBlock"], "events">]: never; }) | undefined;
        checkTx?: ({
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            codespace?: string | undefined;
            sender?: string | undefined;
            priority?: number | undefined;
            mempoolError?: string | undefined;
        } & {
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] & ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            } & {
                type?: string | undefined;
                attributes?: ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] & ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & { [K_85 in Exclude<keyof I_1["checkTx"]["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_86 in Exclude<keyof I_1["checkTx"]["events"][number]["attributes"], keyof {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_87 in Exclude<keyof I_1["checkTx"]["events"][number], keyof Event>]: never; })[] & { [K_88 in Exclude<keyof I_1["checkTx"]["events"], keyof {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[]>]: never; }) | undefined;
            codespace?: string | undefined;
            sender?: string | undefined;
            priority?: number | undefined;
            mempoolError?: string | undefined;
        } & { [K_89 in Exclude<keyof I_1["checkTx"], keyof ResponseCheckTx>]: never; }) | undefined;
        deliverTx?: ({
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            codespace?: string | undefined;
        } & {
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] & ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            } & {
                type?: string | undefined;
                attributes?: ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] & ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & { [K_90 in Exclude<keyof I_1["deliverTx"]["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_91 in Exclude<keyof I_1["deliverTx"]["events"][number]["attributes"], keyof {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_92 in Exclude<keyof I_1["deliverTx"]["events"][number], keyof Event>]: never; })[] & { [K_93 in Exclude<keyof I_1["deliverTx"]["events"], keyof {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[]>]: never; }) | undefined;
            codespace?: string | undefined;
        } & { [K_94 in Exclude<keyof I_1["deliverTx"], keyof ResponseDeliverTx>]: never; }) | undefined;
        endBlock?: ({
            validatorUpdates?: {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] | undefined;
            consensusParamUpdates?: {
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
        } & {
            validatorUpdates?: ({
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[] & ({
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            } & {
                pubKey?: ({
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } & {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } & { [K_95 in Exclude<keyof I_1["endBlock"]["validatorUpdates"][number]["pubKey"], keyof PublicKey>]: never; }) | undefined;
                power?: number | undefined;
            } & { [K_96 in Exclude<keyof I_1["endBlock"]["validatorUpdates"][number], keyof ValidatorUpdate>]: never; })[] & { [K_97 in Exclude<keyof I_1["endBlock"]["validatorUpdates"], keyof {
                pubKey?: {
                    ed25519?: Uint8Array | undefined;
                    secp256k1?: Uint8Array | undefined;
                } | undefined;
                power?: number | undefined;
            }[]>]: never; }) | undefined;
            consensusParamUpdates?: ({
                block?: {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } | undefined;
                evidence?: {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } | undefined;
                validator?: {
                    pubKeyTypes?: string[] | undefined;
                } | undefined;
                version?: {
                    appVersion?: number | undefined;
                } | undefined;
            } & {
                block?: ({
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } & {
                    maxBytes?: number | undefined;
                    maxGas?: number | undefined;
                } & { [K_98 in Exclude<keyof I_1["endBlock"]["consensusParamUpdates"]["block"], keyof BlockParams>]: never; }) | undefined;
                evidence?: ({
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                    maxBytes?: number | undefined;
                } & {
                    maxAgeNumBlocks?: number | undefined;
                    maxAgeDuration?: ({
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & { [K_99 in Exclude<keyof I_1["endBlock"]["consensusParamUpdates"]["evidence"]["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
                    maxBytes?: number | undefined;
                } & { [K_100 in Exclude<keyof I_1["endBlock"]["consensusParamUpdates"]["evidence"], keyof EvidenceParams>]: never; }) | undefined;
                validator?: ({
                    pubKeyTypes?: string[] | undefined;
                } & {
                    pubKeyTypes?: (string[] & string[] & { [K_101 in Exclude<keyof I_1["endBlock"]["consensusParamUpdates"]["validator"]["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
                } & { [K_102 in Exclude<keyof I_1["endBlock"]["consensusParamUpdates"]["validator"], "pubKeyTypes">]: never; }) | undefined;
                version?: ({
                    appVersion?: number | undefined;
                } & {
                    appVersion?: number | undefined;
                } & { [K_103 in Exclude<keyof I_1["endBlock"]["consensusParamUpdates"]["version"], "appVersion">]: never; }) | undefined;
            } & { [K_104 in Exclude<keyof I_1["endBlock"]["consensusParamUpdates"], keyof ConsensusParams>]: never; }) | undefined;
            events?: ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] & ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            } & {
                type?: string | undefined;
                attributes?: ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] & ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & { [K_105 in Exclude<keyof I_1["endBlock"]["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_106 in Exclude<keyof I_1["endBlock"]["events"][number]["attributes"], keyof {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_107 in Exclude<keyof I_1["endBlock"]["events"][number], keyof Event>]: never; })[] & { [K_108 in Exclude<keyof I_1["endBlock"]["events"], keyof {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_109 in Exclude<keyof I_1["endBlock"], keyof ResponseEndBlock>]: never; }) | undefined;
        commit?: ({
            data?: Uint8Array | undefined;
            retainHeight?: number | undefined;
        } & {
            data?: Uint8Array | undefined;
            retainHeight?: number | undefined;
        } & { [K_110 in Exclude<keyof I_1["commit"], keyof ResponseCommit>]: never; }) | undefined;
        listSnapshots?: ({
            snapshots?: {
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            }[] | undefined;
        } & {
            snapshots?: ({
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            }[] & ({
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            } & {
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            } & { [K_111 in Exclude<keyof I_1["listSnapshots"]["snapshots"][number], keyof Snapshot>]: never; })[] & { [K_112 in Exclude<keyof I_1["listSnapshots"]["snapshots"], keyof {
                height?: number | undefined;
                format?: number | undefined;
                chunks?: number | undefined;
                hash?: Uint8Array | undefined;
                metadata?: Uint8Array | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_113 in Exclude<keyof I_1["listSnapshots"], "snapshots">]: never; }) | undefined;
        offerSnapshot?: ({
            result?: ResponseOfferSnapshot_Result | undefined;
        } & {
            result?: ResponseOfferSnapshot_Result | undefined;
        } & { [K_114 in Exclude<keyof I_1["offerSnapshot"], "result">]: never; }) | undefined;
        loadSnapshotChunk?: ({
            chunk?: Uint8Array | undefined;
        } & {
            chunk?: Uint8Array | undefined;
        } & { [K_115 in Exclude<keyof I_1["loadSnapshotChunk"], "chunk">]: never; }) | undefined;
        applySnapshotChunk?: ({
            result?: ResponseApplySnapshotChunk_Result | undefined;
            refetchChunks?: number[] | undefined;
            rejectSenders?: string[] | undefined;
        } & {
            result?: ResponseApplySnapshotChunk_Result | undefined;
            refetchChunks?: (number[] & number[] & { [K_116 in Exclude<keyof I_1["applySnapshotChunk"]["refetchChunks"], keyof number[]>]: never; }) | undefined;
            rejectSenders?: (string[] & string[] & { [K_117 in Exclude<keyof I_1["applySnapshotChunk"]["rejectSenders"], keyof string[]>]: never; }) | undefined;
        } & { [K_118 in Exclude<keyof I_1["applySnapshotChunk"], keyof ResponseApplySnapshotChunk>]: never; }) | undefined;
    } & { [K_119 in Exclude<keyof I_1, keyof Response>]: never; }>(object: I_1): Response;
};
/** nondeterministic */
interface ResponseException {
    error: string;
}
declare const ResponseException: {
    encode(message: ResponseException, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseException;
    fromJSON(object: any): ResponseException;
    toJSON(message: ResponseException): unknown;
    create<I extends {
        error?: string | undefined;
    } & {
        error?: string | undefined;
    } & { [K in Exclude<keyof I, "error">]: never; }>(base?: I | undefined): ResponseException;
    fromPartial<I_1 extends {
        error?: string | undefined;
    } & {
        error?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "error">]: never; }>(object: I_1): ResponseException;
};
interface ResponseEcho {
    message: string;
}
declare const ResponseEcho: {
    encode(message: ResponseEcho, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseEcho;
    fromJSON(object: any): ResponseEcho;
    toJSON(message: ResponseEcho): unknown;
    create<I extends {
        message?: string | undefined;
    } & {
        message?: string | undefined;
    } & { [K in Exclude<keyof I, "message">]: never; }>(base?: I | undefined): ResponseEcho;
    fromPartial<I_1 extends {
        message?: string | undefined;
    } & {
        message?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "message">]: never; }>(object: I_1): ResponseEcho;
};
interface ResponseFlush {
}
declare const ResponseFlush: {
    encode(_: ResponseFlush, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseFlush;
    fromJSON(_: any): ResponseFlush;
    toJSON(_: ResponseFlush): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): ResponseFlush;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): ResponseFlush;
};
interface ResponseInfo {
    data: string;
    version: string;
    appVersion: number;
    lastBlockHeight: number;
    lastBlockAppHash: Uint8Array;
}
declare const ResponseInfo: {
    encode(message: ResponseInfo, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseInfo;
    fromJSON(object: any): ResponseInfo;
    toJSON(message: ResponseInfo): unknown;
    create<I extends {
        data?: string | undefined;
        version?: string | undefined;
        appVersion?: number | undefined;
        lastBlockHeight?: number | undefined;
        lastBlockAppHash?: Uint8Array | undefined;
    } & {
        data?: string | undefined;
        version?: string | undefined;
        appVersion?: number | undefined;
        lastBlockHeight?: number | undefined;
        lastBlockAppHash?: Uint8Array | undefined;
    } & { [K in Exclude<keyof I, keyof ResponseInfo>]: never; }>(base?: I | undefined): ResponseInfo;
    fromPartial<I_1 extends {
        data?: string | undefined;
        version?: string | undefined;
        appVersion?: number | undefined;
        lastBlockHeight?: number | undefined;
        lastBlockAppHash?: Uint8Array | undefined;
    } & {
        data?: string | undefined;
        version?: string | undefined;
        appVersion?: number | undefined;
        lastBlockHeight?: number | undefined;
        lastBlockAppHash?: Uint8Array | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof ResponseInfo>]: never; }>(object: I_1): ResponseInfo;
};
/** nondeterministic */
interface ResponseSetOption {
    code: number;
    /** bytes data = 2; */
    log: string;
    info: string;
}
declare const ResponseSetOption: {
    encode(message: ResponseSetOption, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseSetOption;
    fromJSON(object: any): ResponseSetOption;
    toJSON(message: ResponseSetOption): unknown;
    create<I extends {
        code?: number | undefined;
        log?: string | undefined;
        info?: string | undefined;
    } & {
        code?: number | undefined;
        log?: string | undefined;
        info?: string | undefined;
    } & { [K in Exclude<keyof I, keyof ResponseSetOption>]: never; }>(base?: I | undefined): ResponseSetOption;
    fromPartial<I_1 extends {
        code?: number | undefined;
        log?: string | undefined;
        info?: string | undefined;
    } & {
        code?: number | undefined;
        log?: string | undefined;
        info?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof ResponseSetOption>]: never; }>(object: I_1): ResponseSetOption;
};
interface ResponseInitChain {
    consensusParams: ConsensusParams | undefined;
    validators: ValidatorUpdate[];
    appHash: Uint8Array;
}
declare const ResponseInitChain: {
    encode(message: ResponseInitChain, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseInitChain;
    fromJSON(object: any): ResponseInitChain;
    toJSON(message: ResponseInitChain): unknown;
    create<I extends {
        consensusParams?: {
            block?: {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } | undefined;
            evidence?: {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } | undefined;
            validator?: {
                pubKeyTypes?: string[] | undefined;
            } | undefined;
            version?: {
                appVersion?: number | undefined;
            } | undefined;
        } | undefined;
        validators?: {
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[] | undefined;
        appHash?: Uint8Array | undefined;
    } & {
        consensusParams?: ({
            block?: {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } | undefined;
            evidence?: {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } | undefined;
            validator?: {
                pubKeyTypes?: string[] | undefined;
            } | undefined;
            version?: {
                appVersion?: number | undefined;
            } | undefined;
        } & {
            block?: ({
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } & {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } & { [K in Exclude<keyof I["consensusParams"]["block"], keyof BlockParams>]: never; }) | undefined;
            evidence?: ({
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } & {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_1 in Exclude<keyof I["consensusParams"]["evidence"]["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
                maxBytes?: number | undefined;
            } & { [K_2 in Exclude<keyof I["consensusParams"]["evidence"], keyof EvidenceParams>]: never; }) | undefined;
            validator?: ({
                pubKeyTypes?: string[] | undefined;
            } & {
                pubKeyTypes?: (string[] & string[] & { [K_3 in Exclude<keyof I["consensusParams"]["validator"]["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
            } & { [K_4 in Exclude<keyof I["consensusParams"]["validator"], "pubKeyTypes">]: never; }) | undefined;
            version?: ({
                appVersion?: number | undefined;
            } & {
                appVersion?: number | undefined;
            } & { [K_5 in Exclude<keyof I["consensusParams"]["version"], "appVersion">]: never; }) | undefined;
        } & { [K_6 in Exclude<keyof I["consensusParams"], keyof ConsensusParams>]: never; }) | undefined;
        validators?: ({
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[] & ({
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        } & {
            pubKey?: ({
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } & {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } & { [K_7 in Exclude<keyof I["validators"][number]["pubKey"], keyof PublicKey>]: never; }) | undefined;
            power?: number | undefined;
        } & { [K_8 in Exclude<keyof I["validators"][number], keyof ValidatorUpdate>]: never; })[] & { [K_9 in Exclude<keyof I["validators"], keyof {
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[]>]: never; }) | undefined;
        appHash?: Uint8Array | undefined;
    } & { [K_10 in Exclude<keyof I, keyof ResponseInitChain>]: never; }>(base?: I | undefined): ResponseInitChain;
    fromPartial<I_1 extends {
        consensusParams?: {
            block?: {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } | undefined;
            evidence?: {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } | undefined;
            validator?: {
                pubKeyTypes?: string[] | undefined;
            } | undefined;
            version?: {
                appVersion?: number | undefined;
            } | undefined;
        } | undefined;
        validators?: {
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[] | undefined;
        appHash?: Uint8Array | undefined;
    } & {
        consensusParams?: ({
            block?: {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } | undefined;
            evidence?: {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } | undefined;
            validator?: {
                pubKeyTypes?: string[] | undefined;
            } | undefined;
            version?: {
                appVersion?: number | undefined;
            } | undefined;
        } & {
            block?: ({
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } & {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } & { [K_11 in Exclude<keyof I_1["consensusParams"]["block"], keyof BlockParams>]: never; }) | undefined;
            evidence?: ({
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } & {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_12 in Exclude<keyof I_1["consensusParams"]["evidence"]["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
                maxBytes?: number | undefined;
            } & { [K_13 in Exclude<keyof I_1["consensusParams"]["evidence"], keyof EvidenceParams>]: never; }) | undefined;
            validator?: ({
                pubKeyTypes?: string[] | undefined;
            } & {
                pubKeyTypes?: (string[] & string[] & { [K_14 in Exclude<keyof I_1["consensusParams"]["validator"]["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
            } & { [K_15 in Exclude<keyof I_1["consensusParams"]["validator"], "pubKeyTypes">]: never; }) | undefined;
            version?: ({
                appVersion?: number | undefined;
            } & {
                appVersion?: number | undefined;
            } & { [K_16 in Exclude<keyof I_1["consensusParams"]["version"], "appVersion">]: never; }) | undefined;
        } & { [K_17 in Exclude<keyof I_1["consensusParams"], keyof ConsensusParams>]: never; }) | undefined;
        validators?: ({
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[] & ({
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        } & {
            pubKey?: ({
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } & {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } & { [K_18 in Exclude<keyof I_1["validators"][number]["pubKey"], keyof PublicKey>]: never; }) | undefined;
            power?: number | undefined;
        } & { [K_19 in Exclude<keyof I_1["validators"][number], keyof ValidatorUpdate>]: never; })[] & { [K_20 in Exclude<keyof I_1["validators"], keyof {
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[]>]: never; }) | undefined;
        appHash?: Uint8Array | undefined;
    } & { [K_21 in Exclude<keyof I_1, keyof ResponseInitChain>]: never; }>(object: I_1): ResponseInitChain;
};
interface ResponseQuery {
    code: number;
    /** bytes data = 2; // use "value" instead. */
    log: string;
    /** nondeterministic */
    info: string;
    index: number;
    key: Uint8Array;
    value: Uint8Array;
    proofOps: ProofOps | undefined;
    height: number;
    codespace: string;
}
declare const ResponseQuery: {
    encode(message: ResponseQuery, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseQuery;
    fromJSON(object: any): ResponseQuery;
    toJSON(message: ResponseQuery): unknown;
    create<I extends {
        code?: number | undefined;
        log?: string | undefined;
        info?: string | undefined;
        index?: number | undefined;
        key?: Uint8Array | undefined;
        value?: Uint8Array | undefined;
        proofOps?: {
            ops?: {
                type?: string | undefined;
                key?: Uint8Array | undefined;
                data?: Uint8Array | undefined;
            }[] | undefined;
        } | undefined;
        height?: number | undefined;
        codespace?: string | undefined;
    } & {
        code?: number | undefined;
        log?: string | undefined;
        info?: string | undefined;
        index?: number | undefined;
        key?: Uint8Array | undefined;
        value?: Uint8Array | undefined;
        proofOps?: ({
            ops?: {
                type?: string | undefined;
                key?: Uint8Array | undefined;
                data?: Uint8Array | undefined;
            }[] | undefined;
        } & {
            ops?: ({
                type?: string | undefined;
                key?: Uint8Array | undefined;
                data?: Uint8Array | undefined;
            }[] & ({
                type?: string | undefined;
                key?: Uint8Array | undefined;
                data?: Uint8Array | undefined;
            } & {
                type?: string | undefined;
                key?: Uint8Array | undefined;
                data?: Uint8Array | undefined;
            } & { [K in Exclude<keyof I["proofOps"]["ops"][number], keyof ProofOp>]: never; })[] & { [K_1 in Exclude<keyof I["proofOps"]["ops"], keyof {
                type?: string | undefined;
                key?: Uint8Array | undefined;
                data?: Uint8Array | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["proofOps"], "ops">]: never; }) | undefined;
        height?: number | undefined;
        codespace?: string | undefined;
    } & { [K_3 in Exclude<keyof I, keyof ResponseQuery>]: never; }>(base?: I | undefined): ResponseQuery;
    fromPartial<I_1 extends {
        code?: number | undefined;
        log?: string | undefined;
        info?: string | undefined;
        index?: number | undefined;
        key?: Uint8Array | undefined;
        value?: Uint8Array | undefined;
        proofOps?: {
            ops?: {
                type?: string | undefined;
                key?: Uint8Array | undefined;
                data?: Uint8Array | undefined;
            }[] | undefined;
        } | undefined;
        height?: number | undefined;
        codespace?: string | undefined;
    } & {
        code?: number | undefined;
        log?: string | undefined;
        info?: string | undefined;
        index?: number | undefined;
        key?: Uint8Array | undefined;
        value?: Uint8Array | undefined;
        proofOps?: ({
            ops?: {
                type?: string | undefined;
                key?: Uint8Array | undefined;
                data?: Uint8Array | undefined;
            }[] | undefined;
        } & {
            ops?: ({
                type?: string | undefined;
                key?: Uint8Array | undefined;
                data?: Uint8Array | undefined;
            }[] & ({
                type?: string | undefined;
                key?: Uint8Array | undefined;
                data?: Uint8Array | undefined;
            } & {
                type?: string | undefined;
                key?: Uint8Array | undefined;
                data?: Uint8Array | undefined;
            } & { [K_4 in Exclude<keyof I_1["proofOps"]["ops"][number], keyof ProofOp>]: never; })[] & { [K_5 in Exclude<keyof I_1["proofOps"]["ops"], keyof {
                type?: string | undefined;
                key?: Uint8Array | undefined;
                data?: Uint8Array | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_6 in Exclude<keyof I_1["proofOps"], "ops">]: never; }) | undefined;
        height?: number | undefined;
        codespace?: string | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof ResponseQuery>]: never; }>(object: I_1): ResponseQuery;
};
interface ResponseBeginBlock {
    events: Event[];
}
declare const ResponseBeginBlock: {
    encode(message: ResponseBeginBlock, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseBeginBlock;
    fromJSON(object: any): ResponseBeginBlock;
    toJSON(message: ResponseBeginBlock): unknown;
    create<I extends {
        events?: {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] | undefined;
    } & {
        events?: ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] & ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        } & {
            type?: string | undefined;
            attributes?: ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] & ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & { [K in Exclude<keyof I["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_1 in Exclude<keyof I["events"][number]["attributes"], keyof {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["events"][number], keyof Event>]: never; })[] & { [K_3 in Exclude<keyof I["events"], keyof {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_4 in Exclude<keyof I, "events">]: never; }>(base?: I | undefined): ResponseBeginBlock;
    fromPartial<I_1 extends {
        events?: {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] | undefined;
    } & {
        events?: ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] & ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        } & {
            type?: string | undefined;
            attributes?: ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] & ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & { [K_5 in Exclude<keyof I_1["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_6 in Exclude<keyof I_1["events"][number]["attributes"], keyof {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_7 in Exclude<keyof I_1["events"][number], keyof Event>]: never; })[] & { [K_8 in Exclude<keyof I_1["events"], keyof {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_9 in Exclude<keyof I_1, "events">]: never; }>(object: I_1): ResponseBeginBlock;
};
interface ResponseCheckTx {
    code: number;
    data: Uint8Array;
    /** nondeterministic */
    log: string;
    /** nondeterministic */
    info: string;
    gasWanted: number;
    gasUsed: number;
    events: Event[];
    codespace: string;
    sender: string;
    priority: number;
    /**
     * mempool_error is set by Tendermint.
     * ABCI applictions creating a ResponseCheckTX should not set mempool_error.
     */
    mempoolError: string;
}
declare const ResponseCheckTx: {
    encode(message: ResponseCheckTx, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseCheckTx;
    fromJSON(object: any): ResponseCheckTx;
    toJSON(message: ResponseCheckTx): unknown;
    create<I extends {
        code?: number | undefined;
        data?: Uint8Array | undefined;
        log?: string | undefined;
        info?: string | undefined;
        gasWanted?: number | undefined;
        gasUsed?: number | undefined;
        events?: {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] | undefined;
        codespace?: string | undefined;
        sender?: string | undefined;
        priority?: number | undefined;
        mempoolError?: string | undefined;
    } & {
        code?: number | undefined;
        data?: Uint8Array | undefined;
        log?: string | undefined;
        info?: string | undefined;
        gasWanted?: number | undefined;
        gasUsed?: number | undefined;
        events?: ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] & ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        } & {
            type?: string | undefined;
            attributes?: ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] & ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & { [K in Exclude<keyof I["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_1 in Exclude<keyof I["events"][number]["attributes"], keyof {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["events"][number], keyof Event>]: never; })[] & { [K_3 in Exclude<keyof I["events"], keyof {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        codespace?: string | undefined;
        sender?: string | undefined;
        priority?: number | undefined;
        mempoolError?: string | undefined;
    } & { [K_4 in Exclude<keyof I, keyof ResponseCheckTx>]: never; }>(base?: I | undefined): ResponseCheckTx;
    fromPartial<I_1 extends {
        code?: number | undefined;
        data?: Uint8Array | undefined;
        log?: string | undefined;
        info?: string | undefined;
        gasWanted?: number | undefined;
        gasUsed?: number | undefined;
        events?: {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] | undefined;
        codespace?: string | undefined;
        sender?: string | undefined;
        priority?: number | undefined;
        mempoolError?: string | undefined;
    } & {
        code?: number | undefined;
        data?: Uint8Array | undefined;
        log?: string | undefined;
        info?: string | undefined;
        gasWanted?: number | undefined;
        gasUsed?: number | undefined;
        events?: ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] & ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        } & {
            type?: string | undefined;
            attributes?: ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] & ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & { [K_5 in Exclude<keyof I_1["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_6 in Exclude<keyof I_1["events"][number]["attributes"], keyof {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_7 in Exclude<keyof I_1["events"][number], keyof Event>]: never; })[] & { [K_8 in Exclude<keyof I_1["events"], keyof {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        codespace?: string | undefined;
        sender?: string | undefined;
        priority?: number | undefined;
        mempoolError?: string | undefined;
    } & { [K_9 in Exclude<keyof I_1, keyof ResponseCheckTx>]: never; }>(object: I_1): ResponseCheckTx;
};
interface ResponseDeliverTx {
    code: number;
    data: Uint8Array;
    /** nondeterministic */
    log: string;
    /** nondeterministic */
    info: string;
    gasWanted: number;
    gasUsed: number;
    /** nondeterministic */
    events: Event[];
    codespace: string;
}
declare const ResponseDeliverTx: {
    encode(message: ResponseDeliverTx, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseDeliverTx;
    fromJSON(object: any): ResponseDeliverTx;
    toJSON(message: ResponseDeliverTx): unknown;
    create<I extends {
        code?: number | undefined;
        data?: Uint8Array | undefined;
        log?: string | undefined;
        info?: string | undefined;
        gasWanted?: number | undefined;
        gasUsed?: number | undefined;
        events?: {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] | undefined;
        codespace?: string | undefined;
    } & {
        code?: number | undefined;
        data?: Uint8Array | undefined;
        log?: string | undefined;
        info?: string | undefined;
        gasWanted?: number | undefined;
        gasUsed?: number | undefined;
        events?: ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] & ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        } & {
            type?: string | undefined;
            attributes?: ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] & ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & { [K in Exclude<keyof I["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_1 in Exclude<keyof I["events"][number]["attributes"], keyof {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["events"][number], keyof Event>]: never; })[] & { [K_3 in Exclude<keyof I["events"], keyof {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        codespace?: string | undefined;
    } & { [K_4 in Exclude<keyof I, keyof ResponseDeliverTx>]: never; }>(base?: I | undefined): ResponseDeliverTx;
    fromPartial<I_1 extends {
        code?: number | undefined;
        data?: Uint8Array | undefined;
        log?: string | undefined;
        info?: string | undefined;
        gasWanted?: number | undefined;
        gasUsed?: number | undefined;
        events?: {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] | undefined;
        codespace?: string | undefined;
    } & {
        code?: number | undefined;
        data?: Uint8Array | undefined;
        log?: string | undefined;
        info?: string | undefined;
        gasWanted?: number | undefined;
        gasUsed?: number | undefined;
        events?: ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] & ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        } & {
            type?: string | undefined;
            attributes?: ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] & ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & { [K_5 in Exclude<keyof I_1["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_6 in Exclude<keyof I_1["events"][number]["attributes"], keyof {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_7 in Exclude<keyof I_1["events"][number], keyof Event>]: never; })[] & { [K_8 in Exclude<keyof I_1["events"], keyof {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        codespace?: string | undefined;
    } & { [K_9 in Exclude<keyof I_1, keyof ResponseDeliverTx>]: never; }>(object: I_1): ResponseDeliverTx;
};
interface ResponseEndBlock {
    validatorUpdates: ValidatorUpdate[];
    consensusParamUpdates: ConsensusParams | undefined;
    events: Event[];
}
declare const ResponseEndBlock: {
    encode(message: ResponseEndBlock, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseEndBlock;
    fromJSON(object: any): ResponseEndBlock;
    toJSON(message: ResponseEndBlock): unknown;
    create<I extends {
        validatorUpdates?: {
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[] | undefined;
        consensusParamUpdates?: {
            block?: {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } | undefined;
            evidence?: {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } | undefined;
            validator?: {
                pubKeyTypes?: string[] | undefined;
            } | undefined;
            version?: {
                appVersion?: number | undefined;
            } | undefined;
        } | undefined;
        events?: {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] | undefined;
    } & {
        validatorUpdates?: ({
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[] & ({
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        } & {
            pubKey?: ({
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } & {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } & { [K in Exclude<keyof I["validatorUpdates"][number]["pubKey"], keyof PublicKey>]: never; }) | undefined;
            power?: number | undefined;
        } & { [K_1 in Exclude<keyof I["validatorUpdates"][number], keyof ValidatorUpdate>]: never; })[] & { [K_2 in Exclude<keyof I["validatorUpdates"], keyof {
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[]>]: never; }) | undefined;
        consensusParamUpdates?: ({
            block?: {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } | undefined;
            evidence?: {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } | undefined;
            validator?: {
                pubKeyTypes?: string[] | undefined;
            } | undefined;
            version?: {
                appVersion?: number | undefined;
            } | undefined;
        } & {
            block?: ({
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } & {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } & { [K_3 in Exclude<keyof I["consensusParamUpdates"]["block"], keyof BlockParams>]: never; }) | undefined;
            evidence?: ({
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } & {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_4 in Exclude<keyof I["consensusParamUpdates"]["evidence"]["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
                maxBytes?: number | undefined;
            } & { [K_5 in Exclude<keyof I["consensusParamUpdates"]["evidence"], keyof EvidenceParams>]: never; }) | undefined;
            validator?: ({
                pubKeyTypes?: string[] | undefined;
            } & {
                pubKeyTypes?: (string[] & string[] & { [K_6 in Exclude<keyof I["consensusParamUpdates"]["validator"]["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
            } & { [K_7 in Exclude<keyof I["consensusParamUpdates"]["validator"], "pubKeyTypes">]: never; }) | undefined;
            version?: ({
                appVersion?: number | undefined;
            } & {
                appVersion?: number | undefined;
            } & { [K_8 in Exclude<keyof I["consensusParamUpdates"]["version"], "appVersion">]: never; }) | undefined;
        } & { [K_9 in Exclude<keyof I["consensusParamUpdates"], keyof ConsensusParams>]: never; }) | undefined;
        events?: ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] & ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        } & {
            type?: string | undefined;
            attributes?: ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] & ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & { [K_10 in Exclude<keyof I["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_11 in Exclude<keyof I["events"][number]["attributes"], keyof {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_12 in Exclude<keyof I["events"][number], keyof Event>]: never; })[] & { [K_13 in Exclude<keyof I["events"], keyof {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_14 in Exclude<keyof I, keyof ResponseEndBlock>]: never; }>(base?: I | undefined): ResponseEndBlock;
    fromPartial<I_1 extends {
        validatorUpdates?: {
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[] | undefined;
        consensusParamUpdates?: {
            block?: {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } | undefined;
            evidence?: {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } | undefined;
            validator?: {
                pubKeyTypes?: string[] | undefined;
            } | undefined;
            version?: {
                appVersion?: number | undefined;
            } | undefined;
        } | undefined;
        events?: {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] | undefined;
    } & {
        validatorUpdates?: ({
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[] & ({
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        } & {
            pubKey?: ({
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } & {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } & { [K_15 in Exclude<keyof I_1["validatorUpdates"][number]["pubKey"], keyof PublicKey>]: never; }) | undefined;
            power?: number | undefined;
        } & { [K_16 in Exclude<keyof I_1["validatorUpdates"][number], keyof ValidatorUpdate>]: never; })[] & { [K_17 in Exclude<keyof I_1["validatorUpdates"], keyof {
            pubKey?: {
                ed25519?: Uint8Array | undefined;
                secp256k1?: Uint8Array | undefined;
            } | undefined;
            power?: number | undefined;
        }[]>]: never; }) | undefined;
        consensusParamUpdates?: ({
            block?: {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } | undefined;
            evidence?: {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } | undefined;
            validator?: {
                pubKeyTypes?: string[] | undefined;
            } | undefined;
            version?: {
                appVersion?: number | undefined;
            } | undefined;
        } & {
            block?: ({
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } & {
                maxBytes?: number | undefined;
                maxGas?: number | undefined;
            } & { [K_18 in Exclude<keyof I_1["consensusParamUpdates"]["block"], keyof BlockParams>]: never; }) | undefined;
            evidence?: ({
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
                maxBytes?: number | undefined;
            } & {
                maxAgeNumBlocks?: number | undefined;
                maxAgeDuration?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_19 in Exclude<keyof I_1["consensusParamUpdates"]["evidence"]["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
                maxBytes?: number | undefined;
            } & { [K_20 in Exclude<keyof I_1["consensusParamUpdates"]["evidence"], keyof EvidenceParams>]: never; }) | undefined;
            validator?: ({
                pubKeyTypes?: string[] | undefined;
            } & {
                pubKeyTypes?: (string[] & string[] & { [K_21 in Exclude<keyof I_1["consensusParamUpdates"]["validator"]["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
            } & { [K_22 in Exclude<keyof I_1["consensusParamUpdates"]["validator"], "pubKeyTypes">]: never; }) | undefined;
            version?: ({
                appVersion?: number | undefined;
            } & {
                appVersion?: number | undefined;
            } & { [K_23 in Exclude<keyof I_1["consensusParamUpdates"]["version"], "appVersion">]: never; }) | undefined;
        } & { [K_24 in Exclude<keyof I_1["consensusParamUpdates"], keyof ConsensusParams>]: never; }) | undefined;
        events?: ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[] & ({
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        } & {
            type?: string | undefined;
            attributes?: ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] & ({
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            } & { [K_25 in Exclude<keyof I_1["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_26 in Exclude<keyof I_1["events"][number]["attributes"], keyof {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_27 in Exclude<keyof I_1["events"][number], keyof Event>]: never; })[] & { [K_28 in Exclude<keyof I_1["events"], keyof {
            type?: string | undefined;
            attributes?: {
                key?: Uint8Array | undefined;
                value?: Uint8Array | undefined;
                index?: boolean | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_29 in Exclude<keyof I_1, keyof ResponseEndBlock>]: never; }>(object: I_1): ResponseEndBlock;
};
interface ResponseCommit {
    /** reserve 1 */
    data: Uint8Array;
    retainHeight: number;
}
declare const ResponseCommit: {
    encode(message: ResponseCommit, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseCommit;
    fromJSON(object: any): ResponseCommit;
    toJSON(message: ResponseCommit): unknown;
    create<I extends {
        data?: Uint8Array | undefined;
        retainHeight?: number | undefined;
    } & {
        data?: Uint8Array | undefined;
        retainHeight?: number | undefined;
    } & { [K in Exclude<keyof I, keyof ResponseCommit>]: never; }>(base?: I | undefined): ResponseCommit;
    fromPartial<I_1 extends {
        data?: Uint8Array | undefined;
        retainHeight?: number | undefined;
    } & {
        data?: Uint8Array | undefined;
        retainHeight?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof ResponseCommit>]: never; }>(object: I_1): ResponseCommit;
};
interface ResponseListSnapshots {
    snapshots: Snapshot[];
}
declare const ResponseListSnapshots: {
    encode(message: ResponseListSnapshots, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseListSnapshots;
    fromJSON(object: any): ResponseListSnapshots;
    toJSON(message: ResponseListSnapshots): unknown;
    create<I extends {
        snapshots?: {
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        }[] | undefined;
    } & {
        snapshots?: ({
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        }[] & ({
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        } & {
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        } & { [K in Exclude<keyof I["snapshots"][number], keyof Snapshot>]: never; })[] & { [K_1 in Exclude<keyof I["snapshots"], keyof {
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, "snapshots">]: never; }>(base?: I | undefined): ResponseListSnapshots;
    fromPartial<I_1 extends {
        snapshots?: {
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        }[] | undefined;
    } & {
        snapshots?: ({
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        }[] & ({
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        } & {
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        } & { [K_3 in Exclude<keyof I_1["snapshots"][number], keyof Snapshot>]: never; })[] & { [K_4 in Exclude<keyof I_1["snapshots"], keyof {
            height?: number | undefined;
            format?: number | undefined;
            chunks?: number | undefined;
            hash?: Uint8Array | undefined;
            metadata?: Uint8Array | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, "snapshots">]: never; }>(object: I_1): ResponseListSnapshots;
};
interface ResponseOfferSnapshot {
    result: ResponseOfferSnapshot_Result;
}
declare const ResponseOfferSnapshot: {
    encode(message: ResponseOfferSnapshot, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseOfferSnapshot;
    fromJSON(object: any): ResponseOfferSnapshot;
    toJSON(message: ResponseOfferSnapshot): unknown;
    create<I extends {
        result?: ResponseOfferSnapshot_Result | undefined;
    } & {
        result?: ResponseOfferSnapshot_Result | undefined;
    } & { [K in Exclude<keyof I, "result">]: never; }>(base?: I | undefined): ResponseOfferSnapshot;
    fromPartial<I_1 extends {
        result?: ResponseOfferSnapshot_Result | undefined;
    } & {
        result?: ResponseOfferSnapshot_Result | undefined;
    } & { [K_1 in Exclude<keyof I_1, "result">]: never; }>(object: I_1): ResponseOfferSnapshot;
};
interface ResponseLoadSnapshotChunk {
    chunk: Uint8Array;
}
declare const ResponseLoadSnapshotChunk: {
    encode(message: ResponseLoadSnapshotChunk, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseLoadSnapshotChunk;
    fromJSON(object: any): ResponseLoadSnapshotChunk;
    toJSON(message: ResponseLoadSnapshotChunk): unknown;
    create<I extends {
        chunk?: Uint8Array | undefined;
    } & {
        chunk?: Uint8Array | undefined;
    } & { [K in Exclude<keyof I, "chunk">]: never; }>(base?: I | undefined): ResponseLoadSnapshotChunk;
    fromPartial<I_1 extends {
        chunk?: Uint8Array | undefined;
    } & {
        chunk?: Uint8Array | undefined;
    } & { [K_1 in Exclude<keyof I_1, "chunk">]: never; }>(object: I_1): ResponseLoadSnapshotChunk;
};
interface ResponseApplySnapshotChunk {
    result: ResponseApplySnapshotChunk_Result;
    /** Chunks to refetch and reapply */
    refetchChunks: number[];
    /** Chunk senders to reject and ban */
    rejectSenders: string[];
}
declare const ResponseApplySnapshotChunk: {
    encode(message: ResponseApplySnapshotChunk, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ResponseApplySnapshotChunk;
    fromJSON(object: any): ResponseApplySnapshotChunk;
    toJSON(message: ResponseApplySnapshotChunk): unknown;
    create<I extends {
        result?: ResponseApplySnapshotChunk_Result | undefined;
        refetchChunks?: number[] | undefined;
        rejectSenders?: string[] | undefined;
    } & {
        result?: ResponseApplySnapshotChunk_Result | undefined;
        refetchChunks?: (number[] & number[] & { [K in Exclude<keyof I["refetchChunks"], keyof number[]>]: never; }) | undefined;
        rejectSenders?: (string[] & string[] & { [K_1 in Exclude<keyof I["rejectSenders"], keyof string[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof ResponseApplySnapshotChunk>]: never; }>(base?: I | undefined): ResponseApplySnapshotChunk;
    fromPartial<I_1 extends {
        result?: ResponseApplySnapshotChunk_Result | undefined;
        refetchChunks?: number[] | undefined;
        rejectSenders?: string[] | undefined;
    } & {
        result?: ResponseApplySnapshotChunk_Result | undefined;
        refetchChunks?: (number[] & number[] & { [K_3 in Exclude<keyof I_1["refetchChunks"], keyof number[]>]: never; }) | undefined;
        rejectSenders?: (string[] & string[] & { [K_4 in Exclude<keyof I_1["rejectSenders"], keyof string[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, keyof ResponseApplySnapshotChunk>]: never; }>(object: I_1): ResponseApplySnapshotChunk;
};
/**
 * ConsensusParams contains all consensus-relevant parameters
 * that can be adjusted by the abci app
 */
interface ConsensusParams {
    block: BlockParams | undefined;
    evidence: EvidenceParams | undefined;
    validator: ValidatorParams | undefined;
    version: VersionParams | undefined;
}
declare const ConsensusParams: {
    encode(message: ConsensusParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ConsensusParams;
    fromJSON(object: any): ConsensusParams;
    toJSON(message: ConsensusParams): unknown;
    create<I extends {
        block?: {
            maxBytes?: number | undefined;
            maxGas?: number | undefined;
        } | undefined;
        evidence?: {
            maxAgeNumBlocks?: number | undefined;
            maxAgeDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxBytes?: number | undefined;
        } | undefined;
        validator?: {
            pubKeyTypes?: string[] | undefined;
        } | undefined;
        version?: {
            appVersion?: number | undefined;
        } | undefined;
    } & {
        block?: ({
            maxBytes?: number | undefined;
            maxGas?: number | undefined;
        } & {
            maxBytes?: number | undefined;
            maxGas?: number | undefined;
        } & { [K in Exclude<keyof I["block"], keyof BlockParams>]: never; }) | undefined;
        evidence?: ({
            maxAgeNumBlocks?: number | undefined;
            maxAgeDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxBytes?: number | undefined;
        } & {
            maxAgeNumBlocks?: number | undefined;
            maxAgeDuration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_1 in Exclude<keyof I["evidence"]["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
            maxBytes?: number | undefined;
        } & { [K_2 in Exclude<keyof I["evidence"], keyof EvidenceParams>]: never; }) | undefined;
        validator?: ({
            pubKeyTypes?: string[] | undefined;
        } & {
            pubKeyTypes?: (string[] & string[] & { [K_3 in Exclude<keyof I["validator"]["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
        } & { [K_4 in Exclude<keyof I["validator"], "pubKeyTypes">]: never; }) | undefined;
        version?: ({
            appVersion?: number | undefined;
        } & {
            appVersion?: number | undefined;
        } & { [K_5 in Exclude<keyof I["version"], "appVersion">]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, keyof ConsensusParams>]: never; }>(base?: I | undefined): ConsensusParams;
    fromPartial<I_1 extends {
        block?: {
            maxBytes?: number | undefined;
            maxGas?: number | undefined;
        } | undefined;
        evidence?: {
            maxAgeNumBlocks?: number | undefined;
            maxAgeDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxBytes?: number | undefined;
        } | undefined;
        validator?: {
            pubKeyTypes?: string[] | undefined;
        } | undefined;
        version?: {
            appVersion?: number | undefined;
        } | undefined;
    } & {
        block?: ({
            maxBytes?: number | undefined;
            maxGas?: number | undefined;
        } & {
            maxBytes?: number | undefined;
            maxGas?: number | undefined;
        } & { [K_7 in Exclude<keyof I_1["block"], keyof BlockParams>]: never; }) | undefined;
        evidence?: ({
            maxAgeNumBlocks?: number | undefined;
            maxAgeDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxBytes?: number | undefined;
        } & {
            maxAgeNumBlocks?: number | undefined;
            maxAgeDuration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_8 in Exclude<keyof I_1["evidence"]["maxAgeDuration"], keyof Duration>]: never; }) | undefined;
            maxBytes?: number | undefined;
        } & { [K_9 in Exclude<keyof I_1["evidence"], keyof EvidenceParams>]: never; }) | undefined;
        validator?: ({
            pubKeyTypes?: string[] | undefined;
        } & {
            pubKeyTypes?: (string[] & string[] & { [K_10 in Exclude<keyof I_1["validator"]["pubKeyTypes"], keyof string[]>]: never; }) | undefined;
        } & { [K_11 in Exclude<keyof I_1["validator"], "pubKeyTypes">]: never; }) | undefined;
        version?: ({
            appVersion?: number | undefined;
        } & {
            appVersion?: number | undefined;
        } & { [K_12 in Exclude<keyof I_1["version"], "appVersion">]: never; }) | undefined;
    } & { [K_13 in Exclude<keyof I_1, keyof ConsensusParams>]: never; }>(object: I_1): ConsensusParams;
};
/** BlockParams contains limits on the block size. */
interface BlockParams {
    /** Note: must be greater than 0 */
    maxBytes: number;
    /** Note: must be greater or equal to -1 */
    maxGas: number;
}
declare const BlockParams: {
    encode(message: BlockParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BlockParams;
    fromJSON(object: any): BlockParams;
    toJSON(message: BlockParams): unknown;
    create<I extends {
        maxBytes?: number | undefined;
        maxGas?: number | undefined;
    } & {
        maxBytes?: number | undefined;
        maxGas?: number | undefined;
    } & { [K in Exclude<keyof I, keyof BlockParams>]: never; }>(base?: I | undefined): BlockParams;
    fromPartial<I_1 extends {
        maxBytes?: number | undefined;
        maxGas?: number | undefined;
    } & {
        maxBytes?: number | undefined;
        maxGas?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof BlockParams>]: never; }>(object: I_1): BlockParams;
};
interface LastCommitInfo {
    round: number;
    votes: VoteInfo[];
}
declare const LastCommitInfo: {
    encode(message: LastCommitInfo, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): LastCommitInfo;
    fromJSON(object: any): LastCommitInfo;
    toJSON(message: LastCommitInfo): unknown;
    create<I extends {
        round?: number | undefined;
        votes?: {
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            signedLastBlock?: boolean | undefined;
        }[] | undefined;
    } & {
        round?: number | undefined;
        votes?: ({
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            signedLastBlock?: boolean | undefined;
        }[] & ({
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            signedLastBlock?: boolean | undefined;
        } & {
            validator?: ({
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } & {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } & { [K in Exclude<keyof I["votes"][number]["validator"], keyof Validator>]: never; }) | undefined;
            signedLastBlock?: boolean | undefined;
        } & { [K_1 in Exclude<keyof I["votes"][number], keyof VoteInfo>]: never; })[] & { [K_2 in Exclude<keyof I["votes"], keyof {
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            signedLastBlock?: boolean | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof LastCommitInfo>]: never; }>(base?: I | undefined): LastCommitInfo;
    fromPartial<I_1 extends {
        round?: number | undefined;
        votes?: {
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            signedLastBlock?: boolean | undefined;
        }[] | undefined;
    } & {
        round?: number | undefined;
        votes?: ({
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            signedLastBlock?: boolean | undefined;
        }[] & ({
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            signedLastBlock?: boolean | undefined;
        } & {
            validator?: ({
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } & {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } & { [K_4 in Exclude<keyof I_1["votes"][number]["validator"], keyof Validator>]: never; }) | undefined;
            signedLastBlock?: boolean | undefined;
        } & { [K_5 in Exclude<keyof I_1["votes"][number], keyof VoteInfo>]: never; })[] & { [K_6 in Exclude<keyof I_1["votes"], keyof {
            validator?: {
                address?: Uint8Array | undefined;
                power?: number | undefined;
            } | undefined;
            signedLastBlock?: boolean | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof LastCommitInfo>]: never; }>(object: I_1): LastCommitInfo;
};
/**
 * Event allows application developers to attach additional information to
 * ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx.
 * Later, transactions may be queried using these events.
 */
interface Event {
    type: string;
    attributes: EventAttribute[];
}
declare const Event: {
    encode(message: Event, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Event;
    fromJSON(object: any): Event;
    toJSON(message: Event): unknown;
    create<I extends {
        type?: string | undefined;
        attributes?: {
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            index?: boolean | undefined;
        }[] | undefined;
    } & {
        type?: string | undefined;
        attributes?: ({
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            index?: boolean | undefined;
        }[] & ({
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            index?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            index?: boolean | undefined;
        } & { [K in Exclude<keyof I["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_1 in Exclude<keyof I["attributes"], keyof {
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            index?: boolean | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof Event>]: never; }>(base?: I | undefined): Event;
    fromPartial<I_1 extends {
        type?: string | undefined;
        attributes?: {
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            index?: boolean | undefined;
        }[] | undefined;
    } & {
        type?: string | undefined;
        attributes?: ({
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            index?: boolean | undefined;
        }[] & ({
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            index?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            index?: boolean | undefined;
        } & { [K_3 in Exclude<keyof I_1["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_4 in Exclude<keyof I_1["attributes"], keyof {
            key?: Uint8Array | undefined;
            value?: Uint8Array | undefined;
            index?: boolean | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, keyof Event>]: never; }>(object: I_1): Event;
};
/** EventAttribute is a single key-value pair, associated with an event. */
interface EventAttribute {
    key: Uint8Array;
    value: Uint8Array;
    /** nondeterministic */
    index: boolean;
}
declare const EventAttribute: {
    encode(message: EventAttribute, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): EventAttribute;
    fromJSON(object: any): EventAttribute;
    toJSON(message: EventAttribute): unknown;
    create<I extends {
        key?: Uint8Array | undefined;
        value?: Uint8Array | undefined;
        index?: boolean | undefined;
    } & {
        key?: Uint8Array | undefined;
        value?: Uint8Array | undefined;
        index?: boolean | undefined;
    } & { [K in Exclude<keyof I, keyof EventAttribute>]: never; }>(base?: I | undefined): EventAttribute;
    fromPartial<I_1 extends {
        key?: Uint8Array | undefined;
        value?: Uint8Array | undefined;
        index?: boolean | undefined;
    } & {
        key?: Uint8Array | undefined;
        value?: Uint8Array | undefined;
        index?: boolean | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof EventAttribute>]: never; }>(object: I_1): EventAttribute;
};
/**
 * TxResult contains results of executing the transaction.
 *
 * One usage is indexing transaction results.
 */
interface TxResult {
    height: number;
    index: number;
    tx: Uint8Array;
    result: ResponseDeliverTx | undefined;
}
declare const TxResult: {
    encode(message: TxResult, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): TxResult;
    fromJSON(object: any): TxResult;
    toJSON(message: TxResult): unknown;
    create<I extends {
        height?: number | undefined;
        index?: number | undefined;
        tx?: Uint8Array | undefined;
        result?: {
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            codespace?: string | undefined;
        } | undefined;
    } & {
        height?: number | undefined;
        index?: number | undefined;
        tx?: Uint8Array | undefined;
        result?: ({
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            codespace?: string | undefined;
        } & {
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] & ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            } & {
                type?: string | undefined;
                attributes?: ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] & ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & { [K in Exclude<keyof I["result"]["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_1 in Exclude<keyof I["result"]["events"][number]["attributes"], keyof {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_2 in Exclude<keyof I["result"]["events"][number], keyof Event>]: never; })[] & { [K_3 in Exclude<keyof I["result"]["events"], keyof {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[]>]: never; }) | undefined;
            codespace?: string | undefined;
        } & { [K_4 in Exclude<keyof I["result"], keyof ResponseDeliverTx>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I, keyof TxResult>]: never; }>(base?: I | undefined): TxResult;
    fromPartial<I_1 extends {
        height?: number | undefined;
        index?: number | undefined;
        tx?: Uint8Array | undefined;
        result?: {
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            codespace?: string | undefined;
        } | undefined;
    } & {
        height?: number | undefined;
        index?: number | undefined;
        tx?: Uint8Array | undefined;
        result?: ({
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] | undefined;
            codespace?: string | undefined;
        } & {
            code?: number | undefined;
            data?: Uint8Array | undefined;
            log?: string | undefined;
            info?: string | undefined;
            gasWanted?: number | undefined;
            gasUsed?: number | undefined;
            events?: ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[] & ({
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            } & {
                type?: string | undefined;
                attributes?: ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] & ({
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                } & { [K_6 in Exclude<keyof I_1["result"]["events"][number]["attributes"][number], keyof EventAttribute>]: never; })[] & { [K_7 in Exclude<keyof I_1["result"]["events"][number]["attributes"], keyof {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_8 in Exclude<keyof I_1["result"]["events"][number], keyof Event>]: never; })[] & { [K_9 in Exclude<keyof I_1["result"]["events"], keyof {
                type?: string | undefined;
                attributes?: {
                    key?: Uint8Array | undefined;
                    value?: Uint8Array | undefined;
                    index?: boolean | undefined;
                }[] | undefined;
            }[]>]: never; }) | undefined;
            codespace?: string | undefined;
        } & { [K_10 in Exclude<keyof I_1["result"], keyof ResponseDeliverTx>]: never; }) | undefined;
    } & { [K_11 in Exclude<keyof I_1, keyof TxResult>]: never; }>(object: I_1): TxResult;
};
/** Validator */
interface Validator {
    /** The first 20 bytes of SHA256(public key) */
    address: Uint8Array;
    /** PubKey pub_key = 2 [(gogoproto.nullable)=false]; */
    power: number;
}
declare const Validator: {
    encode(message: Validator, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Validator;
    fromJSON(object: any): Validator;
    toJSON(message: Validator): unknown;
    create<I extends {
        address?: Uint8Array | undefined;
        power?: number | undefined;
    } & {
        address?: Uint8Array | undefined;
        power?: number | undefined;
    } & { [K in Exclude<keyof I, keyof Validator>]: never; }>(base?: I | undefined): Validator;
    fromPartial<I_1 extends {
        address?: Uint8Array | undefined;
        power?: number | undefined;
    } & {
        address?: Uint8Array | undefined;
        power?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Validator>]: never; }>(object: I_1): Validator;
};
/** ValidatorUpdate */
interface ValidatorUpdate {
    pubKey: PublicKey | undefined;
    power: number;
}
declare const ValidatorUpdate: {
    encode(message: ValidatorUpdate, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ValidatorUpdate;
    fromJSON(object: any): ValidatorUpdate;
    toJSON(message: ValidatorUpdate): unknown;
    create<I extends {
        pubKey?: {
            ed25519?: Uint8Array | undefined;
            secp256k1?: Uint8Array | undefined;
        } | undefined;
        power?: number | undefined;
    } & {
        pubKey?: ({
            ed25519?: Uint8Array | undefined;
            secp256k1?: Uint8Array | undefined;
        } & {
            ed25519?: Uint8Array | undefined;
            secp256k1?: Uint8Array | undefined;
        } & { [K in Exclude<keyof I["pubKey"], keyof PublicKey>]: never; }) | undefined;
        power?: number | undefined;
    } & { [K_1 in Exclude<keyof I, keyof ValidatorUpdate>]: never; }>(base?: I | undefined): ValidatorUpdate;
    fromPartial<I_1 extends {
        pubKey?: {
            ed25519?: Uint8Array | undefined;
            secp256k1?: Uint8Array | undefined;
        } | undefined;
        power?: number | undefined;
    } & {
        pubKey?: ({
            ed25519?: Uint8Array | undefined;
            secp256k1?: Uint8Array | undefined;
        } & {
            ed25519?: Uint8Array | undefined;
            secp256k1?: Uint8Array | undefined;
        } & { [K_2 in Exclude<keyof I_1["pubKey"], keyof PublicKey>]: never; }) | undefined;
        power?: number | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof ValidatorUpdate>]: never; }>(object: I_1): ValidatorUpdate;
};
/** VoteInfo */
interface VoteInfo {
    validator: Validator | undefined;
    signedLastBlock: boolean;
}
declare const VoteInfo: {
    encode(message: VoteInfo, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): VoteInfo;
    fromJSON(object: any): VoteInfo;
    toJSON(message: VoteInfo): unknown;
    create<I extends {
        validator?: {
            address?: Uint8Array | undefined;
            power?: number | undefined;
        } | undefined;
        signedLastBlock?: boolean | undefined;
    } & {
        validator?: ({
            address?: Uint8Array | undefined;
            power?: number | undefined;
        } & {
            address?: Uint8Array | undefined;
            power?: number | undefined;
        } & { [K in Exclude<keyof I["validator"], keyof Validator>]: never; }) | undefined;
        signedLastBlock?: boolean | undefined;
    } & { [K_1 in Exclude<keyof I, keyof VoteInfo>]: never; }>(base?: I | undefined): VoteInfo;
    fromPartial<I_1 extends {
        validator?: {
            address?: Uint8Array | undefined;
            power?: number | undefined;
        } | undefined;
        signedLastBlock?: boolean | undefined;
    } & {
        validator?: ({
            address?: Uint8Array | undefined;
            power?: number | undefined;
        } & {
            address?: Uint8Array | undefined;
            power?: number | undefined;
        } & { [K_2 in Exclude<keyof I_1["validator"], keyof Validator>]: never; }) | undefined;
        signedLastBlock?: boolean | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof VoteInfo>]: never; }>(object: I_1): VoteInfo;
};
interface Evidence {
    type: EvidenceType;
    /** The offending validator */
    validator: Validator | undefined;
    /** The height when the offense occurred */
    height: number;
    /** The corresponding time where the offense occurred */
    time: Date | undefined;
    /**
     * Total voting power of the validator set in case the ABCI application does
     * not store historical validators.
     * https://github.com/tendermint/tendermint/issues/4581
     */
    totalVotingPower: number;
}
declare const Evidence: {
    encode(message: Evidence, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Evidence;
    fromJSON(object: any): Evidence;
    toJSON(message: Evidence): unknown;
    create<I extends {
        type?: EvidenceType | undefined;
        validator?: {
            address?: Uint8Array | undefined;
            power?: number | undefined;
        } | undefined;
        height?: number | undefined;
        time?: Date | undefined;
        totalVotingPower?: number | undefined;
    } & {
        type?: EvidenceType | undefined;
        validator?: ({
            address?: Uint8Array | undefined;
            power?: number | undefined;
        } & {
            address?: Uint8Array | undefined;
            power?: number | undefined;
        } & { [K in Exclude<keyof I["validator"], keyof Validator>]: never; }) | undefined;
        height?: number | undefined;
        time?: Date | undefined;
        totalVotingPower?: number | undefined;
    } & { [K_1 in Exclude<keyof I, keyof Evidence>]: never; }>(base?: I | undefined): Evidence;
    fromPartial<I_1 extends {
        type?: EvidenceType | undefined;
        validator?: {
            address?: Uint8Array | undefined;
            power?: number | undefined;
        } | undefined;
        height?: number | undefined;
        time?: Date | undefined;
        totalVotingPower?: number | undefined;
    } & {
        type?: EvidenceType | undefined;
        validator?: ({
            address?: Uint8Array | undefined;
            power?: number | undefined;
        } & {
            address?: Uint8Array | undefined;
            power?: number | undefined;
        } & { [K_2 in Exclude<keyof I_1["validator"], keyof Validator>]: never; }) | undefined;
        height?: number | undefined;
        time?: Date | undefined;
        totalVotingPower?: number | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof Evidence>]: never; }>(object: I_1): Evidence;
};
interface Snapshot {
    /** The height at which the snapshot was taken */
    height: number;
    /** The application-specific snapshot format */
    format: number;
    /** Number of chunks in the snapshot */
    chunks: number;
    /** Arbitrary snapshot hash, equal only if identical */
    hash: Uint8Array;
    /** Arbitrary application metadata */
    metadata: Uint8Array;
}
declare const Snapshot: {
    encode(message: Snapshot, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Snapshot;
    fromJSON(object: any): Snapshot;
    toJSON(message: Snapshot): unknown;
    create<I extends {
        height?: number | undefined;
        format?: number | undefined;
        chunks?: number | undefined;
        hash?: Uint8Array | undefined;
        metadata?: Uint8Array | undefined;
    } & {
        height?: number | undefined;
        format?: number | undefined;
        chunks?: number | undefined;
        hash?: Uint8Array | undefined;
        metadata?: Uint8Array | undefined;
    } & { [K in Exclude<keyof I, keyof Snapshot>]: never; }>(base?: I | undefined): Snapshot;
    fromPartial<I_1 extends {
        height?: number | undefined;
        format?: number | undefined;
        chunks?: number | undefined;
        hash?: Uint8Array | undefined;
        metadata?: Uint8Array | undefined;
    } & {
        height?: number | undefined;
        format?: number | undefined;
        chunks?: number | undefined;
        hash?: Uint8Array | undefined;
        metadata?: Uint8Array | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Snapshot>]: never; }>(object: I_1): Snapshot;
};
interface ABCIApplication {
    Echo(request: DeepPartial$6<RequestEcho>, metadata?: grpc.Metadata): Promise<ResponseEcho>;
    Flush(request: DeepPartial$6<RequestFlush>, metadata?: grpc.Metadata): Promise<ResponseFlush>;
    Info(request: DeepPartial$6<RequestInfo>, metadata?: grpc.Metadata): Promise<ResponseInfo>;
    SetOption(request: DeepPartial$6<RequestSetOption>, metadata?: grpc.Metadata): Promise<ResponseSetOption>;
    DeliverTx(request: DeepPartial$6<RequestDeliverTx>, metadata?: grpc.Metadata): Promise<ResponseDeliverTx>;
    CheckTx(request: DeepPartial$6<RequestCheckTx>, metadata?: grpc.Metadata): Promise<ResponseCheckTx>;
    Query(request: DeepPartial$6<RequestQuery>, metadata?: grpc.Metadata): Promise<ResponseQuery>;
    Commit(request: DeepPartial$6<RequestCommit>, metadata?: grpc.Metadata): Promise<ResponseCommit>;
    InitChain(request: DeepPartial$6<RequestInitChain>, metadata?: grpc.Metadata): Promise<ResponseInitChain>;
    BeginBlock(request: DeepPartial$6<RequestBeginBlock>, metadata?: grpc.Metadata): Promise<ResponseBeginBlock>;
    EndBlock(request: DeepPartial$6<RequestEndBlock>, metadata?: grpc.Metadata): Promise<ResponseEndBlock>;
    ListSnapshots(request: DeepPartial$6<RequestListSnapshots>, metadata?: grpc.Metadata): Promise<ResponseListSnapshots>;
    OfferSnapshot(request: DeepPartial$6<RequestOfferSnapshot>, metadata?: grpc.Metadata): Promise<ResponseOfferSnapshot>;
    LoadSnapshotChunk(request: DeepPartial$6<RequestLoadSnapshotChunk>, metadata?: grpc.Metadata): Promise<ResponseLoadSnapshotChunk>;
    ApplySnapshotChunk(request: DeepPartial$6<RequestApplySnapshotChunk>, metadata?: grpc.Metadata): Promise<ResponseApplySnapshotChunk>;
}
declare class ABCIApplicationClientImpl implements ABCIApplication {
    private readonly rpc;
    constructor(rpc: Rpc);
    Echo(request: DeepPartial$6<RequestEcho>, metadata?: grpc.Metadata): Promise<ResponseEcho>;
    Flush(request: DeepPartial$6<RequestFlush>, metadata?: grpc.Metadata): Promise<ResponseFlush>;
    Info(request: DeepPartial$6<RequestInfo>, metadata?: grpc.Metadata): Promise<ResponseInfo>;
    SetOption(request: DeepPartial$6<RequestSetOption>, metadata?: grpc.Metadata): Promise<ResponseSetOption>;
    DeliverTx(request: DeepPartial$6<RequestDeliverTx>, metadata?: grpc.Metadata): Promise<ResponseDeliverTx>;
    CheckTx(request: DeepPartial$6<RequestCheckTx>, metadata?: grpc.Metadata): Promise<ResponseCheckTx>;
    Query(request: DeepPartial$6<RequestQuery>, metadata?: grpc.Metadata): Promise<ResponseQuery>;
    Commit(request: DeepPartial$6<RequestCommit>, metadata?: grpc.Metadata): Promise<ResponseCommit>;
    InitChain(request: DeepPartial$6<RequestInitChain>, metadata?: grpc.Metadata): Promise<ResponseInitChain>;
    BeginBlock(request: DeepPartial$6<RequestBeginBlock>, metadata?: grpc.Metadata): Promise<ResponseBeginBlock>;
    EndBlock(request: DeepPartial$6<RequestEndBlock>, metadata?: grpc.Metadata): Promise<ResponseEndBlock>;
    ListSnapshots(request: DeepPartial$6<RequestListSnapshots>, metadata?: grpc.Metadata): Promise<ResponseListSnapshots>;
    OfferSnapshot(request: DeepPartial$6<RequestOfferSnapshot>, metadata?: grpc.Metadata): Promise<ResponseOfferSnapshot>;
    LoadSnapshotChunk(request: DeepPartial$6<RequestLoadSnapshotChunk>, metadata?: grpc.Metadata): Promise<ResponseLoadSnapshotChunk>;
    ApplySnapshotChunk(request: DeepPartial$6<RequestApplySnapshotChunk>, metadata?: grpc.Metadata): Promise<ResponseApplySnapshotChunk>;
}
declare const ABCIApplicationDesc: {
    serviceName: string;
};
declare const ABCIApplicationEchoDesc: UnaryMethodDefinitionish$6;
declare const ABCIApplicationFlushDesc: UnaryMethodDefinitionish$6;
declare const ABCIApplicationInfoDesc: UnaryMethodDefinitionish$6;
declare const ABCIApplicationSetOptionDesc: UnaryMethodDefinitionish$6;
declare const ABCIApplicationDeliverTxDesc: UnaryMethodDefinitionish$6;
declare const ABCIApplicationCheckTxDesc: UnaryMethodDefinitionish$6;
declare const ABCIApplicationQueryDesc: UnaryMethodDefinitionish$6;
declare const ABCIApplicationCommitDesc: UnaryMethodDefinitionish$6;
declare const ABCIApplicationInitChainDesc: UnaryMethodDefinitionish$6;
declare const ABCIApplicationBeginBlockDesc: UnaryMethodDefinitionish$6;
declare const ABCIApplicationEndBlockDesc: UnaryMethodDefinitionish$6;
declare const ABCIApplicationListSnapshotsDesc: UnaryMethodDefinitionish$6;
declare const ABCIApplicationOfferSnapshotDesc: UnaryMethodDefinitionish$6;
declare const ABCIApplicationLoadSnapshotChunkDesc: UnaryMethodDefinitionish$6;
declare const ABCIApplicationApplySnapshotChunkDesc: UnaryMethodDefinitionish$6;
interface UnaryMethodDefinitionishR$6 extends grpc.UnaryMethodDefinition<any, any> {
    requestStream: any;
    responseStream: any;
}
type UnaryMethodDefinitionish$6 = UnaryMethodDefinitionishR$6;
interface Rpc {
    unary<T extends UnaryMethodDefinitionish$6>(methodDesc: T, request: any, metadata: grpc.Metadata | undefined): Promise<any>;
}
declare class GrpcWebImpl$6 {
    private host;
    private options;
    constructor(host: string, options: {
        transport?: grpc.TransportFactory;
        debug?: boolean;
        metadata?: grpc.Metadata;
        upStreamRetryCodes?: number[];
    });
    unary<T extends UnaryMethodDefinitionish$6>(methodDesc: T, _request: any, metadata: grpc.Metadata | undefined): Promise<any>;
}
declare const tsProtoGlobalThis: any;
type Builtin$6 = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial$6<T> = T extends Builtin$6 ? T : T extends Array<infer U> ? Array<DeepPartial$6<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial$6<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial$6<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
type Exact<P, I extends P> = P extends Builtin$6 ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & {
    [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
declare class GrpcWebError extends tsProtoGlobalThis.Error {
    code: grpc.Code;
    metadata: grpc.Metadata;
    constructor(message: string, code: grpc.Code, metadata: grpc.Metadata);
}

interface IQueryABCI {
    /** Returns a message (or echo) */
    echo(request: DeepPartial$6<RequestEcho>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<ResponseEcho>>;
    /** Returns flush  */
    flush(request: DeepPartial$6<RequestFlush>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<ResponseFlush>>;
    /** Returns the details of a block by requesting versions */
    info(request: DeepPartial$6<RequestInfo>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<ResponseInfo>>;
    /** Returns set options */
    setOption(request: DeepPartial$6<RequestSetOption>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<ResponseSetOption>>;
    /** Returns initialization of chains */
    initChain(request: DeepPartial$6<RequestInitChain>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<ResponseInitChain>>;
    /** Returns Returns */
    query(request: DeepPartial$6<RequestQuery>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<ResponseQuery>>;
    /** Returns events that begin blocks */
    beginBlock(request: DeepPartial$6<RequestBeginBlock>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<ResponseBeginBlock>>;
    /** Returns stuffs that check transactions */
    checkTx(request: DeepPartial$6<RequestCheckTx>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<ResponseCheckTx>>;
    /** Returns stuffs that deliver transactions */
    deliverTx(request: DeepPartial$6<RequestDeliverTx>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<ResponseDeliverTx>>;
    /** Returns events that end blocks */
    endBlock(request: DeepPartial$6<RequestEndBlock>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<ResponseEndBlock>>;
    /** Returns commit data */
    commit(request: DeepPartial$6<RequestCommit>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<ResponseCommit>>;
    /** Returns a list of snapshots */
    listSnapshots(request: DeepPartial$6<RequestListSnapshots>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<ResponseListSnapshots>>;
    /** Returns results that offer snapshot */
    offerSnapshot(request: DeepPartial$6<RequestOfferSnapshot>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<ResponseOfferSnapshot>>;
    /** Returns chunks */
    loadSnapshotChunk(request: DeepPartial$6<RequestLoadSnapshotChunk>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<ResponseLoadSnapshotChunk>>;
    /** Returns results that apply snapshot chunks */
    applySnapshotChunk(request: DeepPartial$6<RequestApplySnapshotChunk>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<ResponseApplySnapshotChunk>>;
}

/** QueryBalanceRequest is the request type for the Query/Balance RPC method. */
interface QueryBalanceRequest {
    /** address is the address to query balances for. */
    address: string;
    /** denom is the coin denom to query balances for. */
    denom: string;
}
declare const QueryBalanceRequest: {
    encode(message: QueryBalanceRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryBalanceRequest;
    fromJSON(object: any): QueryBalanceRequest;
    toJSON(message: QueryBalanceRequest): unknown;
    create<I extends {
        address?: string | undefined;
        denom?: string | undefined;
    } & {
        address?: string | undefined;
        denom?: string | undefined;
    } & { [K in Exclude<keyof I, keyof QueryBalanceRequest>]: never; }>(base?: I | undefined): QueryBalanceRequest;
    fromPartial<I_1 extends {
        address?: string | undefined;
        denom?: string | undefined;
    } & {
        address?: string | undefined;
        denom?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof QueryBalanceRequest>]: never; }>(object: I_1): QueryBalanceRequest;
};
/** QueryBalanceResponse is the response type for the Query/Balance RPC method. */
interface QueryBalanceResponse {
    /** balance is the balance of the coin. */
    balance: Coin | undefined;
}
declare const QueryBalanceResponse: {
    encode(message: QueryBalanceResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryBalanceResponse;
    fromJSON(object: any): QueryBalanceResponse;
    toJSON(message: QueryBalanceResponse): unknown;
    create<I extends {
        balance?: {
            denom?: string | undefined;
            amount?: string | undefined;
        } | undefined;
    } & {
        balance?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["balance"], keyof Coin>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "balance">]: never; }>(base?: I | undefined): QueryBalanceResponse;
    fromPartial<I_1 extends {
        balance?: {
            denom?: string | undefined;
            amount?: string | undefined;
        } | undefined;
    } & {
        balance?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["balance"], keyof Coin>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "balance">]: never; }>(object: I_1): QueryBalanceResponse;
};
/** QueryBalanceRequest is the request type for the Query/AllBalances RPC method. */
interface QueryAllBalancesRequest {
    /** address is the address to query balances for. */
    address: string;
    /** pagination defines an optional pagination for the request. */
    pagination: PageRequest | undefined;
}
declare const QueryAllBalancesRequest: {
    encode(message: QueryAllBalancesRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllBalancesRequest;
    fromJSON(object: any): QueryAllBalancesRequest;
    toJSON(message: QueryAllBalancesRequest): unknown;
    create<I extends {
        address?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        address?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof QueryAllBalancesRequest>]: never; }>(base?: I | undefined): QueryAllBalancesRequest;
    fromPartial<I_1 extends {
        address?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        address?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof QueryAllBalancesRequest>]: never; }>(object: I_1): QueryAllBalancesRequest;
};
/**
 * QueryAllBalancesResponse is the response type for the Query/AllBalances RPC
 * method.
 */
interface QueryAllBalancesResponse {
    /** balances is the balances of all the coins. */
    balances: Coin[];
    /** pagination defines the pagination in the response. */
    pagination: PageResponse | undefined;
}
declare const QueryAllBalancesResponse: {
    encode(message: QueryAllBalancesResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllBalancesResponse;
    fromJSON(object: any): QueryAllBalancesResponse;
    toJSON(message: QueryAllBalancesResponse): unknown;
    create<I extends {
        balances?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        balances?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["balances"][number], keyof Coin>]: never; })[] & { [K_1 in Exclude<keyof I["balances"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryAllBalancesResponse>]: never; }>(base?: I | undefined): QueryAllBalancesResponse;
    fromPartial<I_1 extends {
        balances?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        balances?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["balances"][number], keyof Coin>]: never; })[] & { [K_5 in Exclude<keyof I_1["balances"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryAllBalancesResponse>]: never; }>(object: I_1): QueryAllBalancesResponse;
};
/**
 * QuerySpendableBalancesRequest defines the gRPC request structure for querying
 * an account's spendable balances.
 */
interface QuerySpendableBalancesRequest {
    /** address is the address to query spendable balances for. */
    address: string;
    /** pagination defines an optional pagination for the request. */
    pagination: PageRequest | undefined;
}
declare const QuerySpendableBalancesRequest: {
    encode(message: QuerySpendableBalancesRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QuerySpendableBalancesRequest;
    fromJSON(object: any): QuerySpendableBalancesRequest;
    toJSON(message: QuerySpendableBalancesRequest): unknown;
    create<I extends {
        address?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        address?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof QuerySpendableBalancesRequest>]: never; }>(base?: I | undefined): QuerySpendableBalancesRequest;
    fromPartial<I_1 extends {
        address?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        address?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof QuerySpendableBalancesRequest>]: never; }>(object: I_1): QuerySpendableBalancesRequest;
};
/**
 * QuerySpendableBalancesResponse defines the gRPC response structure for querying
 * an account's spendable balances.
 */
interface QuerySpendableBalancesResponse {
    /** balances is the spendable balances of all the coins. */
    balances: Coin[];
    /** pagination defines the pagination in the response. */
    pagination: PageResponse | undefined;
}
declare const QuerySpendableBalancesResponse: {
    encode(message: QuerySpendableBalancesResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QuerySpendableBalancesResponse;
    fromJSON(object: any): QuerySpendableBalancesResponse;
    toJSON(message: QuerySpendableBalancesResponse): unknown;
    create<I extends {
        balances?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        balances?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["balances"][number], keyof Coin>]: never; })[] & { [K_1 in Exclude<keyof I["balances"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QuerySpendableBalancesResponse>]: never; }>(base?: I | undefined): QuerySpendableBalancesResponse;
    fromPartial<I_1 extends {
        balances?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        balances?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["balances"][number], keyof Coin>]: never; })[] & { [K_5 in Exclude<keyof I_1["balances"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QuerySpendableBalancesResponse>]: never; }>(object: I_1): QuerySpendableBalancesResponse;
};
/**
 * QueryTotalSupplyRequest is the request type for the Query/TotalSupply RPC
 * method.
 */
interface QueryTotalSupplyRequest {
    /**
     * pagination defines an optional pagination for the request.
     *
     * Since: cosmos-sdk 0.43
     */
    pagination: PageRequest | undefined;
}
declare const QueryTotalSupplyRequest: {
    encode(message: QueryTotalSupplyRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryTotalSupplyRequest;
    fromJSON(object: any): QueryTotalSupplyRequest;
    toJSON(message: QueryTotalSupplyRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryTotalSupplyRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryTotalSupplyRequest;
};
/**
 * QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC
 * method
 */
interface QueryTotalSupplyResponse {
    /** supply is the supply of the coins */
    supply: Coin[];
    /**
     * pagination defines the pagination in the response.
     *
     * Since: cosmos-sdk 0.43
     */
    pagination: PageResponse | undefined;
}
declare const QueryTotalSupplyResponse: {
    encode(message: QueryTotalSupplyResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryTotalSupplyResponse;
    fromJSON(object: any): QueryTotalSupplyResponse;
    toJSON(message: QueryTotalSupplyResponse): unknown;
    create<I extends {
        supply?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        supply?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["supply"][number], keyof Coin>]: never; })[] & { [K_1 in Exclude<keyof I["supply"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryTotalSupplyResponse>]: never; }>(base?: I | undefined): QueryTotalSupplyResponse;
    fromPartial<I_1 extends {
        supply?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        supply?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["supply"][number], keyof Coin>]: never; })[] & { [K_5 in Exclude<keyof I_1["supply"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryTotalSupplyResponse>]: never; }>(object: I_1): QueryTotalSupplyResponse;
};
/** QuerySupplyOfRequest is the request type for the Query/SupplyOf RPC method. */
interface QuerySupplyOfRequest {
    /** denom is the coin denom to query balances for. */
    denom: string;
}
declare const QuerySupplyOfRequest: {
    encode(message: QuerySupplyOfRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QuerySupplyOfRequest;
    fromJSON(object: any): QuerySupplyOfRequest;
    toJSON(message: QuerySupplyOfRequest): unknown;
    create<I extends {
        denom?: string | undefined;
    } & {
        denom?: string | undefined;
    } & { [K in Exclude<keyof I, "denom">]: never; }>(base?: I | undefined): QuerySupplyOfRequest;
    fromPartial<I_1 extends {
        denom?: string | undefined;
    } & {
        denom?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "denom">]: never; }>(object: I_1): QuerySupplyOfRequest;
};
/** QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC method. */
interface QuerySupplyOfResponse {
    /** amount is the supply of the coin. */
    amount: Coin | undefined;
}
declare const QuerySupplyOfResponse: {
    encode(message: QuerySupplyOfResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QuerySupplyOfResponse;
    fromJSON(object: any): QuerySupplyOfResponse;
    toJSON(message: QuerySupplyOfResponse): unknown;
    create<I extends {
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        } | undefined;
    } & {
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["amount"], keyof Coin>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "amount">]: never; }>(base?: I | undefined): QuerySupplyOfResponse;
    fromPartial<I_1 extends {
        amount?: {
            denom?: string | undefined;
            amount?: string | undefined;
        } | undefined;
    } & {
        amount?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["amount"], keyof Coin>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "amount">]: never; }>(object: I_1): QuerySupplyOfResponse;
};
/** QueryParamsRequest defines the request type for querying x/bank parameters. */
interface QueryParamsRequest$5 {
}
declare const QueryParamsRequest$5: {
    encode(_: QueryParamsRequest$5, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest$5;
    fromJSON(_: any): QueryParamsRequest$5;
    toJSON(_: QueryParamsRequest$5): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): QueryParamsRequest$5;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): QueryParamsRequest$5;
};
/** QueryParamsResponse defines the response type for querying x/bank parameters. */
interface QueryParamsResponse$5 {
    params: Params$9 | undefined;
}
declare const QueryParamsResponse$5: {
    encode(message: QueryParamsResponse$5, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse$5;
    fromJSON(object: any): QueryParamsResponse$5;
    toJSON(message: QueryParamsResponse$5): unknown;
    create<I extends {
        params?: {
            sendEnabled?: {
                denom?: string | undefined;
                enabled?: boolean | undefined;
            }[] | undefined;
            defaultSendEnabled?: boolean | undefined;
        } | undefined;
    } & {
        params?: ({
            sendEnabled?: {
                denom?: string | undefined;
                enabled?: boolean | undefined;
            }[] | undefined;
            defaultSendEnabled?: boolean | undefined;
        } & {
            sendEnabled?: ({
                denom?: string | undefined;
                enabled?: boolean | undefined;
            }[] & ({
                denom?: string | undefined;
                enabled?: boolean | undefined;
            } & {
                denom?: string | undefined;
                enabled?: boolean | undefined;
            } & { [K in Exclude<keyof I["params"]["sendEnabled"][number], keyof SendEnabled>]: never; })[] & { [K_1 in Exclude<keyof I["params"]["sendEnabled"], keyof {
                denom?: string | undefined;
                enabled?: boolean | undefined;
            }[]>]: never; }) | undefined;
            defaultSendEnabled?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I["params"], keyof Params$9>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, "params">]: never; }>(base?: I | undefined): QueryParamsResponse$5;
    fromPartial<I_1 extends {
        params?: {
            sendEnabled?: {
                denom?: string | undefined;
                enabled?: boolean | undefined;
            }[] | undefined;
            defaultSendEnabled?: boolean | undefined;
        } | undefined;
    } & {
        params?: ({
            sendEnabled?: {
                denom?: string | undefined;
                enabled?: boolean | undefined;
            }[] | undefined;
            defaultSendEnabled?: boolean | undefined;
        } & {
            sendEnabled?: ({
                denom?: string | undefined;
                enabled?: boolean | undefined;
            }[] & ({
                denom?: string | undefined;
                enabled?: boolean | undefined;
            } & {
                denom?: string | undefined;
                enabled?: boolean | undefined;
            } & { [K_4 in Exclude<keyof I_1["params"]["sendEnabled"][number], keyof SendEnabled>]: never; })[] & { [K_5 in Exclude<keyof I_1["params"]["sendEnabled"], keyof {
                denom?: string | undefined;
                enabled?: boolean | undefined;
            }[]>]: never; }) | undefined;
            defaultSendEnabled?: boolean | undefined;
        } & { [K_6 in Exclude<keyof I_1["params"], keyof Params$9>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, "params">]: never; }>(object: I_1): QueryParamsResponse$5;
};
/** QueryDenomsMetadataRequest is the request type for the Query/DenomsMetadata RPC method. */
interface QueryDenomsMetadataRequest {
    /** pagination defines an optional pagination for the request. */
    pagination: PageRequest | undefined;
}
declare const QueryDenomsMetadataRequest: {
    encode(message: QueryDenomsMetadataRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDenomsMetadataRequest;
    fromJSON(object: any): QueryDenomsMetadataRequest;
    toJSON(message: QueryDenomsMetadataRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryDenomsMetadataRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryDenomsMetadataRequest;
};
/**
 * QueryDenomsMetadataResponse is the response type for the Query/DenomsMetadata RPC
 * method.
 */
interface QueryDenomsMetadataResponse {
    /** metadata provides the client information for all the registered tokens. */
    metadatas: Metadata[];
    /** pagination defines the pagination in the response. */
    pagination: PageResponse | undefined;
}
declare const QueryDenomsMetadataResponse: {
    encode(message: QueryDenomsMetadataResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDenomsMetadataResponse;
    fromJSON(object: any): QueryDenomsMetadataResponse;
    toJSON(message: QueryDenomsMetadataResponse): unknown;
    create<I extends {
        metadatas?: {
            description?: string | undefined;
            denomUnits?: {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        metadatas?: ({
            description?: string | undefined;
            denomUnits?: {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        }[] & ({
            description?: string | undefined;
            denomUnits?: {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        } & {
            description?: string | undefined;
            denomUnits?: ({
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] & ({
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            } & {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: (string[] & string[] & { [K in Exclude<keyof I["metadatas"][number]["denomUnits"][number]["aliases"], keyof string[]>]: never; }) | undefined;
            } & { [K_1 in Exclude<keyof I["metadatas"][number]["denomUnits"][number], keyof DenomUnit>]: never; })[] & { [K_2 in Exclude<keyof I["metadatas"][number]["denomUnits"], keyof {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[]>]: never; }) | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        } & { [K_3 in Exclude<keyof I["metadatas"][number], keyof Metadata>]: never; })[] & { [K_4 in Exclude<keyof I["metadatas"], keyof {
            description?: string | undefined;
            denomUnits?: {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_5 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, keyof QueryDenomsMetadataResponse>]: never; }>(base?: I | undefined): QueryDenomsMetadataResponse;
    fromPartial<I_1 extends {
        metadatas?: {
            description?: string | undefined;
            denomUnits?: {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        metadatas?: ({
            description?: string | undefined;
            denomUnits?: {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        }[] & ({
            description?: string | undefined;
            denomUnits?: {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        } & {
            description?: string | undefined;
            denomUnits?: ({
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] & ({
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            } & {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: (string[] & string[] & { [K_7 in Exclude<keyof I_1["metadatas"][number]["denomUnits"][number]["aliases"], keyof string[]>]: never; }) | undefined;
            } & { [K_8 in Exclude<keyof I_1["metadatas"][number]["denomUnits"][number], keyof DenomUnit>]: never; })[] & { [K_9 in Exclude<keyof I_1["metadatas"][number]["denomUnits"], keyof {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[]>]: never; }) | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        } & { [K_10 in Exclude<keyof I_1["metadatas"][number], keyof Metadata>]: never; })[] & { [K_11 in Exclude<keyof I_1["metadatas"], keyof {
            description?: string | undefined;
            denomUnits?: {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_12 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_13 in Exclude<keyof I_1, keyof QueryDenomsMetadataResponse>]: never; }>(object: I_1): QueryDenomsMetadataResponse;
};
/** QueryDenomMetadataRequest is the request type for the Query/DenomMetadata RPC method. */
interface QueryDenomMetadataRequest {
    /** denom is the coin denom to query the metadata for. */
    denom: string;
}
declare const QueryDenomMetadataRequest: {
    encode(message: QueryDenomMetadataRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDenomMetadataRequest;
    fromJSON(object: any): QueryDenomMetadataRequest;
    toJSON(message: QueryDenomMetadataRequest): unknown;
    create<I extends {
        denom?: string | undefined;
    } & {
        denom?: string | undefined;
    } & { [K in Exclude<keyof I, "denom">]: never; }>(base?: I | undefined): QueryDenomMetadataRequest;
    fromPartial<I_1 extends {
        denom?: string | undefined;
    } & {
        denom?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "denom">]: never; }>(object: I_1): QueryDenomMetadataRequest;
};
/**
 * QueryDenomMetadataResponse is the response type for the Query/DenomMetadata RPC
 * method.
 */
interface QueryDenomMetadataResponse {
    /** metadata describes and provides all the client information for the requested token. */
    metadata: Metadata | undefined;
}
declare const QueryDenomMetadataResponse: {
    encode(message: QueryDenomMetadataResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDenomMetadataResponse;
    fromJSON(object: any): QueryDenomMetadataResponse;
    toJSON(message: QueryDenomMetadataResponse): unknown;
    create<I extends {
        metadata?: {
            description?: string | undefined;
            denomUnits?: {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        } | undefined;
    } & {
        metadata?: ({
            description?: string | undefined;
            denomUnits?: {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        } & {
            description?: string | undefined;
            denomUnits?: ({
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] & ({
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            } & {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: (string[] & string[] & { [K in Exclude<keyof I["metadata"]["denomUnits"][number]["aliases"], keyof string[]>]: never; }) | undefined;
            } & { [K_1 in Exclude<keyof I["metadata"]["denomUnits"][number], keyof DenomUnit>]: never; })[] & { [K_2 in Exclude<keyof I["metadata"]["denomUnits"], keyof {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[]>]: never; }) | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        } & { [K_3 in Exclude<keyof I["metadata"], keyof Metadata>]: never; }) | undefined;
    } & { [K_4 in Exclude<keyof I, "metadata">]: never; }>(base?: I | undefined): QueryDenomMetadataResponse;
    fromPartial<I_1 extends {
        metadata?: {
            description?: string | undefined;
            denomUnits?: {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        } | undefined;
    } & {
        metadata?: ({
            description?: string | undefined;
            denomUnits?: {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        } & {
            description?: string | undefined;
            denomUnits?: ({
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[] & ({
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            } & {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: (string[] & string[] & { [K_5 in Exclude<keyof I_1["metadata"]["denomUnits"][number]["aliases"], keyof string[]>]: never; }) | undefined;
            } & { [K_6 in Exclude<keyof I_1["metadata"]["denomUnits"][number], keyof DenomUnit>]: never; })[] & { [K_7 in Exclude<keyof I_1["metadata"]["denomUnits"], keyof {
                denom?: string | undefined;
                exponent?: number | undefined;
                aliases?: string[] | undefined;
            }[]>]: never; }) | undefined;
            base?: string | undefined;
            display?: string | undefined;
            name?: string | undefined;
            symbol?: string | undefined;
        } & { [K_8 in Exclude<keyof I_1["metadata"], keyof Metadata>]: never; }) | undefined;
    } & { [K_9 in Exclude<keyof I_1, "metadata">]: never; }>(object: I_1): QueryDenomMetadataResponse;
};
interface UnaryMethodDefinitionishR$5 extends grpc.UnaryMethodDefinition<any, any> {
    requestStream: any;
    responseStream: any;
}
type UnaryMethodDefinitionish$5 = UnaryMethodDefinitionishR$5;
declare class GrpcWebImpl$5 {
    private host;
    private options;
    constructor(host: string, options: {
        transport?: grpc.TransportFactory;
        debug?: boolean;
        metadata?: grpc.Metadata;
        upStreamRetryCodes?: number[];
    });
    unary<T extends UnaryMethodDefinitionish$5>(methodDesc: T, _request: any, metadata: grpc.Metadata | undefined): Promise<any>;
}
type Builtin$5 = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial$5<T> = T extends Builtin$5 ? T : T extends Array<infer U> ? Array<DeepPartial$5<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial$5<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial$5<T[K]>;
} : Partial<T>;

interface IQueryBank {
    /** Balance queries the balance of a single coin for a single account. */
    queryBalance(request: DeepPartial$5<QueryBalanceRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryBalanceResponse>>;
    /** AllBalances queries the balance of all coins for a single account. */
    queryAllBalances(request: DeepPartial$5<QueryAllBalancesRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllBalancesResponse>>;
    /**
     * SpendableBalances queries the spenable balance of all coins for a single
     * account.
     */
    querySpendableBalances(request: DeepPartial$5<QuerySpendableBalancesRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QuerySpendableBalancesResponse>>;
    /** TotalSupply queries the total supply of all coins. */
    queryTotalSupply(request: DeepPartial$5<QueryTotalSupplyRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryTotalSupplyResponse>>;
    /** SupplyOf queries the supply of a single coin. */
    querySupplyOf(request: DeepPartial$5<QuerySupplyOfRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QuerySupplyOfResponse>>;
    /** Params queries the parameters of x/bank module. */
    queryParams(request: DeepPartial$5<QueryParamsRequest$5>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryParamsResponse$5>>;
    /** DenomsMetadata queries the client metadata of a given coin denomination. */
    queryDenomMetadata(request: DeepPartial$5<QueryDenomMetadataRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryDenomMetadataResponse>>;
    /** DenomsMetadata queries the client metadata for all registered coin denominations. */
    queryDenomsMetadata(request: DeepPartial$5<QueryDenomsMetadataRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryDenomsMetadataResponse>>;
}

/** Params defines the set of params for the distribution module. */
interface Params$2 {
    communityTax: string;
    baseProposerReward: string;
    bonusProposerReward: string;
    withdrawAddrEnabled: boolean;
}
declare const Params$2: {
    encode(message: Params$2, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Params$2;
    fromJSON(object: any): Params$2;
    toJSON(message: Params$2): unknown;
    create<I extends {
        communityTax?: string | undefined;
        baseProposerReward?: string | undefined;
        bonusProposerReward?: string | undefined;
        withdrawAddrEnabled?: boolean | undefined;
    } & {
        communityTax?: string | undefined;
        baseProposerReward?: string | undefined;
        bonusProposerReward?: string | undefined;
        withdrawAddrEnabled?: boolean | undefined;
    } & { [K in Exclude<keyof I, keyof Params$2>]: never; }>(base?: I | undefined): Params$2;
    fromPartial<I_1 extends {
        communityTax?: string | undefined;
        baseProposerReward?: string | undefined;
        bonusProposerReward?: string | undefined;
        withdrawAddrEnabled?: boolean | undefined;
    } & {
        communityTax?: string | undefined;
        baseProposerReward?: string | undefined;
        bonusProposerReward?: string | undefined;
        withdrawAddrEnabled?: boolean | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Params$2>]: never; }>(object: I_1): Params$2;
};
/**
 * ValidatorAccumulatedCommission represents accumulated commission
 * for a validator kept as a running counter, can be withdrawn at any time.
 */
interface ValidatorAccumulatedCommission {
    commission: DecCoin[];
}
declare const ValidatorAccumulatedCommission: {
    encode(message: ValidatorAccumulatedCommission, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ValidatorAccumulatedCommission;
    fromJSON(object: any): ValidatorAccumulatedCommission;
    toJSON(message: ValidatorAccumulatedCommission): unknown;
    create<I extends {
        commission?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        commission?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["commission"][number], keyof DecCoin>]: never; })[] & { [K_1 in Exclude<keyof I["commission"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, "commission">]: never; }>(base?: I | undefined): ValidatorAccumulatedCommission;
    fromPartial<I_1 extends {
        commission?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        commission?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["commission"][number], keyof DecCoin>]: never; })[] & { [K_4 in Exclude<keyof I_1["commission"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, "commission">]: never; }>(object: I_1): ValidatorAccumulatedCommission;
};
/**
 * ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards
 * for a validator inexpensive to track, allows simple sanity checks.
 */
interface ValidatorOutstandingRewards {
    rewards: DecCoin[];
}
declare const ValidatorOutstandingRewards: {
    encode(message: ValidatorOutstandingRewards, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ValidatorOutstandingRewards;
    fromJSON(object: any): ValidatorOutstandingRewards;
    toJSON(message: ValidatorOutstandingRewards): unknown;
    create<I extends {
        rewards?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        rewards?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["rewards"][number], keyof DecCoin>]: never; })[] & { [K_1 in Exclude<keyof I["rewards"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, "rewards">]: never; }>(base?: I | undefined): ValidatorOutstandingRewards;
    fromPartial<I_1 extends {
        rewards?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        rewards?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["rewards"][number], keyof DecCoin>]: never; })[] & { [K_4 in Exclude<keyof I_1["rewards"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, "rewards">]: never; }>(object: I_1): ValidatorOutstandingRewards;
};
/**
 * ValidatorSlashEvent represents a validator slash event.
 * Height is implicit within the store key.
 * This is needed to calculate appropriate amount of staking tokens
 * for delegations which are withdrawn after a slash has occurred.
 */
interface ValidatorSlashEvent {
    validatorPeriod: number;
    fraction: string;
}
declare const ValidatorSlashEvent: {
    encode(message: ValidatorSlashEvent, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ValidatorSlashEvent;
    fromJSON(object: any): ValidatorSlashEvent;
    toJSON(message: ValidatorSlashEvent): unknown;
    create<I extends {
        validatorPeriod?: number | undefined;
        fraction?: string | undefined;
    } & {
        validatorPeriod?: number | undefined;
        fraction?: string | undefined;
    } & { [K in Exclude<keyof I, keyof ValidatorSlashEvent>]: never; }>(base?: I | undefined): ValidatorSlashEvent;
    fromPartial<I_1 extends {
        validatorPeriod?: number | undefined;
        fraction?: string | undefined;
    } & {
        validatorPeriod?: number | undefined;
        fraction?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof ValidatorSlashEvent>]: never; }>(object: I_1): ValidatorSlashEvent;
};
/**
 * DelegationDelegatorReward represents the properties
 * of a delegator's delegation reward.
 */
interface DelegationDelegatorReward {
    validatorAddress: string;
    reward: DecCoin[];
}
declare const DelegationDelegatorReward: {
    encode(message: DelegationDelegatorReward, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DelegationDelegatorReward;
    fromJSON(object: any): DelegationDelegatorReward;
    toJSON(message: DelegationDelegatorReward): unknown;
    create<I extends {
        validatorAddress?: string | undefined;
        reward?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        validatorAddress?: string | undefined;
        reward?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["reward"][number], keyof DecCoin>]: never; })[] & { [K_1 in Exclude<keyof I["reward"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof DelegationDelegatorReward>]: never; }>(base?: I | undefined): DelegationDelegatorReward;
    fromPartial<I_1 extends {
        validatorAddress?: string | undefined;
        reward?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        validatorAddress?: string | undefined;
        reward?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["reward"][number], keyof DecCoin>]: never; })[] & { [K_4 in Exclude<keyof I_1["reward"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, keyof DelegationDelegatorReward>]: never; }>(object: I_1): DelegationDelegatorReward;
};

/** QueryParamsRequest is the request type for the Query/Params RPC method. */
interface QueryParamsRequest$4 {
}
declare const QueryParamsRequest$4: {
    encode(_: QueryParamsRequest$4, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest$4;
    fromJSON(_: any): QueryParamsRequest$4;
    toJSON(_: QueryParamsRequest$4): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): QueryParamsRequest$4;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): QueryParamsRequest$4;
};
/** QueryParamsResponse is the response type for the Query/Params RPC method. */
interface QueryParamsResponse$4 {
    /** params defines the parameters of the module. */
    params: Params$2 | undefined;
}
declare const QueryParamsResponse$4: {
    encode(message: QueryParamsResponse$4, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse$4;
    fromJSON(object: any): QueryParamsResponse$4;
    toJSON(message: QueryParamsResponse$4): unknown;
    create<I extends {
        params?: {
            communityTax?: string | undefined;
            baseProposerReward?: string | undefined;
            bonusProposerReward?: string | undefined;
            withdrawAddrEnabled?: boolean | undefined;
        } | undefined;
    } & {
        params?: ({
            communityTax?: string | undefined;
            baseProposerReward?: string | undefined;
            bonusProposerReward?: string | undefined;
            withdrawAddrEnabled?: boolean | undefined;
        } & {
            communityTax?: string | undefined;
            baseProposerReward?: string | undefined;
            bonusProposerReward?: string | undefined;
            withdrawAddrEnabled?: boolean | undefined;
        } & { [K in Exclude<keyof I["params"], keyof Params$2>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "params">]: never; }>(base?: I | undefined): QueryParamsResponse$4;
    fromPartial<I_1 extends {
        params?: {
            communityTax?: string | undefined;
            baseProposerReward?: string | undefined;
            bonusProposerReward?: string | undefined;
            withdrawAddrEnabled?: boolean | undefined;
        } | undefined;
    } & {
        params?: ({
            communityTax?: string | undefined;
            baseProposerReward?: string | undefined;
            bonusProposerReward?: string | undefined;
            withdrawAddrEnabled?: boolean | undefined;
        } & {
            communityTax?: string | undefined;
            baseProposerReward?: string | undefined;
            bonusProposerReward?: string | undefined;
            withdrawAddrEnabled?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["params"], keyof Params$2>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "params">]: never; }>(object: I_1): QueryParamsResponse$4;
};
/**
 * QueryValidatorOutstandingRewardsRequest is the request type for the
 * Query/ValidatorOutstandingRewards RPC method.
 */
interface QueryValidatorOutstandingRewardsRequest {
    /** validator_address defines the validator address to query for. */
    validatorAddress: string;
}
declare const QueryValidatorOutstandingRewardsRequest: {
    encode(message: QueryValidatorOutstandingRewardsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryValidatorOutstandingRewardsRequest;
    fromJSON(object: any): QueryValidatorOutstandingRewardsRequest;
    toJSON(message: QueryValidatorOutstandingRewardsRequest): unknown;
    create<I extends {
        validatorAddress?: string | undefined;
    } & {
        validatorAddress?: string | undefined;
    } & { [K in Exclude<keyof I, "validatorAddress">]: never; }>(base?: I | undefined): QueryValidatorOutstandingRewardsRequest;
    fromPartial<I_1 extends {
        validatorAddress?: string | undefined;
    } & {
        validatorAddress?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "validatorAddress">]: never; }>(object: I_1): QueryValidatorOutstandingRewardsRequest;
};
/**
 * QueryValidatorOutstandingRewardsResponse is the response type for the
 * Query/ValidatorOutstandingRewards RPC method.
 */
interface QueryValidatorOutstandingRewardsResponse {
    rewards: ValidatorOutstandingRewards | undefined;
}
declare const QueryValidatorOutstandingRewardsResponse: {
    encode(message: QueryValidatorOutstandingRewardsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryValidatorOutstandingRewardsResponse;
    fromJSON(object: any): QueryValidatorOutstandingRewardsResponse;
    toJSON(message: QueryValidatorOutstandingRewardsResponse): unknown;
    create<I extends {
        rewards?: {
            rewards?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } | undefined;
    } & {
        rewards?: ({
            rewards?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } & {
            rewards?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K in Exclude<keyof I["rewards"]["rewards"][number], keyof DecCoin>]: never; })[] & { [K_1 in Exclude<keyof I["rewards"]["rewards"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["rewards"], "rewards">]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, "rewards">]: never; }>(base?: I | undefined): QueryValidatorOutstandingRewardsResponse;
    fromPartial<I_1 extends {
        rewards?: {
            rewards?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } | undefined;
    } & {
        rewards?: ({
            rewards?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } & {
            rewards?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_4 in Exclude<keyof I_1["rewards"]["rewards"][number], keyof DecCoin>]: never; })[] & { [K_5 in Exclude<keyof I_1["rewards"]["rewards"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_6 in Exclude<keyof I_1["rewards"], "rewards">]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, "rewards">]: never; }>(object: I_1): QueryValidatorOutstandingRewardsResponse;
};
/**
 * QueryValidatorCommissionRequest is the request type for the
 * Query/ValidatorCommission RPC method
 */
interface QueryValidatorCommissionRequest {
    /** validator_address defines the validator address to query for. */
    validatorAddress: string;
}
declare const QueryValidatorCommissionRequest: {
    encode(message: QueryValidatorCommissionRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryValidatorCommissionRequest;
    fromJSON(object: any): QueryValidatorCommissionRequest;
    toJSON(message: QueryValidatorCommissionRequest): unknown;
    create<I extends {
        validatorAddress?: string | undefined;
    } & {
        validatorAddress?: string | undefined;
    } & { [K in Exclude<keyof I, "validatorAddress">]: never; }>(base?: I | undefined): QueryValidatorCommissionRequest;
    fromPartial<I_1 extends {
        validatorAddress?: string | undefined;
    } & {
        validatorAddress?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "validatorAddress">]: never; }>(object: I_1): QueryValidatorCommissionRequest;
};
/**
 * QueryValidatorCommissionResponse is the response type for the
 * Query/ValidatorCommission RPC method
 */
interface QueryValidatorCommissionResponse {
    /** commission defines the commision the validator received. */
    commission: ValidatorAccumulatedCommission | undefined;
}
declare const QueryValidatorCommissionResponse: {
    encode(message: QueryValidatorCommissionResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryValidatorCommissionResponse;
    fromJSON(object: any): QueryValidatorCommissionResponse;
    toJSON(message: QueryValidatorCommissionResponse): unknown;
    create<I extends {
        commission?: {
            commission?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } | undefined;
    } & {
        commission?: ({
            commission?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } & {
            commission?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K in Exclude<keyof I["commission"]["commission"][number], keyof DecCoin>]: never; })[] & { [K_1 in Exclude<keyof I["commission"]["commission"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["commission"], "commission">]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, "commission">]: never; }>(base?: I | undefined): QueryValidatorCommissionResponse;
    fromPartial<I_1 extends {
        commission?: {
            commission?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } | undefined;
    } & {
        commission?: ({
            commission?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } & {
            commission?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_4 in Exclude<keyof I_1["commission"]["commission"][number], keyof DecCoin>]: never; })[] & { [K_5 in Exclude<keyof I_1["commission"]["commission"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_6 in Exclude<keyof I_1["commission"], "commission">]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, "commission">]: never; }>(object: I_1): QueryValidatorCommissionResponse;
};
/**
 * QueryValidatorSlashesRequest is the request type for the
 * Query/ValidatorSlashes RPC method
 */
interface QueryValidatorSlashesRequest {
    /** validator_address defines the validator address to query for. */
    validatorAddress: string;
    /** starting_height defines the optional starting height to query the slashes. */
    startingHeight: number;
    /** starting_height defines the optional ending height to query the slashes. */
    endingHeight: number;
    /** pagination defines an optional pagination for the request. */
    pagination: PageRequest | undefined;
}
declare const QueryValidatorSlashesRequest: {
    encode(message: QueryValidatorSlashesRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryValidatorSlashesRequest;
    fromJSON(object: any): QueryValidatorSlashesRequest;
    toJSON(message: QueryValidatorSlashesRequest): unknown;
    create<I extends {
        validatorAddress?: string | undefined;
        startingHeight?: number | undefined;
        endingHeight?: number | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        validatorAddress?: string | undefined;
        startingHeight?: number | undefined;
        endingHeight?: number | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof QueryValidatorSlashesRequest>]: never; }>(base?: I | undefined): QueryValidatorSlashesRequest;
    fromPartial<I_1 extends {
        validatorAddress?: string | undefined;
        startingHeight?: number | undefined;
        endingHeight?: number | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        validatorAddress?: string | undefined;
        startingHeight?: number | undefined;
        endingHeight?: number | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof QueryValidatorSlashesRequest>]: never; }>(object: I_1): QueryValidatorSlashesRequest;
};
/**
 * QueryValidatorSlashesResponse is the response type for the
 * Query/ValidatorSlashes RPC method.
 */
interface QueryValidatorSlashesResponse {
    /** slashes defines the slashes the validator received. */
    slashes: ValidatorSlashEvent[];
    /** pagination defines the pagination in the response. */
    pagination: PageResponse | undefined;
}
declare const QueryValidatorSlashesResponse: {
    encode(message: QueryValidatorSlashesResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryValidatorSlashesResponse;
    fromJSON(object: any): QueryValidatorSlashesResponse;
    toJSON(message: QueryValidatorSlashesResponse): unknown;
    create<I extends {
        slashes?: {
            validatorPeriod?: number | undefined;
            fraction?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        slashes?: ({
            validatorPeriod?: number | undefined;
            fraction?: string | undefined;
        }[] & ({
            validatorPeriod?: number | undefined;
            fraction?: string | undefined;
        } & {
            validatorPeriod?: number | undefined;
            fraction?: string | undefined;
        } & { [K in Exclude<keyof I["slashes"][number], keyof ValidatorSlashEvent>]: never; })[] & { [K_1 in Exclude<keyof I["slashes"], keyof {
            validatorPeriod?: number | undefined;
            fraction?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryValidatorSlashesResponse>]: never; }>(base?: I | undefined): QueryValidatorSlashesResponse;
    fromPartial<I_1 extends {
        slashes?: {
            validatorPeriod?: number | undefined;
            fraction?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        slashes?: ({
            validatorPeriod?: number | undefined;
            fraction?: string | undefined;
        }[] & ({
            validatorPeriod?: number | undefined;
            fraction?: string | undefined;
        } & {
            validatorPeriod?: number | undefined;
            fraction?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["slashes"][number], keyof ValidatorSlashEvent>]: never; })[] & { [K_5 in Exclude<keyof I_1["slashes"], keyof {
            validatorPeriod?: number | undefined;
            fraction?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryValidatorSlashesResponse>]: never; }>(object: I_1): QueryValidatorSlashesResponse;
};
/**
 * QueryDelegationRewardsRequest is the request type for the
 * Query/DelegationRewards RPC method.
 */
interface QueryDelegationRewardsRequest {
    /** delegator_address defines the delegator address to query for. */
    delegatorAddress: string;
    /** validator_address defines the validator address to query for. */
    validatorAddress: string;
}
declare const QueryDelegationRewardsRequest: {
    encode(message: QueryDelegationRewardsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegationRewardsRequest;
    fromJSON(object: any): QueryDelegationRewardsRequest;
    toJSON(message: QueryDelegationRewardsRequest): unknown;
    create<I extends {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
    } & { [K in Exclude<keyof I, keyof QueryDelegationRewardsRequest>]: never; }>(base?: I | undefined): QueryDelegationRewardsRequest;
    fromPartial<I_1 extends {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
    } & {
        delegatorAddress?: string | undefined;
        validatorAddress?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof QueryDelegationRewardsRequest>]: never; }>(object: I_1): QueryDelegationRewardsRequest;
};
/**
 * QueryDelegationRewardsResponse is the response type for the
 * Query/DelegationRewards RPC method.
 */
interface QueryDelegationRewardsResponse {
    /** rewards defines the rewards accrued by a delegation. */
    rewards: DecCoin[];
}
declare const QueryDelegationRewardsResponse: {
    encode(message: QueryDelegationRewardsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegationRewardsResponse;
    fromJSON(object: any): QueryDelegationRewardsResponse;
    toJSON(message: QueryDelegationRewardsResponse): unknown;
    create<I extends {
        rewards?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        rewards?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["rewards"][number], keyof DecCoin>]: never; })[] & { [K_1 in Exclude<keyof I["rewards"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, "rewards">]: never; }>(base?: I | undefined): QueryDelegationRewardsResponse;
    fromPartial<I_1 extends {
        rewards?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        rewards?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["rewards"][number], keyof DecCoin>]: never; })[] & { [K_4 in Exclude<keyof I_1["rewards"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, "rewards">]: never; }>(object: I_1): QueryDelegationRewardsResponse;
};
/**
 * QueryDelegationTotalRewardsRequest is the request type for the
 * Query/DelegationTotalRewards RPC method.
 */
interface QueryDelegationTotalRewardsRequest {
    /** delegator_address defines the delegator address to query for. */
    delegatorAddress: string;
}
declare const QueryDelegationTotalRewardsRequest: {
    encode(message: QueryDelegationTotalRewardsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegationTotalRewardsRequest;
    fromJSON(object: any): QueryDelegationTotalRewardsRequest;
    toJSON(message: QueryDelegationTotalRewardsRequest): unknown;
    create<I extends {
        delegatorAddress?: string | undefined;
    } & {
        delegatorAddress?: string | undefined;
    } & { [K in Exclude<keyof I, "delegatorAddress">]: never; }>(base?: I | undefined): QueryDelegationTotalRewardsRequest;
    fromPartial<I_1 extends {
        delegatorAddress?: string | undefined;
    } & {
        delegatorAddress?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "delegatorAddress">]: never; }>(object: I_1): QueryDelegationTotalRewardsRequest;
};
/**
 * QueryDelegationTotalRewardsResponse is the response type for the
 * Query/DelegationTotalRewards RPC method.
 */
interface QueryDelegationTotalRewardsResponse {
    /** rewards defines all the rewards accrued by a delegator. */
    rewards: DelegationDelegatorReward[];
    /** total defines the sum of all the rewards. */
    total: DecCoin[];
}
declare const QueryDelegationTotalRewardsResponse: {
    encode(message: QueryDelegationTotalRewardsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegationTotalRewardsResponse;
    fromJSON(object: any): QueryDelegationTotalRewardsResponse;
    toJSON(message: QueryDelegationTotalRewardsResponse): unknown;
    create<I extends {
        rewards?: {
            validatorAddress?: string | undefined;
            reward?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        total?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        rewards?: ({
            validatorAddress?: string | undefined;
            reward?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] & ({
            validatorAddress?: string | undefined;
            reward?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } & {
            validatorAddress?: string | undefined;
            reward?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K in Exclude<keyof I["rewards"][number]["reward"][number], keyof DecCoin>]: never; })[] & { [K_1 in Exclude<keyof I["rewards"][number]["reward"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["rewards"][number], keyof DelegationDelegatorReward>]: never; })[] & { [K_3 in Exclude<keyof I["rewards"], keyof {
            validatorAddress?: string | undefined;
            reward?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        total?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_4 in Exclude<keyof I["total"][number], keyof DecCoin>]: never; })[] & { [K_5 in Exclude<keyof I["total"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, keyof QueryDelegationTotalRewardsResponse>]: never; }>(base?: I | undefined): QueryDelegationTotalRewardsResponse;
    fromPartial<I_1 extends {
        rewards?: {
            validatorAddress?: string | undefined;
            reward?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        total?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        rewards?: ({
            validatorAddress?: string | undefined;
            reward?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] & ({
            validatorAddress?: string | undefined;
            reward?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } & {
            validatorAddress?: string | undefined;
            reward?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_7 in Exclude<keyof I_1["rewards"][number]["reward"][number], keyof DecCoin>]: never; })[] & { [K_8 in Exclude<keyof I_1["rewards"][number]["reward"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_9 in Exclude<keyof I_1["rewards"][number], keyof DelegationDelegatorReward>]: never; })[] & { [K_10 in Exclude<keyof I_1["rewards"], keyof {
            validatorAddress?: string | undefined;
            reward?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        total?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_11 in Exclude<keyof I_1["total"][number], keyof DecCoin>]: never; })[] & { [K_12 in Exclude<keyof I_1["total"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_13 in Exclude<keyof I_1, keyof QueryDelegationTotalRewardsResponse>]: never; }>(object: I_1): QueryDelegationTotalRewardsResponse;
};
/**
 * QueryDelegatorValidatorsRequest is the request type for the
 * Query/DelegatorValidators RPC method.
 */
interface QueryDelegatorValidatorsRequest$1 {
    /** delegator_address defines the delegator address to query for. */
    delegatorAddress: string;
}
declare const QueryDelegatorValidatorsRequest$1: {
    encode(message: QueryDelegatorValidatorsRequest$1, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegatorValidatorsRequest$1;
    fromJSON(object: any): QueryDelegatorValidatorsRequest$1;
    toJSON(message: QueryDelegatorValidatorsRequest$1): unknown;
    create<I extends {
        delegatorAddress?: string | undefined;
    } & {
        delegatorAddress?: string | undefined;
    } & { [K in Exclude<keyof I, "delegatorAddress">]: never; }>(base?: I | undefined): QueryDelegatorValidatorsRequest$1;
    fromPartial<I_1 extends {
        delegatorAddress?: string | undefined;
    } & {
        delegatorAddress?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "delegatorAddress">]: never; }>(object: I_1): QueryDelegatorValidatorsRequest$1;
};
/**
 * QueryDelegatorValidatorsResponse is the response type for the
 * Query/DelegatorValidators RPC method.
 */
interface QueryDelegatorValidatorsResponse$1 {
    /** validators defines the validators a delegator is delegating for. */
    validators: string[];
}
declare const QueryDelegatorValidatorsResponse$1: {
    encode(message: QueryDelegatorValidatorsResponse$1, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegatorValidatorsResponse$1;
    fromJSON(object: any): QueryDelegatorValidatorsResponse$1;
    toJSON(message: QueryDelegatorValidatorsResponse$1): unknown;
    create<I extends {
        validators?: string[] | undefined;
    } & {
        validators?: (string[] & string[] & { [K in Exclude<keyof I["validators"], keyof string[]>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "validators">]: never; }>(base?: I | undefined): QueryDelegatorValidatorsResponse$1;
    fromPartial<I_1 extends {
        validators?: string[] | undefined;
    } & {
        validators?: (string[] & string[] & { [K_2 in Exclude<keyof I_1["validators"], keyof string[]>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "validators">]: never; }>(object: I_1): QueryDelegatorValidatorsResponse$1;
};
/**
 * QueryDelegatorWithdrawAddressRequest is the request type for the
 * Query/DelegatorWithdrawAddress RPC method.
 */
interface QueryDelegatorWithdrawAddressRequest {
    /** delegator_address defines the delegator address to query for. */
    delegatorAddress: string;
}
declare const QueryDelegatorWithdrawAddressRequest: {
    encode(message: QueryDelegatorWithdrawAddressRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegatorWithdrawAddressRequest;
    fromJSON(object: any): QueryDelegatorWithdrawAddressRequest;
    toJSON(message: QueryDelegatorWithdrawAddressRequest): unknown;
    create<I extends {
        delegatorAddress?: string | undefined;
    } & {
        delegatorAddress?: string | undefined;
    } & { [K in Exclude<keyof I, "delegatorAddress">]: never; }>(base?: I | undefined): QueryDelegatorWithdrawAddressRequest;
    fromPartial<I_1 extends {
        delegatorAddress?: string | undefined;
    } & {
        delegatorAddress?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "delegatorAddress">]: never; }>(object: I_1): QueryDelegatorWithdrawAddressRequest;
};
/**
 * QueryDelegatorWithdrawAddressResponse is the response type for the
 * Query/DelegatorWithdrawAddress RPC method.
 */
interface QueryDelegatorWithdrawAddressResponse {
    /** withdraw_address defines the delegator address to query for. */
    withdrawAddress: string;
}
declare const QueryDelegatorWithdrawAddressResponse: {
    encode(message: QueryDelegatorWithdrawAddressResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegatorWithdrawAddressResponse;
    fromJSON(object: any): QueryDelegatorWithdrawAddressResponse;
    toJSON(message: QueryDelegatorWithdrawAddressResponse): unknown;
    create<I extends {
        withdrawAddress?: string | undefined;
    } & {
        withdrawAddress?: string | undefined;
    } & { [K in Exclude<keyof I, "withdrawAddress">]: never; }>(base?: I | undefined): QueryDelegatorWithdrawAddressResponse;
    fromPartial<I_1 extends {
        withdrawAddress?: string | undefined;
    } & {
        withdrawAddress?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "withdrawAddress">]: never; }>(object: I_1): QueryDelegatorWithdrawAddressResponse;
};
/**
 * QueryCommunityPoolRequest is the request type for the Query/CommunityPool RPC
 * method.
 */
interface QueryCommunityPoolRequest {
}
declare const QueryCommunityPoolRequest: {
    encode(_: QueryCommunityPoolRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryCommunityPoolRequest;
    fromJSON(_: any): QueryCommunityPoolRequest;
    toJSON(_: QueryCommunityPoolRequest): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): QueryCommunityPoolRequest;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): QueryCommunityPoolRequest;
};
/**
 * QueryCommunityPoolResponse is the response type for the Query/CommunityPool
 * RPC method.
 */
interface QueryCommunityPoolResponse {
    /** pool defines community pool's coins. */
    pool: DecCoin[];
}
declare const QueryCommunityPoolResponse: {
    encode(message: QueryCommunityPoolResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryCommunityPoolResponse;
    fromJSON(object: any): QueryCommunityPoolResponse;
    toJSON(message: QueryCommunityPoolResponse): unknown;
    create<I extends {
        pool?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        pool?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K in Exclude<keyof I["pool"][number], keyof DecCoin>]: never; })[] & { [K_1 in Exclude<keyof I["pool"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, "pool">]: never; }>(base?: I | undefined): QueryCommunityPoolResponse;
    fromPartial<I_1 extends {
        pool?: {
            denom?: string | undefined;
            amount?: string | undefined;
        }[] | undefined;
    } & {
        pool?: ({
            denom?: string | undefined;
            amount?: string | undefined;
        }[] & ({
            denom?: string | undefined;
            amount?: string | undefined;
        } & {
            denom?: string | undefined;
            amount?: string | undefined;
        } & { [K_3 in Exclude<keyof I_1["pool"][number], keyof DecCoin>]: never; })[] & { [K_4 in Exclude<keyof I_1["pool"], keyof {
            denom?: string | undefined;
            amount?: string | undefined;
        }[]>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, "pool">]: never; }>(object: I_1): QueryCommunityPoolResponse;
};
interface UnaryMethodDefinitionishR$4 extends grpc.UnaryMethodDefinition<any, any> {
    requestStream: any;
    responseStream: any;
}
type UnaryMethodDefinitionish$4 = UnaryMethodDefinitionishR$4;
declare class GrpcWebImpl$4 {
    private host;
    private options;
    constructor(host: string, options: {
        transport?: grpc.TransportFactory;
        debug?: boolean;
        metadata?: grpc.Metadata;
        upStreamRetryCodes?: number[];
    });
    unary<T extends UnaryMethodDefinitionish$4>(methodDesc: T, _request: any, metadata: grpc.Metadata | undefined): Promise<any>;
}
type Builtin$4 = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial$4<T> = T extends Builtin$4 ? T : T extends Array<infer U> ? Array<DeepPartial$4<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial$4<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial$4<T[K]>;
} : Partial<T>;

interface IQueryDistribution {
    /** Params queries params of the distribution module. */
    queryParams(request: DeepPartial$4<QueryParamsRequest$4>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryParamsResponse$4>>;
    /** ValidatorOutstandingRewards queries rewards of a validator address. */
    queryValidatorOutstandingRewards(request: DeepPartial$4<QueryValidatorOutstandingRewardsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryValidatorOutstandingRewardsResponse>>;
    /** ValidatorCommission queries accumulated commission for a validator. */
    queryValidatorCommission(request: DeepPartial$4<QueryValidatorCommissionRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryValidatorCommissionResponse>>;
    /** ValidatorSlashes queries slash events of a validator. */
    queryValidatorSlashes(request: DeepPartial$4<QueryValidatorSlashesRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryValidatorSlashesResponse>>;
    /** DelegationRewards queries the total rewards accrued by a delegation. */
    queryDelegationRewards(request: DeepPartial$4<QueryDelegationRewardsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryDelegationRewardsResponse>>;
    /**
     * DelegationTotalRewards queries the total rewards accrued by a each
     * validator.
     */
    queryDelegationTotalRewards(request: DeepPartial$4<QueryDelegationTotalRewardsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryDelegationTotalRewardsResponse>>;
    /** DelegatorValidators queries the validators of a delegator. */
    queryDelegatorValidators(request: DeepPartial$4<QueryDelegatorValidatorsRequest$1>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryDelegatorValidatorsResponse$1>>;
    /** DelegatorWithdrawAddress queries withdraw address of a delegator. */
    queryDelegatorWithdrawAddress(request: DeepPartial$4<QueryDelegatorWithdrawAddressRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryDelegatorWithdrawAddressResponse>>;
    /** CommunityPool queries the community pool coins. */
    queryCommunityPool(request: DeepPartial$4<QueryCommunityPoolRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryCommunityPoolResponse>>;
}

/** QueryProposalRequest is the request type for the Query/Proposal RPC method. */
interface QueryProposalRequest {
    /** proposal_id defines the unique id of the proposal. */
    proposalId: number;
}
declare const QueryProposalRequest: {
    encode(message: QueryProposalRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryProposalRequest;
    fromJSON(object: any): QueryProposalRequest;
    toJSON(message: QueryProposalRequest): unknown;
    create<I extends {
        proposalId?: number | undefined;
    } & {
        proposalId?: number | undefined;
    } & { [K in Exclude<keyof I, "proposalId">]: never; }>(base?: I | undefined): QueryProposalRequest;
    fromPartial<I_1 extends {
        proposalId?: number | undefined;
    } & {
        proposalId?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, "proposalId">]: never; }>(object: I_1): QueryProposalRequest;
};
/** QueryProposalResponse is the response type for the Query/Proposal RPC method. */
interface QueryProposalResponse {
    proposal: Proposal | undefined;
}
declare const QueryProposalResponse: {
    encode(message: QueryProposalResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryProposalResponse;
    fromJSON(object: any): QueryProposalResponse;
    toJSON(message: QueryProposalResponse): unknown;
    create<I extends {
        proposal?: {
            proposalId?: number | undefined;
            content?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        } | undefined;
    } & {
        proposal?: ({
            proposalId?: number | undefined;
            content?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        } & {
            proposalId?: number | undefined;
            content?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K in Exclude<keyof I["proposal"]["content"], keyof Any>]: never; }) | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: ({
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } & {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } & { [K_1 in Exclude<keyof I["proposal"]["finalTallyResult"], keyof TallyResult>]: never; }) | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_2 in Exclude<keyof I["proposal"]["totalDeposit"][number], keyof Coin>]: never; })[] & { [K_3 in Exclude<keyof I["proposal"]["totalDeposit"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        } & { [K_4 in Exclude<keyof I["proposal"], keyof Proposal>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I, "proposal">]: never; }>(base?: I | undefined): QueryProposalResponse;
    fromPartial<I_1 extends {
        proposal?: {
            proposalId?: number | undefined;
            content?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        } | undefined;
    } & {
        proposal?: ({
            proposalId?: number | undefined;
            content?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        } & {
            proposalId?: number | undefined;
            content?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_6 in Exclude<keyof I_1["proposal"]["content"], keyof Any>]: never; }) | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: ({
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } & {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } & { [K_7 in Exclude<keyof I_1["proposal"]["finalTallyResult"], keyof TallyResult>]: never; }) | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_8 in Exclude<keyof I_1["proposal"]["totalDeposit"][number], keyof Coin>]: never; })[] & { [K_9 in Exclude<keyof I_1["proposal"]["totalDeposit"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        } & { [K_10 in Exclude<keyof I_1["proposal"], keyof Proposal>]: never; }) | undefined;
    } & { [K_11 in Exclude<keyof I_1, "proposal">]: never; }>(object: I_1): QueryProposalResponse;
};
/** QueryProposalsRequest is the request type for the Query/Proposals RPC method. */
interface QueryProposalsRequest {
    /** proposal_status defines the status of the proposals. */
    proposalStatus: ProposalStatus;
    /** voter defines the voter address for the proposals. */
    voter: string;
    /** depositor defines the deposit addresses from the proposals. */
    depositor: string;
    /** pagination defines an optional pagination for the request. */
    pagination: PageRequest | undefined;
}
declare const QueryProposalsRequest: {
    encode(message: QueryProposalsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryProposalsRequest;
    fromJSON(object: any): QueryProposalsRequest;
    toJSON(message: QueryProposalsRequest): unknown;
    create<I extends {
        proposalStatus?: ProposalStatus | undefined;
        voter?: string | undefined;
        depositor?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        proposalStatus?: ProposalStatus | undefined;
        voter?: string | undefined;
        depositor?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof QueryProposalsRequest>]: never; }>(base?: I | undefined): QueryProposalsRequest;
    fromPartial<I_1 extends {
        proposalStatus?: ProposalStatus | undefined;
        voter?: string | undefined;
        depositor?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        proposalStatus?: ProposalStatus | undefined;
        voter?: string | undefined;
        depositor?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof QueryProposalsRequest>]: never; }>(object: I_1): QueryProposalsRequest;
};
/**
 * QueryProposalsResponse is the response type for the Query/Proposals RPC
 * method.
 */
interface QueryProposalsResponse {
    proposals: Proposal[];
    /** pagination defines the pagination in the response. */
    pagination: PageResponse | undefined;
}
declare const QueryProposalsResponse: {
    encode(message: QueryProposalsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryProposalsResponse;
    fromJSON(object: any): QueryProposalsResponse;
    toJSON(message: QueryProposalsResponse): unknown;
    create<I extends {
        proposals?: {
            proposalId?: number | undefined;
            content?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        proposals?: ({
            proposalId?: number | undefined;
            content?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        }[] & ({
            proposalId?: number | undefined;
            content?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        } & {
            proposalId?: number | undefined;
            content?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K in Exclude<keyof I["proposals"][number]["content"], keyof Any>]: never; }) | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: ({
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } & {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } & { [K_1 in Exclude<keyof I["proposals"][number]["finalTallyResult"], keyof TallyResult>]: never; }) | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_2 in Exclude<keyof I["proposals"][number]["totalDeposit"][number], keyof Coin>]: never; })[] & { [K_3 in Exclude<keyof I["proposals"][number]["totalDeposit"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        } & { [K_4 in Exclude<keyof I["proposals"][number], keyof Proposal>]: never; })[] & { [K_5 in Exclude<keyof I["proposals"], keyof {
            proposalId?: number | undefined;
            content?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I, keyof QueryProposalsResponse>]: never; }>(base?: I | undefined): QueryProposalsResponse;
    fromPartial<I_1 extends {
        proposals?: {
            proposalId?: number | undefined;
            content?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        proposals?: ({
            proposalId?: number | undefined;
            content?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        }[] & ({
            proposalId?: number | undefined;
            content?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        } & {
            proposalId?: number | undefined;
            content?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_8 in Exclude<keyof I_1["proposals"][number]["content"], keyof Any>]: never; }) | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: ({
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } & {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } & { [K_9 in Exclude<keyof I_1["proposals"][number]["finalTallyResult"], keyof TallyResult>]: never; }) | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_10 in Exclude<keyof I_1["proposals"][number]["totalDeposit"][number], keyof Coin>]: never; })[] & { [K_11 in Exclude<keyof I_1["proposals"][number]["totalDeposit"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        } & { [K_12 in Exclude<keyof I_1["proposals"][number], keyof Proposal>]: never; })[] & { [K_13 in Exclude<keyof I_1["proposals"], keyof {
            proposalId?: number | undefined;
            content?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            status?: ProposalStatus | undefined;
            finalTallyResult?: {
                yes?: string | undefined;
                abstain?: string | undefined;
                no?: string | undefined;
                noWithVeto?: string | undefined;
            } | undefined;
            submitTime?: Date | undefined;
            depositEndTime?: Date | undefined;
            totalDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            votingStartTime?: Date | undefined;
            votingEndTime?: Date | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_14 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_15 in Exclude<keyof I_1, keyof QueryProposalsResponse>]: never; }>(object: I_1): QueryProposalsResponse;
};
/** QueryVoteRequest is the request type for the Query/Vote RPC method. */
interface QueryVoteRequest {
    /** proposal_id defines the unique id of the proposal. */
    proposalId: number;
    /** voter defines the oter address for the proposals. */
    voter: string;
}
declare const QueryVoteRequest: {
    encode(message: QueryVoteRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryVoteRequest;
    fromJSON(object: any): QueryVoteRequest;
    toJSON(message: QueryVoteRequest): unknown;
    create<I extends {
        proposalId?: number | undefined;
        voter?: string | undefined;
    } & {
        proposalId?: number | undefined;
        voter?: string | undefined;
    } & { [K in Exclude<keyof I, keyof QueryVoteRequest>]: never; }>(base?: I | undefined): QueryVoteRequest;
    fromPartial<I_1 extends {
        proposalId?: number | undefined;
        voter?: string | undefined;
    } & {
        proposalId?: number | undefined;
        voter?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof QueryVoteRequest>]: never; }>(object: I_1): QueryVoteRequest;
};
/** QueryVoteResponse is the response type for the Query/Vote RPC method. */
interface QueryVoteResponse {
    /** vote defined the queried vote. */
    vote: Vote | undefined;
}
declare const QueryVoteResponse: {
    encode(message: QueryVoteResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryVoteResponse;
    fromJSON(object: any): QueryVoteResponse;
    toJSON(message: QueryVoteResponse): unknown;
    create<I extends {
        vote?: {
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] | undefined;
        } | undefined;
    } & {
        vote?: ({
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] | undefined;
        } & {
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: ({
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] & ({
                option?: VoteOption | undefined;
                weight?: string | undefined;
            } & {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            } & { [K in Exclude<keyof I["vote"]["options"][number], keyof WeightedVoteOption>]: never; })[] & { [K_1 in Exclude<keyof I["vote"]["options"], keyof {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["vote"], keyof Vote>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, "vote">]: never; }>(base?: I | undefined): QueryVoteResponse;
    fromPartial<I_1 extends {
        vote?: {
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] | undefined;
        } | undefined;
    } & {
        vote?: ({
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] | undefined;
        } & {
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: ({
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] & ({
                option?: VoteOption | undefined;
                weight?: string | undefined;
            } & {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            } & { [K_4 in Exclude<keyof I_1["vote"]["options"][number], keyof WeightedVoteOption>]: never; })[] & { [K_5 in Exclude<keyof I_1["vote"]["options"], keyof {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_6 in Exclude<keyof I_1["vote"], keyof Vote>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, "vote">]: never; }>(object: I_1): QueryVoteResponse;
};
/** QueryVotesRequest is the request type for the Query/Votes RPC method. */
interface QueryVotesRequest {
    /** proposal_id defines the unique id of the proposal. */
    proposalId: number;
    /** pagination defines an optional pagination for the request. */
    pagination: PageRequest | undefined;
}
declare const QueryVotesRequest: {
    encode(message: QueryVotesRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryVotesRequest;
    fromJSON(object: any): QueryVotesRequest;
    toJSON(message: QueryVotesRequest): unknown;
    create<I extends {
        proposalId?: number | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        proposalId?: number | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof QueryVotesRequest>]: never; }>(base?: I | undefined): QueryVotesRequest;
    fromPartial<I_1 extends {
        proposalId?: number | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        proposalId?: number | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof QueryVotesRequest>]: never; }>(object: I_1): QueryVotesRequest;
};
/** QueryVotesResponse is the response type for the Query/Votes RPC method. */
interface QueryVotesResponse {
    /** votes defined the queried votes. */
    votes: Vote[];
    /** pagination defines the pagination in the response. */
    pagination: PageResponse | undefined;
}
declare const QueryVotesResponse: {
    encode(message: QueryVotesResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryVotesResponse;
    fromJSON(object: any): QueryVotesResponse;
    toJSON(message: QueryVotesResponse): unknown;
    create<I extends {
        votes?: {
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        votes?: ({
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] | undefined;
        }[] & ({
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] | undefined;
        } & {
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: ({
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] & ({
                option?: VoteOption | undefined;
                weight?: string | undefined;
            } & {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            } & { [K in Exclude<keyof I["votes"][number]["options"][number], keyof WeightedVoteOption>]: never; })[] & { [K_1 in Exclude<keyof I["votes"][number]["options"], keyof {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["votes"][number], keyof Vote>]: never; })[] & { [K_3 in Exclude<keyof I["votes"], keyof {
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_4 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I, keyof QueryVotesResponse>]: never; }>(base?: I | undefined): QueryVotesResponse;
    fromPartial<I_1 extends {
        votes?: {
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        votes?: ({
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] | undefined;
        }[] & ({
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] | undefined;
        } & {
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: ({
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] & ({
                option?: VoteOption | undefined;
                weight?: string | undefined;
            } & {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            } & { [K_6 in Exclude<keyof I_1["votes"][number]["options"][number], keyof WeightedVoteOption>]: never; })[] & { [K_7 in Exclude<keyof I_1["votes"][number]["options"], keyof {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_8 in Exclude<keyof I_1["votes"][number], keyof Vote>]: never; })[] & { [K_9 in Exclude<keyof I_1["votes"], keyof {
            proposalId?: number | undefined;
            voter?: string | undefined;
            option?: VoteOption | undefined;
            options?: {
                option?: VoteOption | undefined;
                weight?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_10 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_11 in Exclude<keyof I_1, keyof QueryVotesResponse>]: never; }>(object: I_1): QueryVotesResponse;
};
/** QueryParamsRequest is the request type for the Query/Params RPC method. */
interface QueryParamsRequest$3 {
    /**
     * params_type defines which parameters to query for, can be one of "voting",
     * "tallying" or "deposit".
     */
    paramsType: string;
}
declare const QueryParamsRequest$3: {
    encode(message: QueryParamsRequest$3, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest$3;
    fromJSON(object: any): QueryParamsRequest$3;
    toJSON(message: QueryParamsRequest$3): unknown;
    create<I extends {
        paramsType?: string | undefined;
    } & {
        paramsType?: string | undefined;
    } & { [K in Exclude<keyof I, "paramsType">]: never; }>(base?: I | undefined): QueryParamsRequest$3;
    fromPartial<I_1 extends {
        paramsType?: string | undefined;
    } & {
        paramsType?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "paramsType">]: never; }>(object: I_1): QueryParamsRequest$3;
};
/** QueryParamsResponse is the response type for the Query/Params RPC method. */
interface QueryParamsResponse$3 {
    /** voting_params defines the parameters related to voting. */
    votingParams: VotingParams | undefined;
    /** deposit_params defines the parameters related to deposit. */
    depositParams: DepositParams | undefined;
    /** tally_params defines the parameters related to tally. */
    tallyParams: TallyParams | undefined;
}
declare const QueryParamsResponse$3: {
    encode(message: QueryParamsResponse$3, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse$3;
    fromJSON(object: any): QueryParamsResponse$3;
    toJSON(message: QueryParamsResponse$3): unknown;
    create<I extends {
        votingParams?: {
            votingPeriod?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
        depositParams?: {
            minDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            maxDepositPeriod?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
        tallyParams?: {
            quorum?: Uint8Array | undefined;
            threshold?: Uint8Array | undefined;
            vetoThreshold?: Uint8Array | undefined;
        } | undefined;
    } & {
        votingParams?: ({
            votingPeriod?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            votingPeriod?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K in Exclude<keyof I["votingParams"]["votingPeriod"], keyof Duration>]: never; }) | undefined;
        } & { [K_1 in Exclude<keyof I["votingParams"], "votingPeriod">]: never; }) | undefined;
        depositParams?: ({
            minDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            maxDepositPeriod?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            minDeposit?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_2 in Exclude<keyof I["depositParams"]["minDeposit"][number], keyof Coin>]: never; })[] & { [K_3 in Exclude<keyof I["depositParams"]["minDeposit"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
            maxDepositPeriod?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_4 in Exclude<keyof I["depositParams"]["maxDepositPeriod"], keyof Duration>]: never; }) | undefined;
        } & { [K_5 in Exclude<keyof I["depositParams"], keyof DepositParams>]: never; }) | undefined;
        tallyParams?: ({
            quorum?: Uint8Array | undefined;
            threshold?: Uint8Array | undefined;
            vetoThreshold?: Uint8Array | undefined;
        } & {
            quorum?: Uint8Array | undefined;
            threshold?: Uint8Array | undefined;
            vetoThreshold?: Uint8Array | undefined;
        } & { [K_6 in Exclude<keyof I["tallyParams"], keyof TallyParams>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I, keyof QueryParamsResponse$3>]: never; }>(base?: I | undefined): QueryParamsResponse$3;
    fromPartial<I_1 extends {
        votingParams?: {
            votingPeriod?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
        depositParams?: {
            minDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            maxDepositPeriod?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } | undefined;
        tallyParams?: {
            quorum?: Uint8Array | undefined;
            threshold?: Uint8Array | undefined;
            vetoThreshold?: Uint8Array | undefined;
        } | undefined;
    } & {
        votingParams?: ({
            votingPeriod?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            votingPeriod?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_8 in Exclude<keyof I_1["votingParams"]["votingPeriod"], keyof Duration>]: never; }) | undefined;
        } & { [K_9 in Exclude<keyof I_1["votingParams"], "votingPeriod">]: never; }) | undefined;
        depositParams?: ({
            minDeposit?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
            maxDepositPeriod?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
        } & {
            minDeposit?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_10 in Exclude<keyof I_1["depositParams"]["minDeposit"][number], keyof Coin>]: never; })[] & { [K_11 in Exclude<keyof I_1["depositParams"]["minDeposit"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
            maxDepositPeriod?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_12 in Exclude<keyof I_1["depositParams"]["maxDepositPeriod"], keyof Duration>]: never; }) | undefined;
        } & { [K_13 in Exclude<keyof I_1["depositParams"], keyof DepositParams>]: never; }) | undefined;
        tallyParams?: ({
            quorum?: Uint8Array | undefined;
            threshold?: Uint8Array | undefined;
            vetoThreshold?: Uint8Array | undefined;
        } & {
            quorum?: Uint8Array | undefined;
            threshold?: Uint8Array | undefined;
            vetoThreshold?: Uint8Array | undefined;
        } & { [K_14 in Exclude<keyof I_1["tallyParams"], keyof TallyParams>]: never; }) | undefined;
    } & { [K_15 in Exclude<keyof I_1, keyof QueryParamsResponse$3>]: never; }>(object: I_1): QueryParamsResponse$3;
};
/** QueryDepositRequest is the request type for the Query/Deposit RPC method. */
interface QueryDepositRequest {
    /** proposal_id defines the unique id of the proposal. */
    proposalId: number;
    /** depositor defines the deposit addresses from the proposals. */
    depositor: string;
}
declare const QueryDepositRequest: {
    encode(message: QueryDepositRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDepositRequest;
    fromJSON(object: any): QueryDepositRequest;
    toJSON(message: QueryDepositRequest): unknown;
    create<I extends {
        proposalId?: number | undefined;
        depositor?: string | undefined;
    } & {
        proposalId?: number | undefined;
        depositor?: string | undefined;
    } & { [K in Exclude<keyof I, keyof QueryDepositRequest>]: never; }>(base?: I | undefined): QueryDepositRequest;
    fromPartial<I_1 extends {
        proposalId?: number | undefined;
        depositor?: string | undefined;
    } & {
        proposalId?: number | undefined;
        depositor?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof QueryDepositRequest>]: never; }>(object: I_1): QueryDepositRequest;
};
/** QueryDepositResponse is the response type for the Query/Deposit RPC method. */
interface QueryDepositResponse {
    /** deposit defines the requested deposit. */
    deposit: Deposit | undefined;
}
declare const QueryDepositResponse: {
    encode(message: QueryDepositResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDepositResponse;
    fromJSON(object: any): QueryDepositResponse;
    toJSON(message: QueryDepositResponse): unknown;
    create<I extends {
        deposit?: {
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } | undefined;
    } & {
        deposit?: ({
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } & {
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K in Exclude<keyof I["deposit"]["amount"][number], keyof Coin>]: never; })[] & { [K_1 in Exclude<keyof I["deposit"]["amount"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["deposit"], keyof Deposit>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, "deposit">]: never; }>(base?: I | undefined): QueryDepositResponse;
    fromPartial<I_1 extends {
        deposit?: {
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } | undefined;
    } & {
        deposit?: ({
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } & {
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_4 in Exclude<keyof I_1["deposit"]["amount"][number], keyof Coin>]: never; })[] & { [K_5 in Exclude<keyof I_1["deposit"]["amount"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_6 in Exclude<keyof I_1["deposit"], keyof Deposit>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, "deposit">]: never; }>(object: I_1): QueryDepositResponse;
};
/** QueryDepositsRequest is the request type for the Query/Deposits RPC method. */
interface QueryDepositsRequest {
    /** proposal_id defines the unique id of the proposal. */
    proposalId: number;
    /** pagination defines an optional pagination for the request. */
    pagination: PageRequest | undefined;
}
declare const QueryDepositsRequest: {
    encode(message: QueryDepositsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDepositsRequest;
    fromJSON(object: any): QueryDepositsRequest;
    toJSON(message: QueryDepositsRequest): unknown;
    create<I extends {
        proposalId?: number | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        proposalId?: number | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof QueryDepositsRequest>]: never; }>(base?: I | undefined): QueryDepositsRequest;
    fromPartial<I_1 extends {
        proposalId?: number | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        proposalId?: number | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof QueryDepositsRequest>]: never; }>(object: I_1): QueryDepositsRequest;
};
/** QueryDepositsResponse is the response type for the Query/Deposits RPC method. */
interface QueryDepositsResponse {
    deposits: Deposit[];
    /** pagination defines the pagination in the response. */
    pagination: PageResponse | undefined;
}
declare const QueryDepositsResponse: {
    encode(message: QueryDepositsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDepositsResponse;
    fromJSON(object: any): QueryDepositsResponse;
    toJSON(message: QueryDepositsResponse): unknown;
    create<I extends {
        deposits?: {
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        deposits?: ({
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] & ({
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } & {
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K in Exclude<keyof I["deposits"][number]["amount"][number], keyof Coin>]: never; })[] & { [K_1 in Exclude<keyof I["deposits"][number]["amount"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["deposits"][number], keyof Deposit>]: never; })[] & { [K_3 in Exclude<keyof I["deposits"], keyof {
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_4 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I, keyof QueryDepositsResponse>]: never; }>(base?: I | undefined): QueryDepositsResponse;
    fromPartial<I_1 extends {
        deposits?: {
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        deposits?: ({
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[] & ({
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        } & {
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            }[] & ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_6 in Exclude<keyof I_1["deposits"][number]["amount"][number], keyof Coin>]: never; })[] & { [K_7 in Exclude<keyof I_1["deposits"][number]["amount"], keyof {
                denom?: string | undefined;
                amount?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_8 in Exclude<keyof I_1["deposits"][number], keyof Deposit>]: never; })[] & { [K_9 in Exclude<keyof I_1["deposits"], keyof {
            proposalId?: number | undefined;
            depositor?: string | undefined;
            amount?: {
                denom?: string | undefined;
                amount?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_10 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_11 in Exclude<keyof I_1, keyof QueryDepositsResponse>]: never; }>(object: I_1): QueryDepositsResponse;
};
/** QueryTallyResultRequest is the request type for the Query/Tally RPC method. */
interface QueryTallyResultRequest {
    /** proposal_id defines the unique id of the proposal. */
    proposalId: number;
}
declare const QueryTallyResultRequest: {
    encode(message: QueryTallyResultRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryTallyResultRequest;
    fromJSON(object: any): QueryTallyResultRequest;
    toJSON(message: QueryTallyResultRequest): unknown;
    create<I extends {
        proposalId?: number | undefined;
    } & {
        proposalId?: number | undefined;
    } & { [K in Exclude<keyof I, "proposalId">]: never; }>(base?: I | undefined): QueryTallyResultRequest;
    fromPartial<I_1 extends {
        proposalId?: number | undefined;
    } & {
        proposalId?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, "proposalId">]: never; }>(object: I_1): QueryTallyResultRequest;
};
/** QueryTallyResultResponse is the response type for the Query/Tally RPC method. */
interface QueryTallyResultResponse {
    /** tally defines the requested tally. */
    tally: TallyResult | undefined;
}
declare const QueryTallyResultResponse: {
    encode(message: QueryTallyResultResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryTallyResultResponse;
    fromJSON(object: any): QueryTallyResultResponse;
    toJSON(message: QueryTallyResultResponse): unknown;
    create<I extends {
        tally?: {
            yes?: string | undefined;
            abstain?: string | undefined;
            no?: string | undefined;
            noWithVeto?: string | undefined;
        } | undefined;
    } & {
        tally?: ({
            yes?: string | undefined;
            abstain?: string | undefined;
            no?: string | undefined;
            noWithVeto?: string | undefined;
        } & {
            yes?: string | undefined;
            abstain?: string | undefined;
            no?: string | undefined;
            noWithVeto?: string | undefined;
        } & { [K in Exclude<keyof I["tally"], keyof TallyResult>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "tally">]: never; }>(base?: I | undefined): QueryTallyResultResponse;
    fromPartial<I_1 extends {
        tally?: {
            yes?: string | undefined;
            abstain?: string | undefined;
            no?: string | undefined;
            noWithVeto?: string | undefined;
        } | undefined;
    } & {
        tally?: ({
            yes?: string | undefined;
            abstain?: string | undefined;
            no?: string | undefined;
            noWithVeto?: string | undefined;
        } & {
            yes?: string | undefined;
            abstain?: string | undefined;
            no?: string | undefined;
            noWithVeto?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["tally"], keyof TallyResult>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "tally">]: never; }>(object: I_1): QueryTallyResultResponse;
};
interface UnaryMethodDefinitionishR$3 extends grpc.UnaryMethodDefinition<any, any> {
    requestStream: any;
    responseStream: any;
}
type UnaryMethodDefinitionish$3 = UnaryMethodDefinitionishR$3;
declare class GrpcWebImpl$3 {
    private host;
    private options;
    constructor(host: string, options: {
        transport?: grpc.TransportFactory;
        debug?: boolean;
        metadata?: grpc.Metadata;
        upStreamRetryCodes?: number[];
    });
    unary<T extends UnaryMethodDefinitionish$3>(methodDesc: T, _request: any, metadata: grpc.Metadata | undefined): Promise<any>;
}
type Builtin$3 = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial$3<T> = T extends Builtin$3 ? T : T extends Array<infer U> ? Array<DeepPartial$3<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial$3<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial$3<T[K]>;
} : Partial<T>;

interface IQueryGov {
    /** Proposal queries proposal details based on ProposalID. */
    queryProposal(request: DeepPartial$3<QueryProposalRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryProposalResponse>>;
    /** Proposals queries all proposals based on given status. */
    queryProposals(request: DeepPartial$3<QueryProposalsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryProposalsResponse>>;
    /** Vote queries voted information based on proposalID, voterAddr. */
    queryVote(request: DeepPartial$3<QueryVoteRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryVoteResponse>>;
    /** Votes queries votes of a given proposal. */
    queryVotes(request: DeepPartial$3<QueryVotesRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryVotesResponse>>;
    /** Params queries all parameters of the gov module. */
    queryParams(request: DeepPartial$3<QueryParamsRequest$3>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryParamsResponse$3>>;
    /** Deposit queries single deposit information based proposalID, depositAddr. */
    queryDeposit(request: DeepPartial$3<QueryDepositRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryDepositResponse>>;
    /** Deposits queries all deposits of a single proposal. */
    queryDeposits(request: DeepPartial$3<QueryDepositsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryDepositsResponse>>;
    /** TallyResult queries the tally of a proposal vote. */
    queryTallyResult(request: DeepPartial$3<QueryTallyResultRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryTallyResultResponse>>;
}

/**
 * ValidatorSigningInfo defines a validator's signing info for monitoring their
 * liveness activity.
 */
interface ValidatorSigningInfo {
    address: string;
    /** Height at which validator was first a candidate OR was unjailed */
    startHeight: number;
    /**
     * Index which is incremented each time the validator was a bonded
     * in a block and may have signed a precommit or not. This in conjunction with the
     * `SignedBlocksWindow` param determines the index in the `MissedBlocksBitArray`.
     */
    indexOffset: number;
    /** Timestamp until which the validator is jailed due to liveness downtime. */
    jailedUntil: Date | undefined;
    /**
     * Whether or not a validator has been tombstoned (killed out of validator set). It is set
     * once the validator commits an equivocation or for any other configured misbehiavor.
     */
    tombstoned: boolean;
    /**
     * A counter kept to avoid unnecessary array reads.
     * Note that `Sum(MissedBlocksBitArray)` always equals `MissedBlocksCounter`.
     */
    missedBlocksCounter: number;
}
declare const ValidatorSigningInfo: {
    encode(message: ValidatorSigningInfo, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ValidatorSigningInfo;
    fromJSON(object: any): ValidatorSigningInfo;
    toJSON(message: ValidatorSigningInfo): unknown;
    create<I extends {
        address?: string | undefined;
        startHeight?: number | undefined;
        indexOffset?: number | undefined;
        jailedUntil?: Date | undefined;
        tombstoned?: boolean | undefined;
        missedBlocksCounter?: number | undefined;
    } & {
        address?: string | undefined;
        startHeight?: number | undefined;
        indexOffset?: number | undefined;
        jailedUntil?: Date | undefined;
        tombstoned?: boolean | undefined;
        missedBlocksCounter?: number | undefined;
    } & { [K in Exclude<keyof I, keyof ValidatorSigningInfo>]: never; }>(base?: I | undefined): ValidatorSigningInfo;
    fromPartial<I_1 extends {
        address?: string | undefined;
        startHeight?: number | undefined;
        indexOffset?: number | undefined;
        jailedUntil?: Date | undefined;
        tombstoned?: boolean | undefined;
        missedBlocksCounter?: number | undefined;
    } & {
        address?: string | undefined;
        startHeight?: number | undefined;
        indexOffset?: number | undefined;
        jailedUntil?: Date | undefined;
        tombstoned?: boolean | undefined;
        missedBlocksCounter?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof ValidatorSigningInfo>]: never; }>(object: I_1): ValidatorSigningInfo;
};
/** Params represents the parameters used for by the slashing module. */
interface Params$1 {
    signedBlocksWindow: number;
    minSignedPerWindow: Uint8Array;
    downtimeJailDuration: Duration | undefined;
    slashFractionDoubleSign: Uint8Array;
    slashFractionDowntime: Uint8Array;
}
declare const Params$1: {
    encode(message: Params$1, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Params$1;
    fromJSON(object: any): Params$1;
    toJSON(message: Params$1): unknown;
    create<I extends {
        signedBlocksWindow?: number | undefined;
        minSignedPerWindow?: Uint8Array | undefined;
        downtimeJailDuration?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
        slashFractionDoubleSign?: Uint8Array | undefined;
        slashFractionDowntime?: Uint8Array | undefined;
    } & {
        signedBlocksWindow?: number | undefined;
        minSignedPerWindow?: Uint8Array | undefined;
        downtimeJailDuration?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & { [K in Exclude<keyof I["downtimeJailDuration"], keyof Duration>]: never; }) | undefined;
        slashFractionDoubleSign?: Uint8Array | undefined;
        slashFractionDowntime?: Uint8Array | undefined;
    } & { [K_1 in Exclude<keyof I, keyof Params$1>]: never; }>(base?: I | undefined): Params$1;
    fromPartial<I_1 extends {
        signedBlocksWindow?: number | undefined;
        minSignedPerWindow?: Uint8Array | undefined;
        downtimeJailDuration?: {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } | undefined;
        slashFractionDoubleSign?: Uint8Array | undefined;
        slashFractionDowntime?: Uint8Array | undefined;
    } & {
        signedBlocksWindow?: number | undefined;
        minSignedPerWindow?: Uint8Array | undefined;
        downtimeJailDuration?: ({
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & {
            seconds?: number | undefined;
            nanos?: number | undefined;
        } & { [K_2 in Exclude<keyof I_1["downtimeJailDuration"], keyof Duration>]: never; }) | undefined;
        slashFractionDoubleSign?: Uint8Array | undefined;
        slashFractionDowntime?: Uint8Array | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof Params$1>]: never; }>(object: I_1): Params$1;
};

/** QueryParamsRequest is the request type for the Query/Params RPC method */
interface QueryParamsRequest$2 {
}
declare const QueryParamsRequest$2: {
    encode(_: QueryParamsRequest$2, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest$2;
    fromJSON(_: any): QueryParamsRequest$2;
    toJSON(_: QueryParamsRequest$2): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): QueryParamsRequest$2;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): QueryParamsRequest$2;
};
/** QueryParamsResponse is the response type for the Query/Params RPC method */
interface QueryParamsResponse$2 {
    params: Params$1 | undefined;
}
declare const QueryParamsResponse$2: {
    encode(message: QueryParamsResponse$2, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse$2;
    fromJSON(object: any): QueryParamsResponse$2;
    toJSON(message: QueryParamsResponse$2): unknown;
    create<I extends {
        params?: {
            signedBlocksWindow?: number | undefined;
            minSignedPerWindow?: Uint8Array | undefined;
            downtimeJailDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            slashFractionDoubleSign?: Uint8Array | undefined;
            slashFractionDowntime?: Uint8Array | undefined;
        } | undefined;
    } & {
        params?: ({
            signedBlocksWindow?: number | undefined;
            minSignedPerWindow?: Uint8Array | undefined;
            downtimeJailDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            slashFractionDoubleSign?: Uint8Array | undefined;
            slashFractionDowntime?: Uint8Array | undefined;
        } & {
            signedBlocksWindow?: number | undefined;
            minSignedPerWindow?: Uint8Array | undefined;
            downtimeJailDuration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K in Exclude<keyof I["params"]["downtimeJailDuration"], keyof Duration>]: never; }) | undefined;
            slashFractionDoubleSign?: Uint8Array | undefined;
            slashFractionDowntime?: Uint8Array | undefined;
        } & { [K_1 in Exclude<keyof I["params"], keyof Params$1>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, "params">]: never; }>(base?: I | undefined): QueryParamsResponse$2;
    fromPartial<I_1 extends {
        params?: {
            signedBlocksWindow?: number | undefined;
            minSignedPerWindow?: Uint8Array | undefined;
            downtimeJailDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            slashFractionDoubleSign?: Uint8Array | undefined;
            slashFractionDowntime?: Uint8Array | undefined;
        } | undefined;
    } & {
        params?: ({
            signedBlocksWindow?: number | undefined;
            minSignedPerWindow?: Uint8Array | undefined;
            downtimeJailDuration?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            slashFractionDoubleSign?: Uint8Array | undefined;
            slashFractionDowntime?: Uint8Array | undefined;
        } & {
            signedBlocksWindow?: number | undefined;
            minSignedPerWindow?: Uint8Array | undefined;
            downtimeJailDuration?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_3 in Exclude<keyof I_1["params"]["downtimeJailDuration"], keyof Duration>]: never; }) | undefined;
            slashFractionDoubleSign?: Uint8Array | undefined;
            slashFractionDowntime?: Uint8Array | undefined;
        } & { [K_4 in Exclude<keyof I_1["params"], keyof Params$1>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, "params">]: never; }>(object: I_1): QueryParamsResponse$2;
};
/**
 * QuerySigningInfoRequest is the request type for the Query/SigningInfo RPC
 * method
 */
interface QuerySigningInfoRequest {
    /** cons_address is the address to query signing info of */
    consAddress: string;
}
declare const QuerySigningInfoRequest: {
    encode(message: QuerySigningInfoRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QuerySigningInfoRequest;
    fromJSON(object: any): QuerySigningInfoRequest;
    toJSON(message: QuerySigningInfoRequest): unknown;
    create<I extends {
        consAddress?: string | undefined;
    } & {
        consAddress?: string | undefined;
    } & { [K in Exclude<keyof I, "consAddress">]: never; }>(base?: I | undefined): QuerySigningInfoRequest;
    fromPartial<I_1 extends {
        consAddress?: string | undefined;
    } & {
        consAddress?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "consAddress">]: never; }>(object: I_1): QuerySigningInfoRequest;
};
/**
 * QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC
 * method
 */
interface QuerySigningInfoResponse {
    /** val_signing_info is the signing info of requested val cons address */
    valSigningInfo: ValidatorSigningInfo | undefined;
}
declare const QuerySigningInfoResponse: {
    encode(message: QuerySigningInfoResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QuerySigningInfoResponse;
    fromJSON(object: any): QuerySigningInfoResponse;
    toJSON(message: QuerySigningInfoResponse): unknown;
    create<I extends {
        valSigningInfo?: {
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        } | undefined;
    } & {
        valSigningInfo?: ({
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        } & {
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        } & { [K in Exclude<keyof I["valSigningInfo"], keyof ValidatorSigningInfo>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "valSigningInfo">]: never; }>(base?: I | undefined): QuerySigningInfoResponse;
    fromPartial<I_1 extends {
        valSigningInfo?: {
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        } | undefined;
    } & {
        valSigningInfo?: ({
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        } & {
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        } & { [K_2 in Exclude<keyof I_1["valSigningInfo"], keyof ValidatorSigningInfo>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "valSigningInfo">]: never; }>(object: I_1): QuerySigningInfoResponse;
};
/**
 * QuerySigningInfosRequest is the request type for the Query/SigningInfos RPC
 * method
 */
interface QuerySigningInfosRequest {
    pagination: PageRequest | undefined;
}
declare const QuerySigningInfosRequest: {
    encode(message: QuerySigningInfosRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QuerySigningInfosRequest;
    fromJSON(object: any): QuerySigningInfosRequest;
    toJSON(message: QuerySigningInfosRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QuerySigningInfosRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QuerySigningInfosRequest;
};
/**
 * QuerySigningInfosResponse is the response type for the Query/SigningInfos RPC
 * method
 */
interface QuerySigningInfosResponse {
    /** info is the signing info of all validators */
    info: ValidatorSigningInfo[];
    pagination: PageResponse | undefined;
}
declare const QuerySigningInfosResponse: {
    encode(message: QuerySigningInfosResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QuerySigningInfosResponse;
    fromJSON(object: any): QuerySigningInfosResponse;
    toJSON(message: QuerySigningInfosResponse): unknown;
    create<I extends {
        info?: {
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        info?: ({
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        }[] & ({
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        } & {
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        } & { [K in Exclude<keyof I["info"][number], keyof ValidatorSigningInfo>]: never; })[] & { [K_1 in Exclude<keyof I["info"], keyof {
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QuerySigningInfosResponse>]: never; }>(base?: I | undefined): QuerySigningInfosResponse;
    fromPartial<I_1 extends {
        info?: {
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        info?: ({
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        }[] & ({
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        } & {
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        } & { [K_4 in Exclude<keyof I_1["info"][number], keyof ValidatorSigningInfo>]: never; })[] & { [K_5 in Exclude<keyof I_1["info"], keyof {
            address?: string | undefined;
            startHeight?: number | undefined;
            indexOffset?: number | undefined;
            jailedUntil?: Date | undefined;
            tombstoned?: boolean | undefined;
            missedBlocksCounter?: number | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QuerySigningInfosResponse>]: never; }>(object: I_1): QuerySigningInfosResponse;
};
interface UnaryMethodDefinitionishR$2 extends grpc.UnaryMethodDefinition<any, any> {
    requestStream: any;
    responseStream: any;
}
type UnaryMethodDefinitionish$2 = UnaryMethodDefinitionishR$2;
declare class GrpcWebImpl$2 {
    private host;
    private options;
    constructor(host: string, options: {
        transport?: grpc.TransportFactory;
        debug?: boolean;
        metadata?: grpc.Metadata;
        upStreamRetryCodes?: number[];
    });
    unary<T extends UnaryMethodDefinitionish$2>(methodDesc: T, _request: any, metadata: grpc.Metadata | undefined): Promise<any>;
}
type Builtin$2 = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial$2<T> = T extends Builtin$2 ? T : T extends Array<infer U> ? Array<DeepPartial$2<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial$2<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial$2<T[K]>;
} : Partial<T>;

interface IQuerySlashing {
    /** Params queries the parameters of slashing module */
    queryParams(request: DeepPartial$2<QueryParamsRequest$2>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryParamsResponse$2>>;
    /** SigningInfo queries the signing info of given cons address */
    querySigningInfo(request: DeepPartial$2<QuerySigningInfoRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QuerySigningInfoResponse>>;
    /** SigningInfos queries signing info of all validators */
    querySigningInfos(request: DeepPartial$2<QuerySigningInfosRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QuerySigningInfosResponse>>;
}

/** QueryValidatorsRequest is request type for Query/Validators RPC method. */
interface QueryValidatorsRequest {
    /** status enables to query for validators matching a given status. */
    status: string;
    /** pagination defines an optional pagination for the request. */
    pagination: PageRequest | undefined;
}
declare const QueryValidatorsRequest: {
    encode(message: QueryValidatorsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryValidatorsRequest;
    fromJSON(object: any): QueryValidatorsRequest;
    toJSON(message: QueryValidatorsRequest): unknown;
    create<I extends {
        status?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        status?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof QueryValidatorsRequest>]: never; }>(base?: I | undefined): QueryValidatorsRequest;
    fromPartial<I_1 extends {
        status?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        status?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof QueryValidatorsRequest>]: never; }>(object: I_1): QueryValidatorsRequest;
};
/** QueryValidatorsResponse is response type for the Query/Validators RPC method */
interface QueryValidatorsResponse {
    /** validators contains all the queried validators. */
    validators: Validator$1[];
    /** pagination defines the pagination in the response. */
    pagination: PageResponse | undefined;
}
declare const QueryValidatorsResponse: {
    encode(message: QueryValidatorsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryValidatorsResponse;
    fromJSON(object: any): QueryValidatorsResponse;
    toJSON(message: QueryValidatorsResponse): unknown;
    create<I extends {
        validators?: {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        validators?: ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[] & ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        } & {
            operatorAddress?: string | undefined;
            consensusPubkey?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K in Exclude<keyof I["validators"][number]["consensusPubkey"], keyof Any>]: never; }) | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: ({
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & { [K_1 in Exclude<keyof I["validators"][number]["description"], keyof Description>]: never; }) | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: ({
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } & {
                commissionRates?: ({
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & { [K_2 in Exclude<keyof I["validators"][number]["commission"]["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
                updateTime?: Date | undefined;
            } & { [K_3 in Exclude<keyof I["validators"][number]["commission"], keyof Commission>]: never; }) | undefined;
            minSelfDelegation?: string | undefined;
        } & { [K_4 in Exclude<keyof I["validators"][number], keyof Validator$1>]: never; })[] & { [K_5 in Exclude<keyof I["validators"], keyof {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I, keyof QueryValidatorsResponse>]: never; }>(base?: I | undefined): QueryValidatorsResponse;
    fromPartial<I_1 extends {
        validators?: {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        validators?: ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[] & ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        } & {
            operatorAddress?: string | undefined;
            consensusPubkey?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_8 in Exclude<keyof I_1["validators"][number]["consensusPubkey"], keyof Any>]: never; }) | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: ({
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & { [K_9 in Exclude<keyof I_1["validators"][number]["description"], keyof Description>]: never; }) | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: ({
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } & {
                commissionRates?: ({
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & { [K_10 in Exclude<keyof I_1["validators"][number]["commission"]["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
                updateTime?: Date | undefined;
            } & { [K_11 in Exclude<keyof I_1["validators"][number]["commission"], keyof Commission>]: never; }) | undefined;
            minSelfDelegation?: string | undefined;
        } & { [K_12 in Exclude<keyof I_1["validators"][number], keyof Validator$1>]: never; })[] & { [K_13 in Exclude<keyof I_1["validators"], keyof {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_14 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_15 in Exclude<keyof I_1, keyof QueryValidatorsResponse>]: never; }>(object: I_1): QueryValidatorsResponse;
};
/** QueryValidatorRequest is response type for the Query/Validator RPC method */
interface QueryValidatorRequest {
    /** validator_addr defines the validator address to query for. */
    validatorAddr: string;
}
declare const QueryValidatorRequest: {
    encode(message: QueryValidatorRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryValidatorRequest;
    fromJSON(object: any): QueryValidatorRequest;
    toJSON(message: QueryValidatorRequest): unknown;
    create<I extends {
        validatorAddr?: string | undefined;
    } & {
        validatorAddr?: string | undefined;
    } & { [K in Exclude<keyof I, "validatorAddr">]: never; }>(base?: I | undefined): QueryValidatorRequest;
    fromPartial<I_1 extends {
        validatorAddr?: string | undefined;
    } & {
        validatorAddr?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "validatorAddr">]: never; }>(object: I_1): QueryValidatorRequest;
};
/** QueryValidatorResponse is response type for the Query/Validator RPC method */
interface QueryValidatorResponse {
    /** validator defines the the validator info. */
    validator: Validator$1 | undefined;
}
declare const QueryValidatorResponse: {
    encode(message: QueryValidatorResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryValidatorResponse;
    fromJSON(object: any): QueryValidatorResponse;
    toJSON(message: QueryValidatorResponse): unknown;
    create<I extends {
        validator?: {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        } | undefined;
    } & {
        validator?: ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        } & {
            operatorAddress?: string | undefined;
            consensusPubkey?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K in Exclude<keyof I["validator"]["consensusPubkey"], keyof Any>]: never; }) | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: ({
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & { [K_1 in Exclude<keyof I["validator"]["description"], keyof Description>]: never; }) | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: ({
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } & {
                commissionRates?: ({
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & { [K_2 in Exclude<keyof I["validator"]["commission"]["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
                updateTime?: Date | undefined;
            } & { [K_3 in Exclude<keyof I["validator"]["commission"], keyof Commission>]: never; }) | undefined;
            minSelfDelegation?: string | undefined;
        } & { [K_4 in Exclude<keyof I["validator"], keyof Validator$1>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I, "validator">]: never; }>(base?: I | undefined): QueryValidatorResponse;
    fromPartial<I_1 extends {
        validator?: {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        } | undefined;
    } & {
        validator?: ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        } & {
            operatorAddress?: string | undefined;
            consensusPubkey?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_6 in Exclude<keyof I_1["validator"]["consensusPubkey"], keyof Any>]: never; }) | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: ({
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & { [K_7 in Exclude<keyof I_1["validator"]["description"], keyof Description>]: never; }) | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: ({
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } & {
                commissionRates?: ({
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & { [K_8 in Exclude<keyof I_1["validator"]["commission"]["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
                updateTime?: Date | undefined;
            } & { [K_9 in Exclude<keyof I_1["validator"]["commission"], keyof Commission>]: never; }) | undefined;
            minSelfDelegation?: string | undefined;
        } & { [K_10 in Exclude<keyof I_1["validator"], keyof Validator$1>]: never; }) | undefined;
    } & { [K_11 in Exclude<keyof I_1, "validator">]: never; }>(object: I_1): QueryValidatorResponse;
};
/**
 * QueryValidatorDelegationsRequest is request type for the
 * Query/ValidatorDelegations RPC method
 */
interface QueryValidatorDelegationsRequest {
    /** validator_addr defines the validator address to query for. */
    validatorAddr: string;
    /** pagination defines an optional pagination for the request. */
    pagination: PageRequest | undefined;
}
declare const QueryValidatorDelegationsRequest: {
    encode(message: QueryValidatorDelegationsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryValidatorDelegationsRequest;
    fromJSON(object: any): QueryValidatorDelegationsRequest;
    toJSON(message: QueryValidatorDelegationsRequest): unknown;
    create<I extends {
        validatorAddr?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        validatorAddr?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof QueryValidatorDelegationsRequest>]: never; }>(base?: I | undefined): QueryValidatorDelegationsRequest;
    fromPartial<I_1 extends {
        validatorAddr?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        validatorAddr?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof QueryValidatorDelegationsRequest>]: never; }>(object: I_1): QueryValidatorDelegationsRequest;
};
/**
 * QueryValidatorDelegationsResponse is response type for the
 * Query/ValidatorDelegations RPC method
 */
interface QueryValidatorDelegationsResponse {
    delegationResponses: DelegationResponse[];
    /** pagination defines the pagination in the response. */
    pagination: PageResponse | undefined;
}
declare const QueryValidatorDelegationsResponse: {
    encode(message: QueryValidatorDelegationsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryValidatorDelegationsResponse;
    fromJSON(object: any): QueryValidatorDelegationsResponse;
    toJSON(message: QueryValidatorDelegationsResponse): unknown;
    create<I extends {
        delegationResponses?: {
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        delegationResponses?: ({
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        }[] & ({
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        } & {
            delegation?: ({
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } & {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } & { [K in Exclude<keyof I["delegationResponses"][number]["delegation"], keyof Delegation>]: never; }) | undefined;
            balance?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_1 in Exclude<keyof I["delegationResponses"][number]["balance"], keyof Coin>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["delegationResponses"][number], keyof DelegationResponse>]: never; })[] & { [K_3 in Exclude<keyof I["delegationResponses"], keyof {
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_4 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I, keyof QueryValidatorDelegationsResponse>]: never; }>(base?: I | undefined): QueryValidatorDelegationsResponse;
    fromPartial<I_1 extends {
        delegationResponses?: {
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        delegationResponses?: ({
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        }[] & ({
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        } & {
            delegation?: ({
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } & {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } & { [K_6 in Exclude<keyof I_1["delegationResponses"][number]["delegation"], keyof Delegation>]: never; }) | undefined;
            balance?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_7 in Exclude<keyof I_1["delegationResponses"][number]["balance"], keyof Coin>]: never; }) | undefined;
        } & { [K_8 in Exclude<keyof I_1["delegationResponses"][number], keyof DelegationResponse>]: never; })[] & { [K_9 in Exclude<keyof I_1["delegationResponses"], keyof {
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_10 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_11 in Exclude<keyof I_1, keyof QueryValidatorDelegationsResponse>]: never; }>(object: I_1): QueryValidatorDelegationsResponse;
};
/**
 * QueryValidatorUnbondingDelegationsRequest is required type for the
 * Query/ValidatorUnbondingDelegations RPC method
 */
interface QueryValidatorUnbondingDelegationsRequest {
    /** validator_addr defines the validator address to query for. */
    validatorAddr: string;
    /** pagination defines an optional pagination for the request. */
    pagination: PageRequest | undefined;
}
declare const QueryValidatorUnbondingDelegationsRequest: {
    encode(message: QueryValidatorUnbondingDelegationsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryValidatorUnbondingDelegationsRequest;
    fromJSON(object: any): QueryValidatorUnbondingDelegationsRequest;
    toJSON(message: QueryValidatorUnbondingDelegationsRequest): unknown;
    create<I extends {
        validatorAddr?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        validatorAddr?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof QueryValidatorUnbondingDelegationsRequest>]: never; }>(base?: I | undefined): QueryValidatorUnbondingDelegationsRequest;
    fromPartial<I_1 extends {
        validatorAddr?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        validatorAddr?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof QueryValidatorUnbondingDelegationsRequest>]: never; }>(object: I_1): QueryValidatorUnbondingDelegationsRequest;
};
/**
 * QueryValidatorUnbondingDelegationsResponse is response type for the
 * Query/ValidatorUnbondingDelegations RPC method.
 */
interface QueryValidatorUnbondingDelegationsResponse {
    unbondingResponses: UnbondingDelegation[];
    /** pagination defines the pagination in the response. */
    pagination: PageResponse | undefined;
}
declare const QueryValidatorUnbondingDelegationsResponse: {
    encode(message: QueryValidatorUnbondingDelegationsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryValidatorUnbondingDelegationsResponse;
    fromJSON(object: any): QueryValidatorUnbondingDelegationsResponse;
    toJSON(message: QueryValidatorUnbondingDelegationsResponse): unknown;
    create<I extends {
        unbondingResponses?: {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        unbondingResponses?: ({
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[] & ({
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        } & {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] & ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            } & {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            } & { [K in Exclude<keyof I["unbondingResponses"][number]["entries"][number], keyof UnbondingDelegationEntry>]: never; })[] & { [K_1 in Exclude<keyof I["unbondingResponses"][number]["entries"], keyof {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["unbondingResponses"][number], keyof UnbondingDelegation>]: never; })[] & { [K_3 in Exclude<keyof I["unbondingResponses"], keyof {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_4 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I, keyof QueryValidatorUnbondingDelegationsResponse>]: never; }>(base?: I | undefined): QueryValidatorUnbondingDelegationsResponse;
    fromPartial<I_1 extends {
        unbondingResponses?: {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        unbondingResponses?: ({
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[] & ({
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        } & {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] & ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            } & {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            } & { [K_6 in Exclude<keyof I_1["unbondingResponses"][number]["entries"][number], keyof UnbondingDelegationEntry>]: never; })[] & { [K_7 in Exclude<keyof I_1["unbondingResponses"][number]["entries"], keyof {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_8 in Exclude<keyof I_1["unbondingResponses"][number], keyof UnbondingDelegation>]: never; })[] & { [K_9 in Exclude<keyof I_1["unbondingResponses"], keyof {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_10 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_11 in Exclude<keyof I_1, keyof QueryValidatorUnbondingDelegationsResponse>]: never; }>(object: I_1): QueryValidatorUnbondingDelegationsResponse;
};
/** QueryDelegationRequest is request type for the Query/Delegation RPC method. */
interface QueryDelegationRequest {
    /** delegator_addr defines the delegator address to query for. */
    delegatorAddr: string;
    /** validator_addr defines the validator address to query for. */
    validatorAddr: string;
}
declare const QueryDelegationRequest: {
    encode(message: QueryDelegationRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegationRequest;
    fromJSON(object: any): QueryDelegationRequest;
    toJSON(message: QueryDelegationRequest): unknown;
    create<I extends {
        delegatorAddr?: string | undefined;
        validatorAddr?: string | undefined;
    } & {
        delegatorAddr?: string | undefined;
        validatorAddr?: string | undefined;
    } & { [K in Exclude<keyof I, keyof QueryDelegationRequest>]: never; }>(base?: I | undefined): QueryDelegationRequest;
    fromPartial<I_1 extends {
        delegatorAddr?: string | undefined;
        validatorAddr?: string | undefined;
    } & {
        delegatorAddr?: string | undefined;
        validatorAddr?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof QueryDelegationRequest>]: never; }>(object: I_1): QueryDelegationRequest;
};
/** QueryDelegationResponse is response type for the Query/Delegation RPC method. */
interface QueryDelegationResponse {
    /** delegation_responses defines the delegation info of a delegation. */
    delegationResponse: DelegationResponse | undefined;
}
declare const QueryDelegationResponse: {
    encode(message: QueryDelegationResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegationResponse;
    fromJSON(object: any): QueryDelegationResponse;
    toJSON(message: QueryDelegationResponse): unknown;
    create<I extends {
        delegationResponse?: {
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        } | undefined;
    } & {
        delegationResponse?: ({
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        } & {
            delegation?: ({
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } & {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } & { [K in Exclude<keyof I["delegationResponse"]["delegation"], keyof Delegation>]: never; }) | undefined;
            balance?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_1 in Exclude<keyof I["delegationResponse"]["balance"], keyof Coin>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["delegationResponse"], keyof DelegationResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, "delegationResponse">]: never; }>(base?: I | undefined): QueryDelegationResponse;
    fromPartial<I_1 extends {
        delegationResponse?: {
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        } | undefined;
    } & {
        delegationResponse?: ({
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        } & {
            delegation?: ({
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } & {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } & { [K_4 in Exclude<keyof I_1["delegationResponse"]["delegation"], keyof Delegation>]: never; }) | undefined;
            balance?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_5 in Exclude<keyof I_1["delegationResponse"]["balance"], keyof Coin>]: never; }) | undefined;
        } & { [K_6 in Exclude<keyof I_1["delegationResponse"], keyof DelegationResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, "delegationResponse">]: never; }>(object: I_1): QueryDelegationResponse;
};
/**
 * QueryUnbondingDelegationRequest is request type for the
 * Query/UnbondingDelegation RPC method.
 */
interface QueryUnbondingDelegationRequest {
    /** delegator_addr defines the delegator address to query for. */
    delegatorAddr: string;
    /** validator_addr defines the validator address to query for. */
    validatorAddr: string;
}
declare const QueryUnbondingDelegationRequest: {
    encode(message: QueryUnbondingDelegationRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryUnbondingDelegationRequest;
    fromJSON(object: any): QueryUnbondingDelegationRequest;
    toJSON(message: QueryUnbondingDelegationRequest): unknown;
    create<I extends {
        delegatorAddr?: string | undefined;
        validatorAddr?: string | undefined;
    } & {
        delegatorAddr?: string | undefined;
        validatorAddr?: string | undefined;
    } & { [K in Exclude<keyof I, keyof QueryUnbondingDelegationRequest>]: never; }>(base?: I | undefined): QueryUnbondingDelegationRequest;
    fromPartial<I_1 extends {
        delegatorAddr?: string | undefined;
        validatorAddr?: string | undefined;
    } & {
        delegatorAddr?: string | undefined;
        validatorAddr?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof QueryUnbondingDelegationRequest>]: never; }>(object: I_1): QueryUnbondingDelegationRequest;
};
/**
 * QueryDelegationResponse is response type for the Query/UnbondingDelegation
 * RPC method.
 */
interface QueryUnbondingDelegationResponse {
    /** unbond defines the unbonding information of a delegation. */
    unbond: UnbondingDelegation | undefined;
}
declare const QueryUnbondingDelegationResponse: {
    encode(message: QueryUnbondingDelegationResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryUnbondingDelegationResponse;
    fromJSON(object: any): QueryUnbondingDelegationResponse;
    toJSON(message: QueryUnbondingDelegationResponse): unknown;
    create<I extends {
        unbond?: {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        } | undefined;
    } & {
        unbond?: ({
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        } & {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] & ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            } & {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            } & { [K in Exclude<keyof I["unbond"]["entries"][number], keyof UnbondingDelegationEntry>]: never; })[] & { [K_1 in Exclude<keyof I["unbond"]["entries"], keyof {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["unbond"], keyof UnbondingDelegation>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, "unbond">]: never; }>(base?: I | undefined): QueryUnbondingDelegationResponse;
    fromPartial<I_1 extends {
        unbond?: {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        } | undefined;
    } & {
        unbond?: ({
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        } & {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] & ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            } & {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            } & { [K_4 in Exclude<keyof I_1["unbond"]["entries"][number], keyof UnbondingDelegationEntry>]: never; })[] & { [K_5 in Exclude<keyof I_1["unbond"]["entries"], keyof {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_6 in Exclude<keyof I_1["unbond"], keyof UnbondingDelegation>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, "unbond">]: never; }>(object: I_1): QueryUnbondingDelegationResponse;
};
/**
 * QueryDelegatorDelegationsRequest is request type for the
 * Query/DelegatorDelegations RPC method.
 */
interface QueryDelegatorDelegationsRequest {
    /** delegator_addr defines the delegator address to query for. */
    delegatorAddr: string;
    /** pagination defines an optional pagination for the request. */
    pagination: PageRequest | undefined;
}
declare const QueryDelegatorDelegationsRequest: {
    encode(message: QueryDelegatorDelegationsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegatorDelegationsRequest;
    fromJSON(object: any): QueryDelegatorDelegationsRequest;
    toJSON(message: QueryDelegatorDelegationsRequest): unknown;
    create<I extends {
        delegatorAddr?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        delegatorAddr?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof QueryDelegatorDelegationsRequest>]: never; }>(base?: I | undefined): QueryDelegatorDelegationsRequest;
    fromPartial<I_1 extends {
        delegatorAddr?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        delegatorAddr?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof QueryDelegatorDelegationsRequest>]: never; }>(object: I_1): QueryDelegatorDelegationsRequest;
};
/**
 * QueryDelegatorDelegationsResponse is response type for the
 * Query/DelegatorDelegations RPC method.
 */
interface QueryDelegatorDelegationsResponse {
    /** delegation_responses defines all the delegations' info of a delegator. */
    delegationResponses: DelegationResponse[];
    /** pagination defines the pagination in the response. */
    pagination: PageResponse | undefined;
}
declare const QueryDelegatorDelegationsResponse: {
    encode(message: QueryDelegatorDelegationsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegatorDelegationsResponse;
    fromJSON(object: any): QueryDelegatorDelegationsResponse;
    toJSON(message: QueryDelegatorDelegationsResponse): unknown;
    create<I extends {
        delegationResponses?: {
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        delegationResponses?: ({
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        }[] & ({
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        } & {
            delegation?: ({
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } & {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } & { [K in Exclude<keyof I["delegationResponses"][number]["delegation"], keyof Delegation>]: never; }) | undefined;
            balance?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_1 in Exclude<keyof I["delegationResponses"][number]["balance"], keyof Coin>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["delegationResponses"][number], keyof DelegationResponse>]: never; })[] & { [K_3 in Exclude<keyof I["delegationResponses"], keyof {
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_4 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I, keyof QueryDelegatorDelegationsResponse>]: never; }>(base?: I | undefined): QueryDelegatorDelegationsResponse;
    fromPartial<I_1 extends {
        delegationResponses?: {
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        delegationResponses?: ({
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        }[] & ({
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        } & {
            delegation?: ({
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } & {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } & { [K_6 in Exclude<keyof I_1["delegationResponses"][number]["delegation"], keyof Delegation>]: never; }) | undefined;
            balance?: ({
                denom?: string | undefined;
                amount?: string | undefined;
            } & {
                denom?: string | undefined;
                amount?: string | undefined;
            } & { [K_7 in Exclude<keyof I_1["delegationResponses"][number]["balance"], keyof Coin>]: never; }) | undefined;
        } & { [K_8 in Exclude<keyof I_1["delegationResponses"][number], keyof DelegationResponse>]: never; })[] & { [K_9 in Exclude<keyof I_1["delegationResponses"], keyof {
            delegation?: {
                delegatorAddress?: string | undefined;
                validatorAddress?: string | undefined;
                shares?: string | undefined;
            } | undefined;
            balance?: {
                denom?: string | undefined;
                amount?: string | undefined;
            } | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_10 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_11 in Exclude<keyof I_1, keyof QueryDelegatorDelegationsResponse>]: never; }>(object: I_1): QueryDelegatorDelegationsResponse;
};
/**
 * QueryDelegatorUnbondingDelegationsRequest is request type for the
 * Query/DelegatorUnbondingDelegations RPC method.
 */
interface QueryDelegatorUnbondingDelegationsRequest {
    /** delegator_addr defines the delegator address to query for. */
    delegatorAddr: string;
    /** pagination defines an optional pagination for the request. */
    pagination: PageRequest | undefined;
}
declare const QueryDelegatorUnbondingDelegationsRequest: {
    encode(message: QueryDelegatorUnbondingDelegationsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegatorUnbondingDelegationsRequest;
    fromJSON(object: any): QueryDelegatorUnbondingDelegationsRequest;
    toJSON(message: QueryDelegatorUnbondingDelegationsRequest): unknown;
    create<I extends {
        delegatorAddr?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        delegatorAddr?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof QueryDelegatorUnbondingDelegationsRequest>]: never; }>(base?: I | undefined): QueryDelegatorUnbondingDelegationsRequest;
    fromPartial<I_1 extends {
        delegatorAddr?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        delegatorAddr?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof QueryDelegatorUnbondingDelegationsRequest>]: never; }>(object: I_1): QueryDelegatorUnbondingDelegationsRequest;
};
/**
 * QueryUnbondingDelegatorDelegationsResponse is response type for the
 * Query/UnbondingDelegatorDelegations RPC method.
 */
interface QueryDelegatorUnbondingDelegationsResponse {
    unbondingResponses: UnbondingDelegation[];
    /** pagination defines the pagination in the response. */
    pagination: PageResponse | undefined;
}
declare const QueryDelegatorUnbondingDelegationsResponse: {
    encode(message: QueryDelegatorUnbondingDelegationsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegatorUnbondingDelegationsResponse;
    fromJSON(object: any): QueryDelegatorUnbondingDelegationsResponse;
    toJSON(message: QueryDelegatorUnbondingDelegationsResponse): unknown;
    create<I extends {
        unbondingResponses?: {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        unbondingResponses?: ({
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[] & ({
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        } & {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] & ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            } & {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            } & { [K in Exclude<keyof I["unbondingResponses"][number]["entries"][number], keyof UnbondingDelegationEntry>]: never; })[] & { [K_1 in Exclude<keyof I["unbondingResponses"][number]["entries"], keyof {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_2 in Exclude<keyof I["unbondingResponses"][number], keyof UnbondingDelegation>]: never; })[] & { [K_3 in Exclude<keyof I["unbondingResponses"], keyof {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_4 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I, keyof QueryDelegatorUnbondingDelegationsResponse>]: never; }>(base?: I | undefined): QueryDelegatorUnbondingDelegationsResponse;
    fromPartial<I_1 extends {
        unbondingResponses?: {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        unbondingResponses?: ({
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[] & ({
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        } & {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] & ({
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            } & {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            } & { [K_6 in Exclude<keyof I_1["unbondingResponses"][number]["entries"][number], keyof UnbondingDelegationEntry>]: never; })[] & { [K_7 in Exclude<keyof I_1["unbondingResponses"][number]["entries"], keyof {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_8 in Exclude<keyof I_1["unbondingResponses"][number], keyof UnbondingDelegation>]: never; })[] & { [K_9 in Exclude<keyof I_1["unbondingResponses"], keyof {
            delegatorAddress?: string | undefined;
            validatorAddress?: string | undefined;
            entries?: {
                creationHeight?: number | undefined;
                completionTime?: Date | undefined;
                initialBalance?: string | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_10 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_11 in Exclude<keyof I_1, keyof QueryDelegatorUnbondingDelegationsResponse>]: never; }>(object: I_1): QueryDelegatorUnbondingDelegationsResponse;
};
/**
 * QueryRedelegationsRequest is request type for the Query/Redelegations RPC
 * method.
 */
interface QueryRedelegationsRequest {
    /** delegator_addr defines the delegator address to query for. */
    delegatorAddr: string;
    /** src_validator_addr defines the validator address to redelegate from. */
    srcValidatorAddr: string;
    /** dst_validator_addr defines the validator address to redelegate to. */
    dstValidatorAddr: string;
    /** pagination defines an optional pagination for the request. */
    pagination: PageRequest | undefined;
}
declare const QueryRedelegationsRequest: {
    encode(message: QueryRedelegationsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryRedelegationsRequest;
    fromJSON(object: any): QueryRedelegationsRequest;
    toJSON(message: QueryRedelegationsRequest): unknown;
    create<I extends {
        delegatorAddr?: string | undefined;
        srcValidatorAddr?: string | undefined;
        dstValidatorAddr?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        delegatorAddr?: string | undefined;
        srcValidatorAddr?: string | undefined;
        dstValidatorAddr?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof QueryRedelegationsRequest>]: never; }>(base?: I | undefined): QueryRedelegationsRequest;
    fromPartial<I_1 extends {
        delegatorAddr?: string | undefined;
        srcValidatorAddr?: string | undefined;
        dstValidatorAddr?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        delegatorAddr?: string | undefined;
        srcValidatorAddr?: string | undefined;
        dstValidatorAddr?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof QueryRedelegationsRequest>]: never; }>(object: I_1): QueryRedelegationsRequest;
};
/**
 * QueryRedelegationsResponse is response type for the Query/Redelegations RPC
 * method.
 */
interface QueryRedelegationsResponse {
    redelegationResponses: RedelegationResponse[];
    /** pagination defines the pagination in the response. */
    pagination: PageResponse | undefined;
}
declare const QueryRedelegationsResponse: {
    encode(message: QueryRedelegationsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryRedelegationsResponse;
    fromJSON(object: any): QueryRedelegationsResponse;
    toJSON(message: QueryRedelegationsResponse): unknown;
    create<I extends {
        redelegationResponses?: {
            redelegation?: {
                delegatorAddress?: string | undefined;
                validatorSrcAddress?: string | undefined;
                validatorDstAddress?: string | undefined;
                entries?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                }[] | undefined;
            } | undefined;
            entries?: {
                redelegationEntry?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        redelegationResponses?: ({
            redelegation?: {
                delegatorAddress?: string | undefined;
                validatorSrcAddress?: string | undefined;
                validatorDstAddress?: string | undefined;
                entries?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                }[] | undefined;
            } | undefined;
            entries?: {
                redelegationEntry?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[] & ({
            redelegation?: {
                delegatorAddress?: string | undefined;
                validatorSrcAddress?: string | undefined;
                validatorDstAddress?: string | undefined;
                entries?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                }[] | undefined;
            } | undefined;
            entries?: {
                redelegationEntry?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } | undefined;
                balance?: string | undefined;
            }[] | undefined;
        } & {
            redelegation?: ({
                delegatorAddress?: string | undefined;
                validatorSrcAddress?: string | undefined;
                validatorDstAddress?: string | undefined;
                entries?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                }[] | undefined;
            } & {
                delegatorAddress?: string | undefined;
                validatorSrcAddress?: string | undefined;
                validatorDstAddress?: string | undefined;
                entries?: ({
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                }[] & ({
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } & {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } & { [K in Exclude<keyof I["redelegationResponses"][number]["redelegation"]["entries"][number], keyof RedelegationEntry>]: never; })[] & { [K_1 in Exclude<keyof I["redelegationResponses"][number]["redelegation"]["entries"], keyof {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_2 in Exclude<keyof I["redelegationResponses"][number]["redelegation"], keyof Redelegation>]: never; }) | undefined;
            entries?: ({
                redelegationEntry?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } | undefined;
                balance?: string | undefined;
            }[] & ({
                redelegationEntry?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } | undefined;
                balance?: string | undefined;
            } & {
                redelegationEntry?: ({
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } & {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } & { [K_3 in Exclude<keyof I["redelegationResponses"][number]["entries"][number]["redelegationEntry"], keyof RedelegationEntry>]: never; }) | undefined;
                balance?: string | undefined;
            } & { [K_4 in Exclude<keyof I["redelegationResponses"][number]["entries"][number], keyof RedelegationEntryResponse>]: never; })[] & { [K_5 in Exclude<keyof I["redelegationResponses"][number]["entries"], keyof {
                redelegationEntry?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } | undefined;
                balance?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_6 in Exclude<keyof I["redelegationResponses"][number], keyof RedelegationResponse>]: never; })[] & { [K_7 in Exclude<keyof I["redelegationResponses"], keyof {
            redelegation?: {
                delegatorAddress?: string | undefined;
                validatorSrcAddress?: string | undefined;
                validatorDstAddress?: string | undefined;
                entries?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                }[] | undefined;
            } | undefined;
            entries?: {
                redelegationEntry?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_8 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_9 in Exclude<keyof I, keyof QueryRedelegationsResponse>]: never; }>(base?: I | undefined): QueryRedelegationsResponse;
    fromPartial<I_1 extends {
        redelegationResponses?: {
            redelegation?: {
                delegatorAddress?: string | undefined;
                validatorSrcAddress?: string | undefined;
                validatorDstAddress?: string | undefined;
                entries?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                }[] | undefined;
            } | undefined;
            entries?: {
                redelegationEntry?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        redelegationResponses?: ({
            redelegation?: {
                delegatorAddress?: string | undefined;
                validatorSrcAddress?: string | undefined;
                validatorDstAddress?: string | undefined;
                entries?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                }[] | undefined;
            } | undefined;
            entries?: {
                redelegationEntry?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[] & ({
            redelegation?: {
                delegatorAddress?: string | undefined;
                validatorSrcAddress?: string | undefined;
                validatorDstAddress?: string | undefined;
                entries?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                }[] | undefined;
            } | undefined;
            entries?: {
                redelegationEntry?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } | undefined;
                balance?: string | undefined;
            }[] | undefined;
        } & {
            redelegation?: ({
                delegatorAddress?: string | undefined;
                validatorSrcAddress?: string | undefined;
                validatorDstAddress?: string | undefined;
                entries?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                }[] | undefined;
            } & {
                delegatorAddress?: string | undefined;
                validatorSrcAddress?: string | undefined;
                validatorDstAddress?: string | undefined;
                entries?: ({
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                }[] & ({
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } & {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } & { [K_10 in Exclude<keyof I_1["redelegationResponses"][number]["redelegation"]["entries"][number], keyof RedelegationEntry>]: never; })[] & { [K_11 in Exclude<keyof I_1["redelegationResponses"][number]["redelegation"]["entries"], keyof {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                }[]>]: never; }) | undefined;
            } & { [K_12 in Exclude<keyof I_1["redelegationResponses"][number]["redelegation"], keyof Redelegation>]: never; }) | undefined;
            entries?: ({
                redelegationEntry?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } | undefined;
                balance?: string | undefined;
            }[] & ({
                redelegationEntry?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } | undefined;
                balance?: string | undefined;
            } & {
                redelegationEntry?: ({
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } & {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } & { [K_13 in Exclude<keyof I_1["redelegationResponses"][number]["entries"][number]["redelegationEntry"], keyof RedelegationEntry>]: never; }) | undefined;
                balance?: string | undefined;
            } & { [K_14 in Exclude<keyof I_1["redelegationResponses"][number]["entries"][number], keyof RedelegationEntryResponse>]: never; })[] & { [K_15 in Exclude<keyof I_1["redelegationResponses"][number]["entries"], keyof {
                redelegationEntry?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } | undefined;
                balance?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_16 in Exclude<keyof I_1["redelegationResponses"][number], keyof RedelegationResponse>]: never; })[] & { [K_17 in Exclude<keyof I_1["redelegationResponses"], keyof {
            redelegation?: {
                delegatorAddress?: string | undefined;
                validatorSrcAddress?: string | undefined;
                validatorDstAddress?: string | undefined;
                entries?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                }[] | undefined;
            } | undefined;
            entries?: {
                redelegationEntry?: {
                    creationHeight?: number | undefined;
                    completionTime?: Date | undefined;
                    initialBalance?: string | undefined;
                    sharesDst?: string | undefined;
                } | undefined;
                balance?: string | undefined;
            }[] | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_18 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_19 in Exclude<keyof I_1, keyof QueryRedelegationsResponse>]: never; }>(object: I_1): QueryRedelegationsResponse;
};
/**
 * QueryDelegatorValidatorsRequest is request type for the
 * Query/DelegatorValidators RPC method.
 */
interface QueryDelegatorValidatorsRequest {
    /** delegator_addr defines the delegator address to query for. */
    delegatorAddr: string;
    /** pagination defines an optional pagination for the request. */
    pagination: PageRequest | undefined;
}
declare const QueryDelegatorValidatorsRequest: {
    encode(message: QueryDelegatorValidatorsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegatorValidatorsRequest;
    fromJSON(object: any): QueryDelegatorValidatorsRequest;
    toJSON(message: QueryDelegatorValidatorsRequest): unknown;
    create<I extends {
        delegatorAddr?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        delegatorAddr?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof QueryDelegatorValidatorsRequest>]: never; }>(base?: I | undefined): QueryDelegatorValidatorsRequest;
    fromPartial<I_1 extends {
        delegatorAddr?: string | undefined;
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        delegatorAddr?: string | undefined;
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof QueryDelegatorValidatorsRequest>]: never; }>(object: I_1): QueryDelegatorValidatorsRequest;
};
/**
 * QueryDelegatorValidatorsResponse is response type for the
 * Query/DelegatorValidators RPC method.
 */
interface QueryDelegatorValidatorsResponse {
    /** validators defines the the validators' info of a delegator. */
    validators: Validator$1[];
    /** pagination defines the pagination in the response. */
    pagination: PageResponse | undefined;
}
declare const QueryDelegatorValidatorsResponse: {
    encode(message: QueryDelegatorValidatorsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegatorValidatorsResponse;
    fromJSON(object: any): QueryDelegatorValidatorsResponse;
    toJSON(message: QueryDelegatorValidatorsResponse): unknown;
    create<I extends {
        validators?: {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        validators?: ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[] & ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        } & {
            operatorAddress?: string | undefined;
            consensusPubkey?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K in Exclude<keyof I["validators"][number]["consensusPubkey"], keyof Any>]: never; }) | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: ({
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & { [K_1 in Exclude<keyof I["validators"][number]["description"], keyof Description>]: never; }) | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: ({
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } & {
                commissionRates?: ({
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & { [K_2 in Exclude<keyof I["validators"][number]["commission"]["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
                updateTime?: Date | undefined;
            } & { [K_3 in Exclude<keyof I["validators"][number]["commission"], keyof Commission>]: never; }) | undefined;
            minSelfDelegation?: string | undefined;
        } & { [K_4 in Exclude<keyof I["validators"][number], keyof Validator$1>]: never; })[] & { [K_5 in Exclude<keyof I["validators"], keyof {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I, keyof QueryDelegatorValidatorsResponse>]: never; }>(base?: I | undefined): QueryDelegatorValidatorsResponse;
    fromPartial<I_1 extends {
        validators?: {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        validators?: ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[] & ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        } & {
            operatorAddress?: string | undefined;
            consensusPubkey?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_8 in Exclude<keyof I_1["validators"][number]["consensusPubkey"], keyof Any>]: never; }) | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: ({
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & { [K_9 in Exclude<keyof I_1["validators"][number]["description"], keyof Description>]: never; }) | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: ({
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } & {
                commissionRates?: ({
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & { [K_10 in Exclude<keyof I_1["validators"][number]["commission"]["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
                updateTime?: Date | undefined;
            } & { [K_11 in Exclude<keyof I_1["validators"][number]["commission"], keyof Commission>]: never; }) | undefined;
            minSelfDelegation?: string | undefined;
        } & { [K_12 in Exclude<keyof I_1["validators"][number], keyof Validator$1>]: never; })[] & { [K_13 in Exclude<keyof I_1["validators"], keyof {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_14 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_15 in Exclude<keyof I_1, keyof QueryDelegatorValidatorsResponse>]: never; }>(object: I_1): QueryDelegatorValidatorsResponse;
};
/**
 * QueryDelegatorValidatorRequest is request type for the
 * Query/DelegatorValidator RPC method.
 */
interface QueryDelegatorValidatorRequest {
    /** delegator_addr defines the delegator address to query for. */
    delegatorAddr: string;
    /** validator_addr defines the validator address to query for. */
    validatorAddr: string;
}
declare const QueryDelegatorValidatorRequest: {
    encode(message: QueryDelegatorValidatorRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegatorValidatorRequest;
    fromJSON(object: any): QueryDelegatorValidatorRequest;
    toJSON(message: QueryDelegatorValidatorRequest): unknown;
    create<I extends {
        delegatorAddr?: string | undefined;
        validatorAddr?: string | undefined;
    } & {
        delegatorAddr?: string | undefined;
        validatorAddr?: string | undefined;
    } & { [K in Exclude<keyof I, keyof QueryDelegatorValidatorRequest>]: never; }>(base?: I | undefined): QueryDelegatorValidatorRequest;
    fromPartial<I_1 extends {
        delegatorAddr?: string | undefined;
        validatorAddr?: string | undefined;
    } & {
        delegatorAddr?: string | undefined;
        validatorAddr?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof QueryDelegatorValidatorRequest>]: never; }>(object: I_1): QueryDelegatorValidatorRequest;
};
/**
 * QueryDelegatorValidatorResponse response type for the
 * Query/DelegatorValidator RPC method.
 */
interface QueryDelegatorValidatorResponse {
    /** validator defines the the validator info. */
    validator: Validator$1 | undefined;
}
declare const QueryDelegatorValidatorResponse: {
    encode(message: QueryDelegatorValidatorResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryDelegatorValidatorResponse;
    fromJSON(object: any): QueryDelegatorValidatorResponse;
    toJSON(message: QueryDelegatorValidatorResponse): unknown;
    create<I extends {
        validator?: {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        } | undefined;
    } & {
        validator?: ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        } & {
            operatorAddress?: string | undefined;
            consensusPubkey?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K in Exclude<keyof I["validator"]["consensusPubkey"], keyof Any>]: never; }) | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: ({
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & { [K_1 in Exclude<keyof I["validator"]["description"], keyof Description>]: never; }) | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: ({
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } & {
                commissionRates?: ({
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & { [K_2 in Exclude<keyof I["validator"]["commission"]["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
                updateTime?: Date | undefined;
            } & { [K_3 in Exclude<keyof I["validator"]["commission"], keyof Commission>]: never; }) | undefined;
            minSelfDelegation?: string | undefined;
        } & { [K_4 in Exclude<keyof I["validator"], keyof Validator$1>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I, "validator">]: never; }>(base?: I | undefined): QueryDelegatorValidatorResponse;
    fromPartial<I_1 extends {
        validator?: {
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        } | undefined;
    } & {
        validator?: ({
            operatorAddress?: string | undefined;
            consensusPubkey?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: {
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } | undefined;
            minSelfDelegation?: string | undefined;
        } & {
            operatorAddress?: string | undefined;
            consensusPubkey?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_6 in Exclude<keyof I_1["validator"]["consensusPubkey"], keyof Any>]: never; }) | undefined;
            jailed?: boolean | undefined;
            status?: BondStatus | undefined;
            tokens?: string | undefined;
            delegatorShares?: string | undefined;
            description?: ({
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & {
                moniker?: string | undefined;
                identity?: string | undefined;
                website?: string | undefined;
                securityContact?: string | undefined;
                details?: string | undefined;
            } & { [K_7 in Exclude<keyof I_1["validator"]["description"], keyof Description>]: never; }) | undefined;
            unbondingHeight?: number | undefined;
            unbondingTime?: Date | undefined;
            commission?: ({
                commissionRates?: {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } | undefined;
                updateTime?: Date | undefined;
            } & {
                commissionRates?: ({
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & {
                    rate?: string | undefined;
                    maxRate?: string | undefined;
                    maxChangeRate?: string | undefined;
                } & { [K_8 in Exclude<keyof I_1["validator"]["commission"]["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
                updateTime?: Date | undefined;
            } & { [K_9 in Exclude<keyof I_1["validator"]["commission"], keyof Commission>]: never; }) | undefined;
            minSelfDelegation?: string | undefined;
        } & { [K_10 in Exclude<keyof I_1["validator"], keyof Validator$1>]: never; }) | undefined;
    } & { [K_11 in Exclude<keyof I_1, "validator">]: never; }>(object: I_1): QueryDelegatorValidatorResponse;
};
/**
 * QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo RPC
 * method.
 */
interface QueryHistoricalInfoRequest {
    /** height defines at which height to query the historical info. */
    height: number;
}
declare const QueryHistoricalInfoRequest: {
    encode(message: QueryHistoricalInfoRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryHistoricalInfoRequest;
    fromJSON(object: any): QueryHistoricalInfoRequest;
    toJSON(message: QueryHistoricalInfoRequest): unknown;
    create<I extends {
        height?: number | undefined;
    } & {
        height?: number | undefined;
    } & { [K in Exclude<keyof I, "height">]: never; }>(base?: I | undefined): QueryHistoricalInfoRequest;
    fromPartial<I_1 extends {
        height?: number | undefined;
    } & {
        height?: number | undefined;
    } & { [K_1 in Exclude<keyof I_1, "height">]: never; }>(object: I_1): QueryHistoricalInfoRequest;
};
/**
 * QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo RPC
 * method.
 */
interface QueryHistoricalInfoResponse {
    /** hist defines the historical info at the given height. */
    hist: HistoricalInfo | undefined;
}
declare const QueryHistoricalInfoResponse: {
    encode(message: QueryHistoricalInfoResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryHistoricalInfoResponse;
    fromJSON(object: any): QueryHistoricalInfoResponse;
    toJSON(message: QueryHistoricalInfoResponse): unknown;
    create<I extends {
        hist?: {
            header?: {
                version?: {
                    block?: number | undefined;
                    app?: number | undefined;
                } | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } | undefined;
            valset?: {
                operatorAddress?: string | undefined;
                consensusPubkey?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
                jailed?: boolean | undefined;
                status?: BondStatus | undefined;
                tokens?: string | undefined;
                delegatorShares?: string | undefined;
                description?: {
                    moniker?: string | undefined;
                    identity?: string | undefined;
                    website?: string | undefined;
                    securityContact?: string | undefined;
                    details?: string | undefined;
                } | undefined;
                unbondingHeight?: number | undefined;
                unbondingTime?: Date | undefined;
                commission?: {
                    commissionRates?: {
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } | undefined;
                    updateTime?: Date | undefined;
                } | undefined;
                minSelfDelegation?: string | undefined;
            }[] | undefined;
        } | undefined;
    } & {
        hist?: ({
            header?: {
                version?: {
                    block?: number | undefined;
                    app?: number | undefined;
                } | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } | undefined;
            valset?: {
                operatorAddress?: string | undefined;
                consensusPubkey?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
                jailed?: boolean | undefined;
                status?: BondStatus | undefined;
                tokens?: string | undefined;
                delegatorShares?: string | undefined;
                description?: {
                    moniker?: string | undefined;
                    identity?: string | undefined;
                    website?: string | undefined;
                    securityContact?: string | undefined;
                    details?: string | undefined;
                } | undefined;
                unbondingHeight?: number | undefined;
                unbondingTime?: Date | undefined;
                commission?: {
                    commissionRates?: {
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } | undefined;
                    updateTime?: Date | undefined;
                } | undefined;
                minSelfDelegation?: string | undefined;
            }[] | undefined;
        } & {
            header?: ({
                version?: {
                    block?: number | undefined;
                    app?: number | undefined;
                } | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } & {
                version?: ({
                    block?: number | undefined;
                    app?: number | undefined;
                } & {
                    block?: number | undefined;
                    app?: number | undefined;
                } & { [K in Exclude<keyof I["hist"]["header"]["version"], keyof Consensus>]: never; }) | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: ({
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } & {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: ({
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } & {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } & { [K_1 in Exclude<keyof I["hist"]["header"]["lastBlockId"]["partSetHeader"], keyof PartSetHeader>]: never; }) | undefined;
                } & { [K_2 in Exclude<keyof I["hist"]["header"]["lastBlockId"], keyof BlockID>]: never; }) | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } & { [K_3 in Exclude<keyof I["hist"]["header"], keyof Header>]: never; }) | undefined;
            valset?: ({
                operatorAddress?: string | undefined;
                consensusPubkey?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
                jailed?: boolean | undefined;
                status?: BondStatus | undefined;
                tokens?: string | undefined;
                delegatorShares?: string | undefined;
                description?: {
                    moniker?: string | undefined;
                    identity?: string | undefined;
                    website?: string | undefined;
                    securityContact?: string | undefined;
                    details?: string | undefined;
                } | undefined;
                unbondingHeight?: number | undefined;
                unbondingTime?: Date | undefined;
                commission?: {
                    commissionRates?: {
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } | undefined;
                    updateTime?: Date | undefined;
                } | undefined;
                minSelfDelegation?: string | undefined;
            }[] & ({
                operatorAddress?: string | undefined;
                consensusPubkey?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
                jailed?: boolean | undefined;
                status?: BondStatus | undefined;
                tokens?: string | undefined;
                delegatorShares?: string | undefined;
                description?: {
                    moniker?: string | undefined;
                    identity?: string | undefined;
                    website?: string | undefined;
                    securityContact?: string | undefined;
                    details?: string | undefined;
                } | undefined;
                unbondingHeight?: number | undefined;
                unbondingTime?: Date | undefined;
                commission?: {
                    commissionRates?: {
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } | undefined;
                    updateTime?: Date | undefined;
                } | undefined;
                minSelfDelegation?: string | undefined;
            } & {
                operatorAddress?: string | undefined;
                consensusPubkey?: ({
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & { [K_4 in Exclude<keyof I["hist"]["valset"][number]["consensusPubkey"], keyof Any>]: never; }) | undefined;
                jailed?: boolean | undefined;
                status?: BondStatus | undefined;
                tokens?: string | undefined;
                delegatorShares?: string | undefined;
                description?: ({
                    moniker?: string | undefined;
                    identity?: string | undefined;
                    website?: string | undefined;
                    securityContact?: string | undefined;
                    details?: string | undefined;
                } & {
                    moniker?: string | undefined;
                    identity?: string | undefined;
                    website?: string | undefined;
                    securityContact?: string | undefined;
                    details?: string | undefined;
                } & { [K_5 in Exclude<keyof I["hist"]["valset"][number]["description"], keyof Description>]: never; }) | undefined;
                unbondingHeight?: number | undefined;
                unbondingTime?: Date | undefined;
                commission?: ({
                    commissionRates?: {
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } | undefined;
                    updateTime?: Date | undefined;
                } & {
                    commissionRates?: ({
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } & {
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } & { [K_6 in Exclude<keyof I["hist"]["valset"][number]["commission"]["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
                    updateTime?: Date | undefined;
                } & { [K_7 in Exclude<keyof I["hist"]["valset"][number]["commission"], keyof Commission>]: never; }) | undefined;
                minSelfDelegation?: string | undefined;
            } & { [K_8 in Exclude<keyof I["hist"]["valset"][number], keyof Validator$1>]: never; })[] & { [K_9 in Exclude<keyof I["hist"]["valset"], keyof {
                operatorAddress?: string | undefined;
                consensusPubkey?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
                jailed?: boolean | undefined;
                status?: BondStatus | undefined;
                tokens?: string | undefined;
                delegatorShares?: string | undefined;
                description?: {
                    moniker?: string | undefined;
                    identity?: string | undefined;
                    website?: string | undefined;
                    securityContact?: string | undefined;
                    details?: string | undefined;
                } | undefined;
                unbondingHeight?: number | undefined;
                unbondingTime?: Date | undefined;
                commission?: {
                    commissionRates?: {
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } | undefined;
                    updateTime?: Date | undefined;
                } | undefined;
                minSelfDelegation?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_10 in Exclude<keyof I["hist"], keyof HistoricalInfo>]: never; }) | undefined;
    } & { [K_11 in Exclude<keyof I, "hist">]: never; }>(base?: I | undefined): QueryHistoricalInfoResponse;
    fromPartial<I_1 extends {
        hist?: {
            header?: {
                version?: {
                    block?: number | undefined;
                    app?: number | undefined;
                } | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } | undefined;
            valset?: {
                operatorAddress?: string | undefined;
                consensusPubkey?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
                jailed?: boolean | undefined;
                status?: BondStatus | undefined;
                tokens?: string | undefined;
                delegatorShares?: string | undefined;
                description?: {
                    moniker?: string | undefined;
                    identity?: string | undefined;
                    website?: string | undefined;
                    securityContact?: string | undefined;
                    details?: string | undefined;
                } | undefined;
                unbondingHeight?: number | undefined;
                unbondingTime?: Date | undefined;
                commission?: {
                    commissionRates?: {
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } | undefined;
                    updateTime?: Date | undefined;
                } | undefined;
                minSelfDelegation?: string | undefined;
            }[] | undefined;
        } | undefined;
    } & {
        hist?: ({
            header?: {
                version?: {
                    block?: number | undefined;
                    app?: number | undefined;
                } | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } | undefined;
            valset?: {
                operatorAddress?: string | undefined;
                consensusPubkey?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
                jailed?: boolean | undefined;
                status?: BondStatus | undefined;
                tokens?: string | undefined;
                delegatorShares?: string | undefined;
                description?: {
                    moniker?: string | undefined;
                    identity?: string | undefined;
                    website?: string | undefined;
                    securityContact?: string | undefined;
                    details?: string | undefined;
                } | undefined;
                unbondingHeight?: number | undefined;
                unbondingTime?: Date | undefined;
                commission?: {
                    commissionRates?: {
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } | undefined;
                    updateTime?: Date | undefined;
                } | undefined;
                minSelfDelegation?: string | undefined;
            }[] | undefined;
        } & {
            header?: ({
                version?: {
                    block?: number | undefined;
                    app?: number | undefined;
                } | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } & {
                version?: ({
                    block?: number | undefined;
                    app?: number | undefined;
                } & {
                    block?: number | undefined;
                    app?: number | undefined;
                } & { [K_12 in Exclude<keyof I_1["hist"]["header"]["version"], keyof Consensus>]: never; }) | undefined;
                chainId?: string | undefined;
                height?: number | undefined;
                time?: Date | undefined;
                lastBlockId?: ({
                    hash?: Uint8Array | undefined;
                    partSetHeader?: {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } | undefined;
                } & {
                    hash?: Uint8Array | undefined;
                    partSetHeader?: ({
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } & {
                        total?: number | undefined;
                        hash?: Uint8Array | undefined;
                    } & { [K_13 in Exclude<keyof I_1["hist"]["header"]["lastBlockId"]["partSetHeader"], keyof PartSetHeader>]: never; }) | undefined;
                } & { [K_14 in Exclude<keyof I_1["hist"]["header"]["lastBlockId"], keyof BlockID>]: never; }) | undefined;
                lastCommitHash?: Uint8Array | undefined;
                dataHash?: Uint8Array | undefined;
                validatorsHash?: Uint8Array | undefined;
                nextValidatorsHash?: Uint8Array | undefined;
                consensusHash?: Uint8Array | undefined;
                appHash?: Uint8Array | undefined;
                lastResultsHash?: Uint8Array | undefined;
                evidenceHash?: Uint8Array | undefined;
                proposerAddress?: Uint8Array | undefined;
            } & { [K_15 in Exclude<keyof I_1["hist"]["header"], keyof Header>]: never; }) | undefined;
            valset?: ({
                operatorAddress?: string | undefined;
                consensusPubkey?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
                jailed?: boolean | undefined;
                status?: BondStatus | undefined;
                tokens?: string | undefined;
                delegatorShares?: string | undefined;
                description?: {
                    moniker?: string | undefined;
                    identity?: string | undefined;
                    website?: string | undefined;
                    securityContact?: string | undefined;
                    details?: string | undefined;
                } | undefined;
                unbondingHeight?: number | undefined;
                unbondingTime?: Date | undefined;
                commission?: {
                    commissionRates?: {
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } | undefined;
                    updateTime?: Date | undefined;
                } | undefined;
                minSelfDelegation?: string | undefined;
            }[] & ({
                operatorAddress?: string | undefined;
                consensusPubkey?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
                jailed?: boolean | undefined;
                status?: BondStatus | undefined;
                tokens?: string | undefined;
                delegatorShares?: string | undefined;
                description?: {
                    moniker?: string | undefined;
                    identity?: string | undefined;
                    website?: string | undefined;
                    securityContact?: string | undefined;
                    details?: string | undefined;
                } | undefined;
                unbondingHeight?: number | undefined;
                unbondingTime?: Date | undefined;
                commission?: {
                    commissionRates?: {
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } | undefined;
                    updateTime?: Date | undefined;
                } | undefined;
                minSelfDelegation?: string | undefined;
            } & {
                operatorAddress?: string | undefined;
                consensusPubkey?: ({
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & { [K_16 in Exclude<keyof I_1["hist"]["valset"][number]["consensusPubkey"], keyof Any>]: never; }) | undefined;
                jailed?: boolean | undefined;
                status?: BondStatus | undefined;
                tokens?: string | undefined;
                delegatorShares?: string | undefined;
                description?: ({
                    moniker?: string | undefined;
                    identity?: string | undefined;
                    website?: string | undefined;
                    securityContact?: string | undefined;
                    details?: string | undefined;
                } & {
                    moniker?: string | undefined;
                    identity?: string | undefined;
                    website?: string | undefined;
                    securityContact?: string | undefined;
                    details?: string | undefined;
                } & { [K_17 in Exclude<keyof I_1["hist"]["valset"][number]["description"], keyof Description>]: never; }) | undefined;
                unbondingHeight?: number | undefined;
                unbondingTime?: Date | undefined;
                commission?: ({
                    commissionRates?: {
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } | undefined;
                    updateTime?: Date | undefined;
                } & {
                    commissionRates?: ({
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } & {
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } & { [K_18 in Exclude<keyof I_1["hist"]["valset"][number]["commission"]["commissionRates"], keyof CommissionRates>]: never; }) | undefined;
                    updateTime?: Date | undefined;
                } & { [K_19 in Exclude<keyof I_1["hist"]["valset"][number]["commission"], keyof Commission>]: never; }) | undefined;
                minSelfDelegation?: string | undefined;
            } & { [K_20 in Exclude<keyof I_1["hist"]["valset"][number], keyof Validator$1>]: never; })[] & { [K_21 in Exclude<keyof I_1["hist"]["valset"], keyof {
                operatorAddress?: string | undefined;
                consensusPubkey?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
                jailed?: boolean | undefined;
                status?: BondStatus | undefined;
                tokens?: string | undefined;
                delegatorShares?: string | undefined;
                description?: {
                    moniker?: string | undefined;
                    identity?: string | undefined;
                    website?: string | undefined;
                    securityContact?: string | undefined;
                    details?: string | undefined;
                } | undefined;
                unbondingHeight?: number | undefined;
                unbondingTime?: Date | undefined;
                commission?: {
                    commissionRates?: {
                        rate?: string | undefined;
                        maxRate?: string | undefined;
                        maxChangeRate?: string | undefined;
                    } | undefined;
                    updateTime?: Date | undefined;
                } | undefined;
                minSelfDelegation?: string | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_22 in Exclude<keyof I_1["hist"], keyof HistoricalInfo>]: never; }) | undefined;
    } & { [K_23 in Exclude<keyof I_1, "hist">]: never; }>(object: I_1): QueryHistoricalInfoResponse;
};
/** QueryPoolRequest is request type for the Query/Pool RPC method. */
interface QueryPoolRequest {
}
declare const QueryPoolRequest: {
    encode(_: QueryPoolRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryPoolRequest;
    fromJSON(_: any): QueryPoolRequest;
    toJSON(_: QueryPoolRequest): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): QueryPoolRequest;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): QueryPoolRequest;
};
/** QueryPoolResponse is response type for the Query/Pool RPC method. */
interface QueryPoolResponse {
    /** pool defines the pool info. */
    pool: Pool | undefined;
}
declare const QueryPoolResponse: {
    encode(message: QueryPoolResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryPoolResponse;
    fromJSON(object: any): QueryPoolResponse;
    toJSON(message: QueryPoolResponse): unknown;
    create<I extends {
        pool?: {
            notBondedTokens?: string | undefined;
            bondedTokens?: string | undefined;
        } | undefined;
    } & {
        pool?: ({
            notBondedTokens?: string | undefined;
            bondedTokens?: string | undefined;
        } & {
            notBondedTokens?: string | undefined;
            bondedTokens?: string | undefined;
        } & { [K in Exclude<keyof I["pool"], keyof Pool>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pool">]: never; }>(base?: I | undefined): QueryPoolResponse;
    fromPartial<I_1 extends {
        pool?: {
            notBondedTokens?: string | undefined;
            bondedTokens?: string | undefined;
        } | undefined;
    } & {
        pool?: ({
            notBondedTokens?: string | undefined;
            bondedTokens?: string | undefined;
        } & {
            notBondedTokens?: string | undefined;
            bondedTokens?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["pool"], keyof Pool>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pool">]: never; }>(object: I_1): QueryPoolResponse;
};
/** QueryParamsRequest is request type for the Query/Params RPC method. */
interface QueryParamsRequest$1 {
}
declare const QueryParamsRequest$1: {
    encode(_: QueryParamsRequest$1, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest$1;
    fromJSON(_: any): QueryParamsRequest$1;
    toJSON(_: QueryParamsRequest$1): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): QueryParamsRequest$1;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): QueryParamsRequest$1;
};
/** QueryParamsResponse is response type for the Query/Params RPC method. */
interface QueryParamsResponse$1 {
    /** params holds all the parameters of this module. */
    params: Params$8 | undefined;
}
declare const QueryParamsResponse$1: {
    encode(message: QueryParamsResponse$1, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse$1;
    fromJSON(object: any): QueryParamsResponse$1;
    toJSON(message: QueryParamsResponse$1): unknown;
    create<I extends {
        params?: {
            unbondingTime?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxValidators?: number | undefined;
            maxEntries?: number | undefined;
            historicalEntries?: number | undefined;
            bondDenom?: string | undefined;
        } | undefined;
    } & {
        params?: ({
            unbondingTime?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxValidators?: number | undefined;
            maxEntries?: number | undefined;
            historicalEntries?: number | undefined;
            bondDenom?: string | undefined;
        } & {
            unbondingTime?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K in Exclude<keyof I["params"]["unbondingTime"], keyof Duration>]: never; }) | undefined;
            maxValidators?: number | undefined;
            maxEntries?: number | undefined;
            historicalEntries?: number | undefined;
            bondDenom?: string | undefined;
        } & { [K_1 in Exclude<keyof I["params"], keyof Params$8>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, "params">]: never; }>(base?: I | undefined): QueryParamsResponse$1;
    fromPartial<I_1 extends {
        params?: {
            unbondingTime?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxValidators?: number | undefined;
            maxEntries?: number | undefined;
            historicalEntries?: number | undefined;
            bondDenom?: string | undefined;
        } | undefined;
    } & {
        params?: ({
            unbondingTime?: {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } | undefined;
            maxValidators?: number | undefined;
            maxEntries?: number | undefined;
            historicalEntries?: number | undefined;
            bondDenom?: string | undefined;
        } & {
            unbondingTime?: ({
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & {
                seconds?: number | undefined;
                nanos?: number | undefined;
            } & { [K_3 in Exclude<keyof I_1["params"]["unbondingTime"], keyof Duration>]: never; }) | undefined;
            maxValidators?: number | undefined;
            maxEntries?: number | undefined;
            historicalEntries?: number | undefined;
            bondDenom?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["params"], keyof Params$8>]: never; }) | undefined;
    } & { [K_5 in Exclude<keyof I_1, "params">]: never; }>(object: I_1): QueryParamsResponse$1;
};
interface UnaryMethodDefinitionishR$1 extends grpc.UnaryMethodDefinition<any, any> {
    requestStream: any;
    responseStream: any;
}
type UnaryMethodDefinitionish$1 = UnaryMethodDefinitionishR$1;
declare class GrpcWebImpl$1 {
    private host;
    private options;
    constructor(host: string, options: {
        transport?: grpc.TransportFactory;
        debug?: boolean;
        metadata?: grpc.Metadata;
        upStreamRetryCodes?: number[];
    });
    unary<T extends UnaryMethodDefinitionish$1>(methodDesc: T, _request: any, metadata: grpc.Metadata | undefined): Promise<any>;
}
type Builtin$1 = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial$1<T> = T extends Builtin$1 ? T : T extends Array<infer U> ? Array<DeepPartial$1<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial$1<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial$1<T[K]>;
} : Partial<T>;

interface IQueryStaking {
    /** Validators queries all validators that match the given status. */
    queryValidators(request: DeepPartial$1<QueryValidatorsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryValidatorsResponse>>;
    /** Validator queries validator info for given validator address. */
    queryValidator(request: DeepPartial$1<QueryValidatorRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryValidatorResponse>>;
    /** ValidatorDelegations queries delegate info for given validator. */
    queryValidatorDelegations(request: DeepPartial$1<QueryValidatorDelegationsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryValidatorDelegationsResponse>>;
    /** ValidatorUnbondingDelegations queries unbonding delegations of a validator. */
    queryValidatorUnbondingDelegations(request: DeepPartial$1<QueryValidatorUnbondingDelegationsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryValidatorUnbondingDelegationsResponse>>;
    /** Delegation queries delegate info for given validator delegator pair. */
    queryDelegation(request: DeepPartial$1<QueryDelegationRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryDelegationResponse>>;
    /**
     * UnbondingDelegation queries unbonding info for given validator delegator
     * pair.
     */
    queryUnbondingDelegation(request: DeepPartial$1<QueryUnbondingDelegationRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryUnbondingDelegationResponse>>;
    /** DelegatorDelegations queries all delegations of a given delegator address. */
    queryDelegatorDelegations(request: DeepPartial$1<QueryDelegatorDelegationsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryDelegatorDelegationsResponse>>;
    /**
     * DelegatorUnbondingDelegations queries all unbonding delegations of a given
     * delegator address.
     */
    queryDelegatorUnbondingDelegations(request: DeepPartial$1<QueryDelegatorUnbondingDelegationsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryDelegatorUnbondingDelegationsResponse>>;
    /** Redelegations queries redelegations of given address. */
    queryRedelegations(request: DeepPartial$1<QueryRedelegationsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryRedelegationsResponse>>;
    /**
     * DelegatorValidators queries all validators info for given delegator
     * address.
     */
    queryDelegatorValidators(request: DeepPartial$1<QueryDelegatorValidatorsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryDelegatorValidatorsResponse>>;
    /**
     * DelegatorValidator queries validator info for given delegator validator
     * pair.
     */
    queryDelegatorValidator(request: DeepPartial$1<QueryDelegatorValidatorRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryDelegatorValidatorResponse>>;
    /** HistoricalInfo queries the historical info for given height. */
    queryHistoricalInfo(request: DeepPartial$1<QueryHistoricalInfoRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryHistoricalInfoResponse>>;
    /** Pool queries the pool info. */
    queryPool(request: DeepPartial$1<QueryPoolRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryPoolResponse>>;
    /** Parameters queries the staking parameters. */
    queryParams(request: DeepPartial$1<QueryParamsRequest$1>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryParamsResponse$1>>;
}

interface NotiCounter {
    address: string;
    counter: number;
    blockedSenders: string;
}
declare const NotiCounter: {
    encode(message: NotiCounter, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): NotiCounter;
    fromJSON(object: any): NotiCounter;
    toJSON(message: NotiCounter): unknown;
    create<I extends {
        address?: string | undefined;
        counter?: number | undefined;
        blockedSenders?: string | undefined;
    } & {
        address?: string | undefined;
        counter?: number | undefined;
        blockedSenders?: string | undefined;
    } & { [K in Exclude<keyof I, keyof NotiCounter>]: never; }>(base?: I | undefined): NotiCounter;
    fromPartial<I_1 extends {
        address?: string | undefined;
        counter?: number | undefined;
        blockedSenders?: string | undefined;
    } & {
        address?: string | undefined;
        counter?: number | undefined;
        blockedSenders?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof NotiCounter>]: never; }>(object: I_1): NotiCounter;
};

interface Notifications {
    count: number;
    notification: string;
    address: string;
    sender: string;
}
declare const Notifications: {
    encode(message: Notifications, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Notifications;
    fromJSON(object: any): Notifications;
    toJSON(message: Notifications): unknown;
    create<I extends {
        count?: number | undefined;
        notification?: string | undefined;
        address?: string | undefined;
        sender?: string | undefined;
    } & {
        count?: number | undefined;
        notification?: string | undefined;
        address?: string | undefined;
        sender?: string | undefined;
    } & { [K in Exclude<keyof I, keyof Notifications>]: never; }>(base?: I | undefined): Notifications;
    fromPartial<I_1 extends {
        count?: number | undefined;
        notification?: string | undefined;
        address?: string | undefined;
        sender?: string | undefined;
    } & {
        count?: number | undefined;
        notification?: string | undefined;
        address?: string | undefined;
        sender?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof Notifications>]: never; }>(object: I_1): Notifications;
};

/** Params defines the parameters for the module. */
interface Params {
}
declare const Params: {
    encode(_: Params, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Params;
    fromJSON(_: any): Params;
    toJSON(_: Params): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): Params;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): Params;
};

/** QueryParamsRequest is request type for the Query/Params RPC method. */
interface QueryParamsRequest {
}
declare const QueryParamsRequest: {
    encode(_: QueryParamsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest;
    fromJSON(_: any): QueryParamsRequest;
    toJSON(_: QueryParamsRequest): unknown;
    create<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(base?: I | undefined): QueryParamsRequest;
    fromPartial<I_1 extends {} & {} & { [K_1 in Exclude<keyof I_1, never>]: never; }>(_: I_1): QueryParamsRequest;
};
/** QueryParamsResponse is response type for the Query/Params RPC method. */
interface QueryParamsResponse {
    /** params holds all the parameters of this module. */
    params: Params | undefined;
}
declare const QueryParamsResponse: {
    encode(message: QueryParamsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse;
    fromJSON(object: any): QueryParamsResponse;
    toJSON(message: QueryParamsResponse): unknown;
    create<I extends {
        params?: {} | undefined;
    } & {
        params?: ({} & {} & { [K in Exclude<keyof I["params"], never>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "params">]: never; }>(base?: I | undefined): QueryParamsResponse;
    fromPartial<I_1 extends {
        params?: {} | undefined;
    } & {
        params?: ({} & {} & { [K_2 in Exclude<keyof I_1["params"], never>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "params">]: never; }>(object: I_1): QueryParamsResponse;
};
interface QueryGetNotificationsRequest {
    count: number;
    address: string;
}
declare const QueryGetNotificationsRequest: {
    encode(message: QueryGetNotificationsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryGetNotificationsRequest;
    fromJSON(object: any): QueryGetNotificationsRequest;
    toJSON(message: QueryGetNotificationsRequest): unknown;
    create<I extends {
        count?: number | undefined;
        address?: string | undefined;
    } & {
        count?: number | undefined;
        address?: string | undefined;
    } & { [K in Exclude<keyof I, keyof QueryGetNotificationsRequest>]: never; }>(base?: I | undefined): QueryGetNotificationsRequest;
    fromPartial<I_1 extends {
        count?: number | undefined;
        address?: string | undefined;
    } & {
        count?: number | undefined;
        address?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, keyof QueryGetNotificationsRequest>]: never; }>(object: I_1): QueryGetNotificationsRequest;
};
interface QueryGetNotificationsResponse {
    notifications: Notifications | undefined;
}
declare const QueryGetNotificationsResponse: {
    encode(message: QueryGetNotificationsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryGetNotificationsResponse;
    fromJSON(object: any): QueryGetNotificationsResponse;
    toJSON(message: QueryGetNotificationsResponse): unknown;
    create<I extends {
        notifications?: {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        } | undefined;
    } & {
        notifications?: ({
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        } & {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        } & { [K in Exclude<keyof I["notifications"], keyof Notifications>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "notifications">]: never; }>(base?: I | undefined): QueryGetNotificationsResponse;
    fromPartial<I_1 extends {
        notifications?: {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        } | undefined;
    } & {
        notifications?: ({
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        } & {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["notifications"], keyof Notifications>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "notifications">]: never; }>(object: I_1): QueryGetNotificationsResponse;
};
interface QueryAllNotificationsRequest {
    pagination: PageRequest | undefined;
}
declare const QueryAllNotificationsRequest: {
    encode(message: QueryAllNotificationsRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllNotificationsRequest;
    fromJSON(object: any): QueryAllNotificationsRequest;
    toJSON(message: QueryAllNotificationsRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryAllNotificationsRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryAllNotificationsRequest;
};
interface QueryAllNotificationsResponse {
    notifications: Notifications[];
    pagination: PageResponse | undefined;
}
declare const QueryAllNotificationsResponse: {
    encode(message: QueryAllNotificationsResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllNotificationsResponse;
    fromJSON(object: any): QueryAllNotificationsResponse;
    toJSON(message: QueryAllNotificationsResponse): unknown;
    create<I extends {
        notifications?: {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        notifications?: ({
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        }[] & ({
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        } & {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        } & { [K in Exclude<keyof I["notifications"][number], keyof Notifications>]: never; })[] & { [K_1 in Exclude<keyof I["notifications"], keyof {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryAllNotificationsResponse>]: never; }>(base?: I | undefined): QueryAllNotificationsResponse;
    fromPartial<I_1 extends {
        notifications?: {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        notifications?: ({
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        }[] & ({
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        } & {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["notifications"][number], keyof Notifications>]: never; })[] & { [K_5 in Exclude<keyof I_1["notifications"], keyof {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryAllNotificationsResponse>]: never; }>(object: I_1): QueryAllNotificationsResponse;
};
interface QueryAllNotificationsByAddressRequest {
    pagination: PageRequest | undefined;
    address: string;
}
declare const QueryAllNotificationsByAddressRequest: {
    encode(message: QueryAllNotificationsByAddressRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllNotificationsByAddressRequest;
    fromJSON(object: any): QueryAllNotificationsByAddressRequest;
    toJSON(message: QueryAllNotificationsByAddressRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
        address?: string | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
        address?: string | undefined;
    } & { [K_1 in Exclude<keyof I, keyof QueryAllNotificationsByAddressRequest>]: never; }>(base?: I | undefined): QueryAllNotificationsByAddressRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
        address?: string | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
        address?: string | undefined;
    } & { [K_3 in Exclude<keyof I_1, keyof QueryAllNotificationsByAddressRequest>]: never; }>(object: I_1): QueryAllNotificationsByAddressRequest;
};
interface QueryAllNotificationsByAddressResponse {
    notifications: Notifications[];
    pagination: PageResponse | undefined;
}
declare const QueryAllNotificationsByAddressResponse: {
    encode(message: QueryAllNotificationsByAddressResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllNotificationsByAddressResponse;
    fromJSON(object: any): QueryAllNotificationsByAddressResponse;
    toJSON(message: QueryAllNotificationsByAddressResponse): unknown;
    create<I extends {
        notifications?: {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        notifications?: ({
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        }[] & ({
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        } & {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        } & { [K in Exclude<keyof I["notifications"][number], keyof Notifications>]: never; })[] & { [K_1 in Exclude<keyof I["notifications"], keyof {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryAllNotificationsByAddressResponse>]: never; }>(base?: I | undefined): QueryAllNotificationsByAddressResponse;
    fromPartial<I_1 extends {
        notifications?: {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        notifications?: ({
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        }[] & ({
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        } & {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["notifications"][number], keyof Notifications>]: never; })[] & { [K_5 in Exclude<keyof I_1["notifications"], keyof {
            count?: number | undefined;
            notification?: string | undefined;
            address?: string | undefined;
            sender?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryAllNotificationsByAddressResponse>]: never; }>(object: I_1): QueryAllNotificationsByAddressResponse;
};
interface QueryGetNotiCounterRequest {
    address: string;
}
declare const QueryGetNotiCounterRequest: {
    encode(message: QueryGetNotiCounterRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryGetNotiCounterRequest;
    fromJSON(object: any): QueryGetNotiCounterRequest;
    toJSON(message: QueryGetNotiCounterRequest): unknown;
    create<I extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K in Exclude<keyof I, "address">]: never; }>(base?: I | undefined): QueryGetNotiCounterRequest;
    fromPartial<I_1 extends {
        address?: string | undefined;
    } & {
        address?: string | undefined;
    } & { [K_1 in Exclude<keyof I_1, "address">]: never; }>(object: I_1): QueryGetNotiCounterRequest;
};
interface QueryGetNotiCounterResponse {
    notiCounter: NotiCounter | undefined;
}
declare const QueryGetNotiCounterResponse: {
    encode(message: QueryGetNotiCounterResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryGetNotiCounterResponse;
    fromJSON(object: any): QueryGetNotiCounterResponse;
    toJSON(message: QueryGetNotiCounterResponse): unknown;
    create<I extends {
        notiCounter?: {
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        } | undefined;
    } & {
        notiCounter?: ({
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        } & {
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        } & { [K in Exclude<keyof I["notiCounter"], keyof NotiCounter>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "notiCounter">]: never; }>(base?: I | undefined): QueryGetNotiCounterResponse;
    fromPartial<I_1 extends {
        notiCounter?: {
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        } | undefined;
    } & {
        notiCounter?: ({
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        } & {
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        } & { [K_2 in Exclude<keyof I_1["notiCounter"], keyof NotiCounter>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "notiCounter">]: never; }>(object: I_1): QueryGetNotiCounterResponse;
};
interface QueryAllNotiCounterRequest {
    pagination: PageRequest | undefined;
}
declare const QueryAllNotiCounterRequest: {
    encode(message: QueryAllNotiCounterRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllNotiCounterRequest;
    fromJSON(object: any): QueryAllNotiCounterRequest;
    toJSON(message: QueryAllNotiCounterRequest): unknown;
    create<I extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K in Exclude<keyof I["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "pagination">]: never; }>(base?: I | undefined): QueryAllNotiCounterRequest;
    fromPartial<I_1 extends {
        pagination?: {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } | undefined;
    } & {
        pagination?: ({
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & {
            key?: Uint8Array | undefined;
            offset?: number | undefined;
            limit?: number | undefined;
            countTotal?: boolean | undefined;
            reverse?: boolean | undefined;
        } & { [K_2 in Exclude<keyof I_1["pagination"], keyof PageRequest>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I_1, "pagination">]: never; }>(object: I_1): QueryAllNotiCounterRequest;
};
interface QueryAllNotiCounterResponse {
    notiCounter: NotiCounter[];
    pagination: PageResponse | undefined;
}
declare const QueryAllNotiCounterResponse: {
    encode(message: QueryAllNotiCounterResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllNotiCounterResponse;
    fromJSON(object: any): QueryAllNotiCounterResponse;
    toJSON(message: QueryAllNotiCounterResponse): unknown;
    create<I extends {
        notiCounter?: {
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        notiCounter?: ({
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        }[] & ({
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        } & {
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        } & { [K in Exclude<keyof I["notiCounter"][number], keyof NotiCounter>]: never; })[] & { [K_1 in Exclude<keyof I["notiCounter"], keyof {
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_2 in Exclude<keyof I["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_3 in Exclude<keyof I, keyof QueryAllNotiCounterResponse>]: never; }>(base?: I | undefined): QueryAllNotiCounterResponse;
    fromPartial<I_1 extends {
        notiCounter?: {
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        }[] | undefined;
        pagination?: {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } | undefined;
    } & {
        notiCounter?: ({
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        }[] & ({
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        } & {
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        } & { [K_4 in Exclude<keyof I_1["notiCounter"][number], keyof NotiCounter>]: never; })[] & { [K_5 in Exclude<keyof I_1["notiCounter"], keyof {
            address?: string | undefined;
            counter?: number | undefined;
            blockedSenders?: string | undefined;
        }[]>]: never; }) | undefined;
        pagination?: ({
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & {
            nextKey?: Uint8Array | undefined;
            total?: number | undefined;
        } & { [K_6 in Exclude<keyof I_1["pagination"], keyof PageResponse>]: never; }) | undefined;
    } & { [K_7 in Exclude<keyof I_1, keyof QueryAllNotiCounterResponse>]: never; }>(object: I_1): QueryAllNotiCounterResponse;
};
interface UnaryMethodDefinitionishR extends grpc.UnaryMethodDefinition<any, any> {
    requestStream: any;
    responseStream: any;
}
type UnaryMethodDefinitionish = UnaryMethodDefinitionishR;
declare class GrpcWebImpl {
    private host;
    private options;
    constructor(host: string, options: {
        transport?: grpc.TransportFactory;
        debug?: boolean;
        metadata?: grpc.Metadata;
        upStreamRetryCodes?: number[];
    });
    unary<T extends UnaryMethodDefinitionish>(methodDesc: T, _request: any, metadata: grpc.Metadata | undefined): Promise<any>;
}
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;

interface IQueryNotifications {
    /** Parameters queries the parameters of the module. */
    queryParams(request: DeepPartial<QueryParamsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryParamsResponse>>;
    /** Queries a Notifications by index. */
    queryNotifications(request: DeepPartial<QueryGetNotificationsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryGetNotificationsResponse>>;
    /** Queries a list of Notifications items. */
    queryNotificationsAll(request: DeepPartial<QueryAllNotificationsRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllNotificationsResponse>>;
    /** Queries a list of Notifications items by address. */
    queryNotificationsByAddress(request: DeepPartial<QueryAllNotificationsByAddressRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllNotificationsByAddressResponse>>;
    /** Queries a NotiCounter by index. */
    queryNotiCounter(request: DeepPartial<QueryGetNotiCounterRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryGetNotiCounterResponse>>;
    /** Queries a list of NotiCounter items. */
    queryNotiCounterAll(request: DeepPartial<QueryAllNotiCounterRequest>, metadata?: grpc.Metadata): Promise<SuccessNoUndefined<QueryAllNotiCounterResponse>>;
}

interface IAllQuery {
    /** Custom */
    fileTree: IQueryFileTree;
    jklMint: IQueryJklMint;
    notifications: IQueryNotifications;
    oracle: IQueryOracle;
    rns: IQueryRns;
    storage: IQueryStorage;
    /** Static */
    abci: IQueryABCI;
    bank: IQueryBank;
    distribution: IQueryDistribution;
    gov: IQueryGov;
    slashing: IQuerySlashing;
    staking: IQueryStaking;
}

interface IQueryBuilder {
    /** Custom */
    makeFileTreeQuery(): IQueryFileTree;
    makeJklMintQuery(): IQueryJklMint;
    makeOracleQuery(): IQueryOracle;
    makeRnsQuery(): IQueryRns;
    makeStorageQuery(): IQueryStorage;
    /** Static */
    makeABCIQuery(): IQueryABCI;
    makeBankQuery(): IQueryBank;
    makeDistributionQuery(): IQueryDistribution;
    makeGovQuery(): IQueryGov;
    makeSlashingQuery(): IQuerySlashing;
    makeStakingQuery(): IQueryStaking;
    /** Bundles */
    makeAllQuery(): IAllQuery;
}

declare namespace IQueryBuilder_d {
  export {
    IQueryBuilder as default,
  };
}

interface IProtoBuilder extends IQueryBuilder {
    /** General */
    makeMasterBroadcaster(): Promise<IGenBroadcaster>;
    /** Custom */
    makeFileTreeTx(): ITxFileTree;
    makeNotificationsTx(): ITxNotifications;
    makeOracleTx(): ITxOracle;
    makeRnsTx(): ITxRns;
    makeStorageTx(): ITxStorage;
    /** Static */
    makeBankTx(): ITxBank;
    makeDistributionTx(): ITxDistribution;
    makeGovTx(): ITxGov;
    makeSlashingTx(): ITxSlashing;
    makeStakingTx(): ITxStaking;
    /** Bundles */
    makeAllTx(): IAllTx;
}

declare namespace IProtoBuilder_d {
  export {
    IProtoBuilder as default,
  };
}

type TGrpc = GrpcWebImpl$b | GrpcWebImpl$a | GrpcWebImpl | GrpcWebImpl$9 | GrpcWebImpl$8 | GrpcWebImpl$7 | GrpcWebImpl$6 | GrpcWebImpl$5 | GrpcWebImpl$4 | GrpcWebImpl$3 | GrpcWebImpl$2 | GrpcWebImpl$1;
//# sourceMappingURL=IGrpcWebImpl.d.ts.map

declare class QueryBuilder implements IQueryBuilder {
    protected readonly GRpc: TGrpc;
    constructor(queryUrl?: string);
    /** General */
    makeAllQuery(): IAllQuery;
    /** Custom */
    makeFileTreeQuery(): IQueryFileTree;
    makeJklMintQuery(): IQueryJklMint;
    makeNotificationsQuery(): IQueryNotifications;
    makeOracleQuery(): IQueryOracle;
    makeRnsQuery(): IQueryRns;
    makeStorageQuery(): IQueryStorage;
    /** Static */
    makeABCIQuery(): IQueryABCI;
    makeBankQuery(): IQueryBank;
    makeDistributionQuery(): IQueryDistribution;
    makeGovQuery(): IQueryGov;
    makeSlashingQuery(): IQuerySlashing;
    makeStakingQuery(): IQueryStaking;
}
declare class ProtoBuilder extends QueryBuilder implements IProtoBuilder {
    private readonly signer;
    private readonly txUrl;
    constructor(signer: OfflineSigner, txUrl?: string, queryUrl?: string);
    /** General */
    makeMasterBroadcaster(): Promise<IGenBroadcaster>;
    makeAllTx(): IAllTx;
    /** Custom */
    makeFileTreeTx(): ITxFileTree;
    makeNotificationsTx(): ITxNotifications;
    makeOracleTx(): ITxOracle;
    makeRnsTx(): ITxRns;
    makeStorageTx(): ITxStorage;
    /** Static */
    makeBankTx(): ITxBank;
    makeDistributionTx(): ITxDistribution;
    makeGovTx(): ITxGov;
    makeSlashingTx(): ITxSlashing;
    makeStakingTx(): ITxStaking;
}

export { ABCIApplication, ABCIApplicationApplySnapshotChunkDesc, ABCIApplicationBeginBlockDesc, ABCIApplicationCheckTxDesc, ABCIApplicationClientImpl, ABCIApplicationCommitDesc, ABCIApplicationDeliverTxDesc, ABCIApplicationDesc, ABCIApplicationEchoDesc, ABCIApplicationEndBlockDesc, ABCIApplicationFlushDesc, ABCIApplicationInfoDesc, ABCIApplicationInitChainDesc, ABCIApplicationListSnapshotsDesc, ABCIApplicationLoadSnapshotChunkDesc, ABCIApplicationOfferSnapshotDesc, ABCIApplicationQueryDesc, ABCIApplicationSetOptionDesc, BlockParams, CheckTxType, ConsensusParams, Contracts, DeepPartial$6 as DeepPartial, Event, EventAttribute, Evidence, EvidenceType, Exact, FidCid, Files, GrpcWebError, GrpcWebImpl$6 as GrpcWebImpl, IAllQuery, IAllTx, IGenBroadcaster, IProtoBuilder_d as IProtoBuilder, IQueryABCI, IQueryBank, IQueryBuilder_d as IQueryBuilder, IQueryDistribution, IQueryFileTree, IQueryGov, IQueryJklMint, IQueryNotifications, IQueryOracle, IQueryRns, IQuerySlashing, IQueryStaking, IQueryStorage, ITxBank, ITxDistribution, ITxFileTree, ITxGov, ITxNotifications, ITxOracle, ITxRns, ITxSlashing, ITxStaking, ITxStorage, LastCommitInfo, NotiCounter, Notifications, PageResponse, ProposalStatus, ProtoBuilder, Pubkey, QueryAllNotiCounterResponse, QueryAllNotificationsByAddressResponse, QueryAllNotificationsResponse, QueryBuilder, QueryFileResponse, QueryFindFileResponse, QueryGetNotiCounterResponse, QueryGetNotificationsResponse, Request, RequestApplySnapshotChunk, RequestBeginBlock, RequestCheckTx, RequestCommit, RequestDeliverTx, RequestEcho, RequestEndBlock, RequestFlush, RequestInfo, RequestInitChain, RequestListSnapshots, RequestLoadSnapshotChunk, RequestOfferSnapshot, RequestQuery, RequestSetOption, Response, ResponseApplySnapshotChunk, ResponseApplySnapshotChunk_Result, ResponseBeginBlock, ResponseCheckTx, ResponseCommit, ResponseDeliverTx, ResponseEcho, ResponseEndBlock, ResponseException, ResponseFlush, ResponseInfo, ResponseInitChain, ResponseListSnapshots, ResponseLoadSnapshotChunk, ResponseOfferSnapshot, ResponseOfferSnapshot_Result, ResponseQuery, ResponseSetOption, SignAndBroadcastOptions, Snapshot, Strays, TMasterBroadcaster, TxBank, TxDistribution, TxFileTree, TxGov, TxNotifications, TxOracle, TxResult, TxRns, TxSlashing, TxStaking, TxStorage, Validator, ValidatorUpdate, VoteInfo, checkTxTypeFromJSON, checkTxTypeToJSON, evidenceTypeFromJSON, evidenceTypeToJSON, genBroadcaster, protobufPackage, responseApplySnapshotChunk_ResultFromJSON, responseApplySnapshotChunk_ResultToJSON, responseOfferSnapshot_ResultFromJSON, responseOfferSnapshot_ResultToJSON };
