import * as providers from '@ethersproject/providers';
export declare class RPCProviderCache {
    protected cacheTTL: number;
    pollingInterval: number;
    readonly providerCache: Record<string, {
        provider: providers.StaticJsonRpcProvider;
        expiresAt: number;
    }>;
    constructor(cacheTTL?: number, pollingInterval?: number);
    /**
     * getProvider is a wrapper around getting a provider. It's mainly repsonsible for
     * writing and reading from the providerCache. This reduces the setup time for each provider.
     * @param providerConfig<string> - the configuration, currently a string
     * @returns a StaticJsonRpcProvider
     */
    getProvider(providerConfig: string): providers.StaticJsonRpcProvider;
}
