import { BookChange, Trade } from '../types.ts';
import { Mapper } from './mapper.ts';
export declare const bitstampTradesMapper: Mapper<'bitstamp', Trade>;
export declare class BitstampBookChangeMapper implements Mapper<'bitstamp', BookChange> {
    private readonly _symbolToDepthInfoMapping;
    canHandle(message: BitstampTrade | BitstampDiffOrderBook | BitstampDiffOrderBookSnapshot): boolean;
    getFilters(symbols?: string[]): {
        readonly channel: "diff_order_book";
        readonly symbols: string[] | undefined;
    }[];
    map(message: BitstampDiffOrderBookSnapshot | BitstampDiffOrderBook, localTimestamp: Date): IterableIterator<BookChange>;
    private _mapBookDepthUpdate;
    private _mapBookLevel;
}
type BitstampTrade = {
    event: 'trade';
    channel: string;
    data: {
        microtimestamp: string;
        amount: number;
        price: number;
        type: number;
        id: number;
    };
};
type BitstampBookLevel = [string, string];
type BitstampDiffOrderBook = {
    data: {
        microtimestamp: string;
        timestamp: string;
        bids: BitstampBookLevel[];
        asks: BitstampBookLevel[];
    };
    event: 'data';
    channel: string;
};
type BitstampDiffOrderBookSnapshot = {
    event: 'snapshot';
    channel: string;
    data: {
        timestamp: string;
        microtimestamp?: string;
        bids: BitstampBookLevel[];
        asks: BitstampBookLevel[];
    };
};
export {};
//# sourceMappingURL=bitstamp.d.ts.map