import { Filter } from '../types.ts';
import { MultiConnectionRealTimeFeedBase, RealTimeFeedBase } from './realtimefeed.ts';
export declare class OkexRealTimeFeed extends MultiConnectionRealTimeFeedBase {
    protected _getRealTimeFeeds(exchange: string, filters: Filter<string>[], timeoutIntervalMS?: number, onError?: (error: Error) => void): Generator<OkexSingleRealTimeFeed, void, unknown>;
}
declare class OkexSingleRealTimeFeed extends RealTimeFeedBase {
    protected wssURL: string;
    constructor(wssURL: string, exchange: string, filters: Filter<string>[], timeoutIntervalMS: number | undefined, onError?: (error: Error) => void);
    private _hasCredentials;
    private secondsSinceEpoch;
    protected onConnected(): Promise<void>;
    protected mapToSubscribeMessages(filters: Filter<string>[]): any[];
    protected messageIsError(message: any): boolean;
    protected isIgnoredError(message: any): boolean;
}
export declare class OKCoinRealTimeFeed extends OkexSingleRealTimeFeed {
    constructor(exchange: string, filters: Filter<string>[], timeoutIntervalMS: number | undefined, onError?: (error: Error) => void);
}
export declare class OkexOptionsRealTimeFeed extends MultiConnectionRealTimeFeedBase {
    protected _getRealTimeFeeds(exchange: string, filters: Filter<string>[], timeoutIntervalMS?: number, onError?: (error: Error) => void): Generator<OkexOptionsSingleRealTimeFeed, void, unknown>;
}
declare class OkexOptionsSingleRealTimeFeed extends OkexSingleRealTimeFeed {
    protected wssURL: string;
    constructor(wssURL: string, exchange: string, filters: Filter<string>[], timeoutIntervalMS: number | undefined, onError?: (error: Error) => void);
    private _defaultIndexes;
    private _channelRequiresIndexNotSymbol;
    protected mapToSubscribeMessages(filters: Filter<string>[]): any[];
}
export {};
//# sourceMappingURL=okex.d.ts.map