import type { UnwrapArray, UnwrapPromise } from "@equilab/utils";
import type { Signer } from "@polkadot/types/types";
import type { useBase } from "../substrate/base";
import React from "react";
declare type BaseHook = typeof useBase;
declare type Web3AccountsMethod = NonNullable<ReturnType<BaseHook>["extensionDApp"]>["web3Accounts"];
export declare type Account = UnwrapArray<UnwrapPromise<ReturnType<Web3AccountsMethod>>>;
export declare type AccountWithPub = Account & {
    pub: string;
};
export declare const getVersion: (name?: string) => {
    name: string;
    version?: string | undefined;
};
export declare const ConnectProvider: React.FC<{
    name: string;
    useBase: BaseHook;
}>;
/** @deprecated switch to substrate connect context */
export declare const useAccounts: () => {
    name: string;
    connectError: Error | undefined;
    connect: (extName?: string | undefined) => Promise<import("@polkadot/extension-inject/types").InjectedAccountWithMeta[] | undefined>;
    disconnect: () => void;
    select: (accountOrAddress?: string | Account | AccountWithPub | undefined) => Promise<Signer | undefined>;
    extensions: import("@polkadot/extension-inject/types").InjectedExtension[] | undefined;
    accounts: AccountWithPub[] | undefined;
    account: AccountWithPub | undefined;
    installed: boolean;
    connected: boolean;
    signer: Signer | undefined;
    _debug: React.Dispatch<React.SetStateAction<string | undefined>>;
    updateMetadata: (debug?: boolean | undefined) => Promise<void>;
};
export {};
