interface LighterMarketDetail { marketId: number; symbol: string; lastTradePrice: number; } export interface LighterFundingEntry { marketId: number; symbol: string; rate: number; /** * Lighter's funding-rates endpoint sends mark_price intermittently — * not every row carries it. Consumers must resolve the actual mark price * by falling back to orderBookDetails.lastTradePrice when this is null. * SSOT rule #2 lives at the CONSUMER (resolve or skip), not here. */ markPrice: number | null; } export declare function fetchLighterOrderBookDetails(): Promise; export declare function fetchLighterOrderBookDetailsRaw(): Promise; export declare function fetchLighterFundingRates(): Promise; export declare function fetchLighterFundingRatesRaw(): Promise; export declare function parseLighterRaw(detailsRaw: unknown, fundingRaw: unknown): { rates: Map; prices: Map; }; export declare function pingLighter(): Promise<{ ok: boolean; latencyMs: number; status: number; }>; export {};