/// <reference types="node" />
import { LogProvider, logProviderCallback } from './types';
import { Commitment, Connection, PublicKey } from '@solana/web3.js';
import { EventEmitter } from 'events';
export declare class WebSocketLogProvider implements LogProvider {
    private connection;
    private address;
    private commitment;
    private resubTimeoutMs?;
    private subscriptionId;
    private isUnsubscribing;
    private externalUnsubscribe;
    private receivingData;
    private timeoutId?;
    private reconnectAttempts;
    eventEmitter?: EventEmitter;
    private callback?;
    constructor(connection: Connection, address: PublicKey, commitment: Commitment, resubTimeoutMs?: number);
    subscribe(callback: logProviderCallback): Promise<boolean>;
    setSubscription(callback: logProviderCallback): void;
    isSubscribed(): boolean;
    unsubscribe(external?: boolean): Promise<boolean>;
    private setTimeout;
}
//# sourceMappingURL=webSocketLogProvider.d.ts.map