import { DynamicModule } from '@nestjs/common';
import type { RateLimits, NetworkConfig } from '../../core/blockchain-provider/providers';
interface ProviderConnectionOptions {
    httpUrl?: string;
    wsUrl?: string;
}
export interface BlockchainProviderModuleOptions {
    isGlobal?: boolean;
    network: NetworkConfig;
    rateLimits: RateLimits;
    networkProviders: {
        type: 'ethersjs' | 'web3js';
        connections: Array<{
            httpUrl: string;
            wsUrl?: string;
        }>;
    };
    /**
     * If omitted, mempoolProviders = null → mempool is disabled.
     * WebSocket connections are required for subscribe-ws strategy.
     * HTTP RPC-only connections are valid for txpool-content strategy.
     */
    mempoolProviders?: {
        type: 'ethersjs' | 'web3js';
        connections: Array<ProviderConnectionOptions>;
    };
}
export declare class BlockchainProviderModule {
    static forRootAsync(options: BlockchainProviderModuleOptions): Promise<DynamicModule>;
}
export {};
