import { NodeProviderTypes } from './interfaces';
import type { RateLimits, NetworkConfig } from './interfaces';
import type { BaseNodeProvider, BaseNodeProviderOptions } from './base.provider';
export interface ProviderConnectionOptions {
    httpUrl: string;
    wsUrl?: string;
}
export interface ProviderCreateOptions {
    type: NodeProviderTypes;
    uniqName: string;
    httpUrl: string;
    wsUrl?: string;
    rateLimits: RateLimits;
    network: NetworkConfig;
}
export interface ProviderOptions {
    connection?: ProviderConnectionOptions;
    useFactory?: () => Promise<BaseNodeProvider> | BaseNodeProvider;
}
export declare function createProvider(options: ProviderCreateOptions): BaseNodeProvider<BaseNodeProviderOptions>;
