///
///
import { GeneratedType, OfflineSigner, EncodeObject } from "@cosmjs/proto-signing";
import Events from "../events";
import { StdFee } from "@cosmjs/launchpad";
import { Env } from "./env";
import { UnionToIntersection, Return, Constructor } from "./helpers";
import { Module } from "./modules";
import { EventEmitter } from "events";
import { ChainInfo } from "@keplr-wallet/types";
export declare class IgniteClient extends EventEmitter {
static plugins: Module[];
env: Env;
signer?: OfflineSigner;
registry: Array<[string, GeneratedType]>;
static plugin(plugin: T): (typeof IgniteClient & Constructor["module"]>>) | (typeof IgniteClient & Constructor["module"]>);
signAndBroadcast(msgs: EncodeObject[], fee: StdFee, memo: string): Promise;
gasEstimation({ msg, denom, memo }: {
msg: EncodeObject;
denom: string;
memo?: string;
}): Promise;
getSignedMessage({ msg, memo }: {
msg: EncodeObject;
memo?: string;
}): Promise;
signAndBroadcastWithNonNativeGasFee({ msg, denom, memo }: {
msg: EncodeObject;
denom: string;
gas: string;
memo?: string;
}): Promise;
constructor(env: Env, signer?: OfflineSigner);
useSigner(signer: OfflineSigner): void;
removeSigner(): void;
useEvents(): Promise;
useKeplr(keplrChainInfo?: Partial): Promise;
}