import { Web3Version0Provider, Provider, Web3Version1Provider, EthersProvider } from '../publicTypes';
export declare const Eip1993Factories: {
    fromWeb3Version0Provider: typeof fromWeb3Version0Provider;
    fromWeb3Version1Provider: typeof fromWeb3Version1Provider;
    fromEthersProvider: typeof fromEthersProvider;
};
/**
 * Create a Provider instance from web3 0.x version provider
 * @param provider - an 0.x version provider from web3 ( must implement sendAsync(payload, callback) )
 * @see https://github.com/ethereum/web3.js/blob/0.20.7/lib/web3/httpprovider.js#L116
 */
declare function fromWeb3Version0Provider(provider: Web3Version0Provider): Provider;
/**
 * Create a Provider instance from web3 1.x version provider
 * @param provider - an 1.x version provider from web3 ( must implement send(payload, callback) )
 * @see https://github.com/ethereum/web3.js/blob/1.x/packages/web3-core-helpers/types/index.d.ts#L165
 * @see https://github.com/ethereum/web3.js/blob/1.x/packages/web3-providers-http/src/index.js#L95
 */
declare function fromWeb3Version1Provider(provider: Web3Version1Provider): Provider;
/**
 * Creates a Provider instance from a provider that implements Ethers Provider#call interface.
 * This wrapper support only `eth_call` method for now, which is enough for all the current Resolution functionality
 * @param provider - provider object
 * @see https://github.com/ethers-io/ethers.js/blob/v4-legacy/providers/abstract-provider.d.ts#L91
 * @see https://github.com/ethers-io/ethers.js/blob/v5.0.4/packages/abstract-provider/src.ts/index.ts#L224
 * @see https://docs.ethers.io/ethers.js/v5-beta/api-providers.html#jsonrpcprovider-inherits-from-provider
 * @see https://github.com/ethers-io/ethers.js/blob/master/packages/providers/src.ts/json-rpc-provider.ts
 */
declare function fromEthersProvider(provider: EthersProvider): Provider;
export {};
