import { type KeplrEWallet, EventEmitter2 } from "@keplr-ewallet/ewallet-sdk-core";
import type { ChainInfo } from "@keplr-wallet/types";
import { enable } from "./api/enable";
import { experimentalSuggestChain } from "./api/experimental_suggest_chain";
export declare class CosmosEWallet {
    eWallet: KeplrEWallet;
    protected _cosmosChainInfo: ChainInfo[] | null;
    protected _cacheTime: number;
    eventEmitter: EventEmitter2 | null;
    constructor(eWallet: KeplrEWallet);
    enable: typeof enable;
    getPublicKey: () => Promise<Uint8Array<ArrayBufferLike>>;
    getCosmosChainInfo: () => Promise<ChainInfo[]>;
    experimentalSuggestChain: typeof experimentalSuggestChain;
    getAccounts: () => Promise<import("@cosmjs/amino").AccountData[]>;
    getOfflineSigner: (chainId: string, signOptions?: import("@keplr-wallet/types").KeplrSignOptions | undefined) => import("@cosmjs/proto-signing").OfflineDirectSigner;
    getOfflineSignerOnlyAmino: (chainId: string, signOptions?: import("@keplr-wallet/types").KeplrSignOptions | undefined) => import("@cosmjs/amino").OfflineAminoSigner;
    getOfflineSignerAuto: (chainId: string, signOptions?: import("@keplr-wallet/types").KeplrSignOptions | undefined) => Promise<import("@cosmjs/proto-signing").OfflineDirectSigner | import("@cosmjs/amino").OfflineAminoSigner>;
    getKey: (chainId: string) => Promise<import("@keplr-wallet/types").Key>;
    getKeysSettled: (chainIds: string[]) => Promise<import("@keplr-wallet/types").SettledResponse<import("@keplr-wallet/types").Key>[]>;
    sendTx: (chainId: string, tx: unknown, mode: "async" | "sync" | "block", options?: {
        silent?: boolean;
        onFulfill?: (tx: any) => void;
    } | undefined) => Promise<Uint8Array<ArrayBufferLike>>;
    signAmino: (chainId: string, signer: string, signDoc: import("@cosmjs/amino").StdSignDoc, signOptions?: import("@keplr-wallet/types").KeplrSignOptions | undefined) => Promise<import("@cosmjs/amino").AminoSignResponse>;
    signDirect: (chainId: string, signer: string, signDoc: import("./types").SignDoc, signOptions?: import("@keplr-wallet/types").KeplrSignOptions | undefined) => Promise<import("@cosmjs/proto-signing").DirectSignResponse>;
    signArbitrary: (chainId: string, signer: string, data: string | Uint8Array<ArrayBufferLike>) => Promise<import("@cosmjs/amino").StdSignature>;
    verifyArbitrary: (chainId: string, signer: string, data: string | Uint8Array<ArrayBufferLike>, signature: import("@cosmjs/amino").StdSignature) => Promise<boolean>;
    on: (eventType: keyof import("@keplr-ewallet/ewallet-sdk-core").KeplrCosmosEWalletEventTypeMap, handler: (payload: {} | {
        email: string;
        publicKey: string;
    }) => void) => Promise<void>;
    protected showModal: (data: import("@keplr-ewallet/ewallet-sdk-core").MakeCosmosSigData) => Promise<"approve" | "reject">;
    protected makeSignature: (signDocHash: Uint8Array<ArrayBufferLike>) => Promise<import("@keplr-ewallet/ewallet-sdk-core").SignOutput>;
    setupEventHandlers(): void;
}
