import { BaseConnectionManager, type ManagedProvider } from './base.manager';
import type { UniversalTransaction } from '../providers/interfaces';
export interface EvmMempoolProvider extends ManagedProvider {
    hasWebSocketSupport?: boolean;
    isWebSocketConnected?: boolean;
    subscribeToPendingTransactions(callback: (txHash: string) => void): {
        unsubscribe(): void;
    };
    getRawMempool(): Promise<Record<string, any>>;
    getTransactionByHash(hash: string): Promise<UniversalTransaction | null>;
}
export declare class MempoolConnectionManager<T extends EvmMempoolProvider = EvmMempoolProvider> extends BaseConnectionManager<T> {
    private activeProviderName;
    private _isAvailable;
    get isAvailable(): boolean;
    initialize(): Promise<void>;
    getActiveProvider(): T | null;
}
