import type { Provider } from 'ethers';
import { AbstractProvider } from 'ethers';
import { StrictStreamrClientConfig } from './Config';
export declare class RpcProviderSource {
    private readonly config;
    private provider?;
    private subProviders?;
    constructor(config: Pick<StrictStreamrClientConfig, 'contracts' | '_timeouts'>);
    getProvider(): Provider;
    /**
     * Use this method only if you need access each provider separately. In most cases it is better to use
     * the `getProvider` method as it provides better fail-safety.
     */
    getSubProviders(): AbstractProvider[];
}
