import { BookChange, Trade } from '../types.ts';
import { Mapper } from './mapper.ts';
export declare class BlockchainComTradesMapper implements Mapper<'blockchain-com', Trade> {
    canHandle(message: BlockchainComTradeMessage): boolean;
    getFilters(symbols?: string[]): {
        readonly channel: "trades";
        readonly symbols: string[] | undefined;
    }[];
    map(message: BlockchainComTradeMessage, localTimestamp: Date): IterableIterator<Trade>;
}
export declare class BlockchainComBookChangeMapper implements Mapper<'blockchain-com', BookChange> {
    canHandle(message: BlockchainComL2Message): boolean;
    getFilters(symbols?: string[]): {
        channel: string;
        symbols: string[] | undefined;
    }[];
    map(message: BlockchainComL2Message, localTimestamp: Date): IterableIterator<BookChange>;
    protected mapBookLevel(level: {
        px: number;
        qty: number;
    }): {
        price: number;
        amount: number;
    };
}
type BlockchainComTradeMessage = {
    seqnum: 408403;
    event: 'updated';
    channel: 'trades';
    symbol: 'ETH-USDT';
    timestamp: '2023-02-23T03:02:11.503718Z';
    side: 'sell';
    qty: 0.60192856;
    price: 1677.94;
    trade_id: '844558083396024';
};
type BlockchainComL2Message = {
    seqnum: 482554;
    event: 'updated';
    channel: 'l2';
    symbol: 'DOT-GBP';
    bids: [{
        num: 1;
        px: 6.08;
        qty: 137.77377093;
    }];
    asks: [];
    timestamp: '2023-02-23T03:02:11.535015Z';
} | {
    seqnum: 269087;
    event: 'snapshot';
    channel: 'l2';
    symbol: 'BTC-USD';
    bids: [{
        num: 1;
        px: 1.8;
        qty: 7.45715496;
    }];
    asks: [{
        num: 1;
        px: 24187.8;
        qty: 0.04175659;
    }];
    timestamp: '2023-02-23T00:00:00.127804Z';
};
export {};
//# sourceMappingURL=blockchaincom.d.ts.map