import { BookChange, Exchange, BookTicker, Trade } from '../types';
import { Mapper } from './mapper';
export declare class BybitSpotTradesMapper implements Mapper<'bybit-spot', Trade> {
    private readonly _exchange;
    constructor(_exchange: Exchange);
    canHandle(message: BybitSpotTradeMessage): boolean;
    getFilters(symbols?: string[]): {
        readonly channel: "trade";
        readonly symbols: string[] | undefined;
    }[];
    map(message: BybitSpotTradeMessage, localTimestamp: Date): IterableIterator<Trade>;
}
export declare class BybitSpotBookChangeMapper implements Mapper<'bybit-spot', BookChange> {
    protected readonly _exchange: Exchange;
    constructor(_exchange: Exchange);
    canHandle(message: BybitSpotDepthMessage): boolean;
    getFilters(symbols?: string[]): {
        readonly channel: "depth";
        readonly symbols: string[] | undefined;
    }[];
    map(message: BybitSpotDepthMessage, localTimestamp: Date): Generator<{
        readonly type: "book_change";
        readonly symbol: "RENUSDT";
        readonly exchange: "bitmex" | "deribit" | "binance-futures" | "binance-delivery" | "binance-options" | "binance-european-options" | "binance" | "ftx" | "okex-futures" | "okex-options" | "okex-swap" | "okex" | "okex-spreads" | "huobi-dm" | "huobi-dm-swap" | "huobi-dm-linear-swap" | "huobi" | "bitfinex-derivatives" | "bitfinex" | "coinbase" | "coinbase-international" | "cryptofacilities" | "kraken" | "bitstamp" | "gemini" | "poloniex" | "bybit" | "bybit-spot" | "bybit-options" | "phemex" | "delta" | "ftx-us" | "binance-us" | "gate-io-futures" | "gate-io" | "okcoin" | "bitflyer" | "hitbtc" | "coinflex" | "binance-jersey" | "binance-dex" | "upbit" | "ascendex" | "dydx" | "dydx-v4" | "serum" | "mango" | "huobi-dm-options" | "star-atlas" | "crypto-com" | "crypto-com-derivatives" | "kucoin" | "kucoin-futures" | "bitnomial" | "woo-x" | "blockchain-com" | "bitget" | "bitget-futures" | "hyperliquid";
        readonly isSnapshot: true;
        readonly bids: {
            price: number;
            amount: number;
        }[];
        readonly asks: {
            price: number;
            amount: number;
        }[];
        readonly timestamp: Date;
        readonly localTimestamp: Date;
    }, void, unknown>;
    private _mapBookLevel;
}
export declare class BybitSpotBookTickerMapper implements Mapper<'bybit-spot', BookTicker> {
    protected readonly _exchange: Exchange;
    constructor(_exchange: Exchange);
    canHandle(message: BybitSpotBookTickerMessage): boolean;
    getFilters(symbols?: string[]): {
        readonly channel: "bookTicker";
        readonly symbols: string[] | undefined;
    }[];
    map(message: BybitSpotBookTickerMessage, localTimestamp: Date): Generator<BookTicker, void, unknown>;
}
type BybitSpotBookTickerMessage = {
    topic: 'bookTicker';
    params: {
        symbol: 'BATUSDT';
        binary: 'false';
        symbolName: 'BATUSDT';
    };
    data: {
        symbol: 'BATUSDT';
        bidPrice: '0.3985';
        bidQty: '1919.99';
        askPrice: '0.3997';
        askQty: '3747.68';
        time: 1659311999973;
    };
};
type BybitSpotTradeMessage = {
    topic: 'trade';
    params: {
        symbol: 'XRP3SUSDT';
        binary: 'false';
        symbolName: 'XRP3SUSDT';
    };
    data: {
        v: '2220000000006443832';
        t: 1659312000387;
        p: '6.3957';
        q: '3.5962';
        m: boolean;
    };
};
type BybitSpotDepthMessage = {
    topic: 'depth';
    params: {
        symbol: 'RENUSDT';
        binary: 'false';
        symbolName: 'RENUSDT';
    };
    data: {
        s: 'RENUSDT';
        t: 1659312000390;
        v: '170667316_8244371_5';
        b: [['0.14348', '3249.63']];
        a: [['0.14457', '95.23']];
    };
};
export {};
//# sourceMappingURL=bybitspot.d.ts.map