import type { AssetCtx, ClearinghouseState, OpenOrder } from '../core/types.js'; import type { HyperliquidClient, RealtimeBookSnapshot, RealtimeDataProvider } from '../core/client.js'; import { WebSocketManager, type WsEventMap } from '../core/ws.js'; /** * Runtime-owned WebSocket cache used transparently by HyperliquidClient read * methods. While the socket is healthy, automation code calling getAllMids, * getUserState(All), getSpotBalances, getMetaAndAssetCtxs, or getL2Book reads * this cache. Missing/stale data returns null so the client falls back to REST. */ export declare class AutomationRealtimeData implements RealtimeDataProvider { private readonly ws; private readonly client; private readonly user; private readonly unified; private readonly expectedOrderDexes; private mids; private assetCtxs; private clearinghouse; private spot; private books; private openOrders; private bookSubscriptions; private bookWaiters; constructor(ws: WebSocketManager, client: HyperliquidClient, user: string, unified: boolean | null, expectedOrderDexes?: string[]); get connected(): boolean; getAllMids(): Record | null; getMainAssetCtxs(): AssetCtx[] | null; getAllDexsAssetCtxs(): WsEventMap['allDexsAssetCtxs']['ctxs'] | null; getUserState(user: string, dex?: string): ClearinghouseState | null; getUserStateAll(user: string): ClearinghouseState | null; getSpotBalances(user: string): ReturnType; getOpenOrders(user: string): OpenOrder[] | null; getL2Book(coin: string): Promise; /** Wait briefly for initial subscription snapshots before the first strategy hook runs. */ waitUntilReady(timeoutMs?: number): Promise; readinessSummary(): { expectedOrderDexes: number; seededOrderDexes: number; missingOrderDexes: string[]; }; private coreFeedsReady; private sameUser; private fresh; } //# sourceMappingURL=realtime.d.ts.map