import type { TradeEvent } from "../types"; export interface TradeMarker { y: number; label: string; green: boolean; alpha: number; } export interface StreamLabel { y: number; text: string; green: boolean; life: number; maxLife: number; intensity: number; } export interface TradeStreamState { labels: StreamLabel[]; spawnTimer: number; smoothSpeed: number; lastSeenTime: number; } export declare function createTradeStreamState(): TradeStreamState; export declare const MAX_LABELS = 50; export declare const LABEL_LIFETIME = 6; /** * Advance the trade stream state by one frame. * Spawns labels from new trades at `chartBottom`, scrolls them upward with * deceleration, and expires labels that reach the top or run out of life. * * Pure worklet — no Skia imports. Mutates `state` in place. */ export declare function tickTradeStream(state: TradeStreamState, trades: TradeEvent[], dtMs: number, chartTop: number, chartBottom: number): void; /** * Convert internal StreamLabel state to TradeMarker array for the overlay. * Computes per-label alpha from fadeIn, fadeOut, and intensity. */ export declare function projectLabels(state: TradeStreamState, chartTop: number, chartH: number): TradeMarker[]; //# sourceMappingURL=trade.d.ts.map