import { IProviderOptions, IProviderMappingEntry } from "../../helpers/types";
interface IProviderControllerOptions {
    providerOptions: IProviderOptions;
    network: string;
}
declare class ProviderController {
    private eventController;
    private injectedProvider;
    private providerMapping;
    private providerOptions;
    private network;
    constructor(opts: IProviderControllerOptions);
    generateProviderMapping(): void;
    shouldDisplayProvider(id: string): boolean;
    getProviders: () => {
        name: string;
        onClick: () => Promise<void>;
    }[];
    getProviderMappingEntry(id: string): IProviderMappingEntry | undefined;
    getProviderOption(id: string, field: string): any;
    connectTo: (id: string, connector: (providerPackage: any, opts: any) => Promise<any>) => Promise<void>;
    on(event: string, callback: (result: any) => void): () => void;
    off(event: string, callback?: (result: any) => void): void;
}
export default ProviderController;
//# sourceMappingURL=providers.d.ts.map