import { type AuthEvents, type ConnectOptions, type Handler, type Provider, type SignedTx, type SignerTx, type TypedData, type UserData } from '@waves/signer';
export declare class ProviderKeeper implements Provider {
    user: UserData | null;
    protected _apiPromise: Promise<WavesKeeper.TWavesKeeperApi>;
    protected _connectPromise: Promise<void>;
    private _connectResolve;
    private _options;
    private readonly _emitter;
    constructor();
    on<EVENT extends keyof AuthEvents>(event: EVENT, handler: Handler<AuthEvents[EVENT]>): Provider;
    once<EVENT extends keyof AuthEvents>(event: EVENT, handler: Handler<AuthEvents[EVENT]>): Provider;
    off<EVENT extends keyof AuthEvents>(event: EVENT, handler: Handler<AuthEvents[EVENT]>): Provider;
    connect(options: ConnectOptions): Promise<void>;
    login(): Promise<UserData>;
    logout(): Promise<void>;
    signMessage(data: string | number): Promise<string>;
    signTypedData(data: TypedData[]): Promise<string>;
    sign<T extends SignerTx>(toSign: T[]): Promise<SignedTx<T>>;
    sign<T extends SignerTx[]>(toSign: T): Promise<SignedTx<T>>;
    private _ensureApi;
}
export declare function isKeeperInstalled(): Promise<boolean>;
//# sourceMappingURL=index.d.ts.map