import type { MarketEvent } from "../domain/market"; import { type AuthUpdate, type UserUpdate } from "../domain/order/wire"; import type { OrderBook, WsTickerData } from "../domain/orderbook"; import type { DepositAssetPriceEvent, DepositPrice, PriceHistory } from "../domain/price_history"; import type { WsTrade } from "../domain/trade"; import type { OrderBookId, PubkeyStr, Resolution } from "../shared"; export * from "./client.node"; export * from "./subscriptions"; export type { IWsClient } from "./types"; export type MessageOut = { method: "subscribe"; params: import("./subscriptions").SubscribeParams; } | { method: "unsubscribe"; params: import("./subscriptions").UnsubscribeParams; } | { method: "ping"; }; export type MessageIn = { type: "book_update"; version: number; data: OrderBook; } | { type: "pong"; version: number; data: Record; } | { type: "user"; version: number; data: UserUpdate; } | { type: "error"; version: number; data: WsError; } | { type: "price_history"; version: number; data: PriceHistory; } | { type: "trades"; version: number; data: WsTrade; } | { type: "auth"; version: number; data: AuthUpdate; } | { type: "ticker"; version: number; data: WsTickerData; } | { type: "market"; version: number; data: MarketEvent; } | { type: "deposit_price"; version: number; data: DepositPrice; } | { type: "deposit_asset_price"; version: number; data: DepositAssetPriceEvent; }; export type Kind = MessageIn; export interface WsError { error: string; code?: string; orderbook_id?: string; wallet_address?: string; deposit_asset?: string; hint?: string; details?: string; } export type WsEvent = { type: "Message"; message: MessageIn; } | { type: "Connected"; } | { type: "Disconnected"; code?: number; reason: string; } | { type: "Error"; error: string; } | { type: "MaxReconnectReached"; }; export interface WsConfig { url: string; reconnect: boolean; maxReconnectAttempts: number; baseReconnectDelayMs: number; pingIntervalMs: number; pongTimeoutMs: number; } export declare const WS_DEFAULT_CONFIG: WsConfig; export declare enum ReadyState { Connecting = 0, Open = 1, Closing = 2, Closed = 3 } export declare function readyStateFrom(value: number): ReadyState; export declare function ping(): MessageOut; export declare function subscribeBooks(orderbookIds: OrderBookId[]): MessageOut; export declare function unsubscribeBooks(orderbookIds: OrderBookId[]): MessageOut; export declare function subscribeTrades(orderbookIds: OrderBookId[]): MessageOut; export declare function unsubscribeTrades(orderbookIds: OrderBookId[]): MessageOut; export declare function subscribeUser(walletAddress: PubkeyStr): MessageOut; export declare function unsubscribeUser(walletAddress: PubkeyStr): MessageOut; export declare function subscribePriceHistory(orderbookId: OrderBookId, resolution: Resolution): MessageOut; export declare function unsubscribePriceHistory(orderbookId: OrderBookId, resolution: Resolution): MessageOut; export declare function subscribeTicker(orderbookIds: OrderBookId[]): MessageOut; export declare function unsubscribeTicker(orderbookIds: OrderBookId[]): MessageOut; export declare function subscribeMarket(marketPubkey: PubkeyStr): MessageOut; export declare function unsubscribeMarket(marketPubkey: PubkeyStr): MessageOut; export declare function subscribeDepositPrice(depositAsset: string, resolution: Resolution): MessageOut; export declare function unsubscribeDepositPrice(depositAsset: string, resolution: Resolution): MessageOut; /** * Subscribe to the live spot price for one deposit asset (snapshot + * per-asset price ticks). Distinct from `subscribeDepositPrice`, which * carries OHLCV candles per resolution. */ export declare function subscribeDepositAssetPrice(depositAsset: string): MessageOut; export declare function unsubscribeDepositAssetPrice(depositAsset: string): MessageOut; export declare function parseMessageIn(input: string): MessageIn; //# sourceMappingURL=index.d.ts.map