import { BookChange, BookTicker, DerivativeTicker, Liquidation, Trade } from '../types.ts'; import { Mapper } from './mapper.ts'; export declare class LighterTradesMapper implements Mapper<'lighter', Trade> { canHandle(message: LighterTradeMessage): boolean; getFilters(symbols?: string[]): { channel: "trade"; symbols: string[] | undefined; }[]; map(message: LighterTradeMessage, localTimestamp: Date): IterableIterator; } export declare class LighterLiquidationMapper implements Mapper<'lighter', Liquidation> { canHandle(message: LighterTradeMessage): boolean; getFilters(symbols?: string[]): { channel: "trade"; symbols: string[] | undefined; }[]; map(message: LighterTradeMessage, localTimestamp: Date): IterableIterator; } export declare class LighterBookChangeMapper implements Mapper<'lighter', BookChange> { canHandle(message: LighterOrderBookMessage): boolean; getFilters(symbols?: string[]): { channel: "order_book"; symbols: string[] | undefined; }[]; map(message: LighterOrderBookMessage, localTimestamp: Date): IterableIterator; private mapLevel; } export declare class LighterBookTickerMapper implements Mapper<'lighter', BookTicker> { canHandle(message: LighterTickerMessage): boolean; getFilters(symbols?: string[]): { channel: "ticker"; symbols: string[] | undefined; }[]; map(message: LighterTickerMessage, localTimestamp: Date): IterableIterator; } export declare class LighterDerivativeTickerMapper implements Mapper<'lighter', DerivativeTicker> { private readonly pendingTickerInfoHelper; canHandle(message: LighterMarketStatsMessage): boolean; getFilters(_symbols?: string[]): { channel: "market_stats"; symbols: never[]; }[]; map(message: LighterMarketStatsMessage, localTimestamp: Date): IterableIterator; private iterateMarketStats; } type LighterLevel = { price: string; size: string; }; type LighterOrderBook = { asks: LighterLevel[]; bids: LighterLevel[]; code: number; nonce: number; begin_nonce: number; offset: number; last_updated_at: number; }; type LighterOrderBookMessage = { type: 'subscribed/order_book' | 'update/order_book'; channel: `order_book:${number}`; last_updated_at: number; offset: number; timestamp: number; order_book: LighterOrderBook; }; type LighterTicker = { s: string; a?: Partial; b?: Partial; last_updated_at: number; }; type LighterTickerMessage = { type: 'subscribed/ticker' | 'update/ticker'; channel: `ticker:${number}`; last_updated_at: number; nonce: number; ticker: LighterTicker; timestamp: number; }; type LighterTrade = { trade_id: number; trade_id_str: string; tx_hash: string; type: 'trade' | 'liquidation' | 'deleverage' | 'market-settlement'; market_id: number; size: string; price: string; usd_amount: string; ask_id: number; ask_id_str: string; bid_id: number; bid_id_str: string; ask_client_id: number; ask_client_id_str: string; bid_client_id: number; bid_client_id_str: string; ask_account_id: number; bid_account_id: number; is_maker_ask: boolean; block_height: number; timestamp: number; taker_fee?: number; taker_position_size_before?: string; taker_entry_quote_before?: string; taker_initial_margin_fraction_before?: number; taker_position_sign_changed?: boolean; taker_allocated_margin_usdc_before?: number; maker_fee?: number; maker_position_size_before?: string; maker_entry_quote_before?: string; maker_initial_margin_fraction_before?: number; maker_position_sign_changed?: boolean; transaction_time: number; ask_account_pnl?: string; bid_account_pnl?: string; }; type LighterTradeMessage = { type: 'subscribed/trade' | 'update/trade'; channel: `trade:${number}`; nonce: number; trades: LighterTrade[]; liquidation_trades?: LighterTrade[]; }; type LighterMarketStats = { symbol: string; market_id: number; index_price: string; mark_price: string; mid_price: string; open_interest: string; open_interest_limit: string; funding_clamp_small: string; funding_clamp_big: string; last_trade_price: string; current_funding_rate: string; funding_rate: string; funding_timestamp: number; daily_base_token_volume: number; daily_quote_token_volume: number; daily_price_low: number; daily_price_high: number; daily_price_change: number; }; type LighterMarketStatsAllMessage = { type: 'subscribed/market_stats' | 'update/market_stats'; channel: 'market_stats:all'; timestamp: number; market_stats: Record; }; type LighterMarketStatsMarketIdMessage = { type: 'subscribed/market_stats' | 'update/market_stats'; channel: `market_stats:${number}`; timestamp: number; market_stats: LighterMarketStats; }; type LighterMarketStatsMessage = LighterMarketStatsAllMessage | LighterMarketStatsMarketIdMessage; export {}; //# sourceMappingURL=lighter.d.ts.map