import { Window as KeplrWindow } from '@keplr-wallet/types';
import { OfflineAminoSigner, OfflineDirectSigner } from '@keplr-wallet/types/src/cosmjs';
import { BBNConfig, IBBNProvider } from '../../../types';
declare global {
    interface Window extends KeplrWindow {
    }
}
export declare const WALLET_PROVIDER_NAME = "Keplr";
export declare class KeplrProvider implements IBBNProvider {
    private keplr;
    private walletInfo;
    private chainId;
    private rpc;
    private chainData;
    constructor(keplr: Window["keplr"], config: BBNConfig);
    connectWallet(): Promise<void>;
    getAddress(): Promise<string>;
    getPublicKeyHex(): Promise<string>;
    getWalletProviderName(): Promise<string>;
    getWalletProviderIcon(): Promise<string>;
    getOfflineSigner(): Promise<OfflineAminoSigner & OfflineDirectSigner>;
    getOfflineSignerAuto(): Promise<OfflineAminoSigner | OfflineDirectSigner>;
    on: (eventName: string, callBack: () => void) => void;
    off: (eventName: string, callBack: () => void) => void;
}
