import { Writable } from 'stream';
import { Filter } from '../types.ts';
import { MultiConnectionRealTimeFeedBase, PoolingClientBase, RealTimeFeedBase } from './realtimefeed.ts';
export declare class KucoinFuturesRealTimeFeed extends MultiConnectionRealTimeFeedBase {
    private _httpURL;
    protected _getRealTimeFeeds(exchange: string, filters: Filter<string>[], timeoutIntervalMS?: number, onError?: (error: Error) => void): Generator<KucoinFuturesSingleConnectionRealTimeFeed | KucoinFuturesContractDetailsClient, void, unknown>;
}
export declare class KucoinFuturesSingleConnectionRealTimeFeed extends RealTimeFeedBase {
    private readonly _httpURL;
    constructor(exchange: string, filters: Filter<string>[], _httpURL: string, timeoutIntervalMS: number | undefined, onError?: (error: Error) => void);
    protected wssURL: string;
    protected getWebSocketUrl(): Promise<string>;
    protected mapToSubscribeMessages(filters: Filter<string>[]): any[];
    protected provideManualSnapshots(filters: Filter<string>[], shouldCancel: () => boolean): Promise<void>;
    protected messageIsError(message: any): boolean;
    protected sendCustomPing: () => void;
    protected messageIsHeartbeat(msg: any): boolean;
}
declare class KucoinFuturesContractDetailsClient extends PoolingClientBase {
    private readonly _httpURL;
    constructor(exchange: string, _httpURL: string);
    protected poolDataToStream(outputStream: Writable): Promise<void>;
}
export {};
//# sourceMappingURL=kucoinfutures.d.ts.map