import { BookChange, BookTicker, DerivativeTicker, Trade } from '../types';
import { Mapper } from './mapper';
export declare class AscendexTradesMapper implements Mapper<'ascendex', Trade> {
    canHandle(message: AscendexTrade): boolean;
    getFilters(symbols?: string[]): {
        readonly channel: "trades";
        readonly symbols: string[] | undefined;
    }[];
    map(message: AscendexTrade, localTimestamp: Date): IterableIterator<Trade>;
}
export declare class AscendexBookChangeMapper implements Mapper<'ascendex', BookChange> {
    canHandle(message: AscendexDepthRealTime | AscendexDepthRealTimeSnapshot): boolean;
    getFilters(symbols?: string[]): ({
        readonly channel: "depth-realtime";
        readonly symbols: string[] | undefined;
    } | {
        readonly channel: "depth-snapshot-realtime";
        readonly symbols: string[] | undefined;
    })[];
    map(message: AscendexDepthRealTime | AscendexDepthRealTimeSnapshot, localTimestamp: Date): IterableIterator<BookChange>;
    protected mapBookLevel(level: AscendexPriceLevel): {
        price: number;
        amount: number;
    };
}
export declare class AscendexDerivativeTickerMapper implements Mapper<'ascendex', DerivativeTicker> {
    private readonly pendingTickerInfoHelper;
    canHandle(message: AscendexFuturesData | AscendexTrade): boolean;
    getFilters(symbols?: string[]): ({
        readonly channel: "futures-pricing-data";
        readonly symbols: string[];
    } | {
        readonly channel: "trades";
        readonly symbols: string[] | undefined;
    })[];
    map(message: AscendexFuturesData | AscendexTrade, localTimestamp: Date): IterableIterator<DerivativeTicker>;
}
export declare class AscendexBookTickerMapper implements Mapper<'ascendex', BookTicker> {
    canHandle(message: AscendexTicker): boolean;
    getFilters(symbols?: string[]): {
        readonly channel: "bbo";
        readonly symbols: string[] | undefined;
    }[];
    map(message: AscendexTicker, localTimestamp: Date): IterableIterator<BookTicker>;
}
type AscendexTrade = {
    m: 'trades';
    symbol: string;
    data: [{
        p: string;
        q: string;
        ts: number;
        bm: boolean;
        seqnum: number;
    }];
};
type AscendexPriceLevel = [string, string];
type AscendexDepthRealTime = {
    m: 'depth-realtime';
    symbol: 'XRP/USDT';
    data: {
        ts: 1621814400204;
        seqnum: 39862426;
        asks: AscendexPriceLevel[];
        bids: AscendexPriceLevel[];
    };
};
type AscendexDepthRealTimeSnapshot = {
    m: 'depth-snapshot-realtime';
    symbol: 'XRP/USDT';
    data: {
        ts: 0;
        seqnum: 39862426;
        asks: AscendexPriceLevel[];
        bids: AscendexPriceLevel[];
    };
};
type AscendexTicker = {
    m: 'bbo';
    symbol: string;
    data: {
        ts: number;
        bid?: AscendexPriceLevel;
        ask?: AscendexPriceLevel;
    };
};
type AscendexFuturesData = {
    m: 'futures-pricing-data';
    con: [
        {
            t: 1621814404114;
            s: 'BTC-PERP';
            mp: '34878.075977904';
            ip: '34697.17';
            oi: '80.6126';
            r: '0.000093633';
            f: 1621843200000;
            fi: 28800000;
        }
    ];
};
export {};
//# sourceMappingURL=ascendex.d.ts.map