import { EventEmitter } from 'events';
import type { CandleData, PriceData, BasicPairData } from '@bottrade/shared';
export declare class BinanceWSManager extends EventEmitter {
    private favorites;
    private allPairs;
    private markPriceWs;
    private tickerWs;
    private markPricePingTimer;
    private tickerPingTimer;
    private tickerPollTimer;
    private markPriceReconnectAttempt;
    private tickerReconnectAttempt;
    private aggregateClosing;
    private activeRestUrl;
    private activeWsUrl;
    constructor(favoritePairs: string[]);
    private createFavoriteState;
    start(): Promise<void>;
    stop(): void;
    addFavorite(symbol: string): Promise<void>;
    removeFavorite(symbol: string): void;
    isFavorite(symbol: string): boolean;
    getFavoriteSymbols(): string[];
    getCandles(symbol: string): CandleData[];
    getPriceData(symbol: string): PriceData | undefined;
    getAllPairsData(): Map<string, BasicPairData>;
    getBasicPairData(symbol: string): BasicPairData | undefined;
    getConnectionStatus(): {
        favorites: number;
        aggregateStreams: number;
    };
    private connectAggregateStreams;
    private startBybitTickerPolling;
    private connectMarkPriceStream;
    private connectTickerStream;
    private scheduleAggregateReconnect;
    private closeAggregateWs;
    private initFavorite;
    private connectFavoriteWS;
    private connectBybitFavoriteWS;
    private handleFavoriteMessage;
    private handleBybitFavoriteMessage;
    private scheduleFavoriteReconnect;
    private cleanupConnection;
    private cleanupTimers;
    private findWorkingUrls;
    fetchCandles(symbol: string, attempt?: number, rateLimitRetries?: number): Promise<CandleData[]>;
}
//# sourceMappingURL=wsManager.d.ts.map