import { Account, IProvider, IWallet, Network } from './types';
export interface WalletOptions<P extends IProvider> {
    id: string;
    name: string;
    icon: string;
    docs: string;
    networks: Network[];
    origin: any;
    provider: P | null;
    label?: string;
}
export declare class Wallet<P extends IProvider> implements IWallet {
    readonly id: string;
    readonly origin: any;
    readonly name: string;
    readonly icon: string;
    readonly docs: string;
    readonly networks: Network[];
    readonly provider: P | null;
    private readonly _label?;
    account: Account | null;
    constructor({ id, origin, name, icon, docs, networks, provider, label }: WalletOptions<P>);
    get installed(): boolean;
    get label(): string;
    connect(): Promise<this>;
    clone(): Wallet<P>;
}
