import { IChain } from '../utils';
import { providers, Signer, Contract } from 'ethers';
export declare function useBlockNumber(): number | undefined;
export declare function useContract<T extends Contract>(chain: IChain | null, nameOrAbi: any | undefined, address: string | undefined): T | undefined;
export declare const useERC20: (chain: IChain | null, address: string | undefined) => import("..").ERC20 | undefined;
export declare const DEFAULT_POLLING_INTERVAL = 5000;
export declare function useCallOnce<F extends (...args: any[]) => ReturnType<F>>(method: F | undefined, ...args: Parameters<F>): import("./async").AsyncRes<F | (() => undefined)>;
export declare function useCallPoll<F extends (...args: any[]) => ReturnType<F>>(seconds: number, method: F | undefined, ...args: Parameters<F>): import("./async").AsyncRes<F | (() => undefined)>;
export declare const useSignerOrProvider: (desiredChain: IChain | null) => Signer | providers.Provider | undefined;
