export type SurfluxNetwork = "mainnet" | "testnet"; export type SurfluxStreamKind = "deepbook" | "deepbook-margin"; export type OhlcvTimeframe = "1m" | "5m" | "15m" | "1h" | "4h" | "1d"; export interface SurfluxClientOptions { restApiKey: string; sseApiKeys?: Record; network?: SurfluxNetwork; restBaseUrl?: string; streamBaseUrl?: string; } export interface SpotPool { pool_id: string; pool_name: string; base_asset_id: string; base_asset_decimals: number; base_asset_symbol: string; base_asset_name: string; quote_asset_id: string; quote_asset_decimals: number; quote_asset_symbol: string; quote_asset_name: string; min_size: number; lot_size: number; tick_size: number; } export interface OrderbookLevel { price: string; total_quantity: string; order_count: string; } export interface OrderbookResponse { pool_id: string; bids: OrderbookLevel[]; asks: OrderbookLevel[]; } export interface Trade { event_digest: string; digest: string; sender: string; checkpoint: number; checkpoint_timestamp_ms: number; package: string; pool_id: string; maker_order_id: string; taker_order_id: string; price: string; taker_fee: string; taker_fee_is_deep: boolean; maker_fee: string; maker_fee_is_deep: boolean; taker_is_bid: boolean; base_quantity: string; quote_quantity: string; maker_balance_manager_id: string; taker_balance_manager_id: string; onchain_timestamp: number; } export interface Candle { timestamp: string; open: string; high: string; low: string; close: string; volume_base: string; volume_quote: string; trade_count: number; } export interface PagedResponse { items: T[]; isLastPage: boolean; currentPage: number; perPage: number; } export interface NftAttribute { key: string; value: string; } export interface NftDecodedFields { id: { id: string; }; name?: string; image_url?: string; description?: string; attributes?: { contents: NftAttribute[]; }; [key: string]: unknown; } export interface NftDecodedDisplay { name?: string; image_url?: string; description?: string; [key: string]: unknown; } export interface KioskInfo { object_id: string; owner_cap_object_id: string; owner: string; personal_cap_object_id: string | null; checkpoint_id: string; created_at: string; updated_at: string; } export interface NftItem { object_id: string; object_type: string; owner_dynamic_field_object_id: string; kiosk_object_id: string | null; owner: string | null; checkpoint_id: string; decoded_fields: NftDecodedFields; decoded_display: NftDecodedDisplay; created_at: string; updated_at: string; kiosk: KioskInfo | null; } export interface HolderItem { owner: string; count: number; } export interface KioskResponse { kiosk: KioskInfo; items: NftItem[]; isLastPage: boolean; currentPage: number; perPage: number; } export interface SSEEvent { event: string; data: string; id?: string; } export interface TradeEvent { event: string; data: unknown; id?: string; pool: string; } export interface SSESubscribeOptions { kind?: SurfluxStreamKind; reconnect?: boolean; reconnectDelayMs?: number; onError?: (error: Error) => void; } export interface Subscription { stop(): void; } export interface PaginationOptions { page?: number; perPage?: number; } export interface TradesOptions { limit?: number; from?: number; to?: number; } export interface OhlcvOptions { limit?: number; from?: number; to?: number; } //# sourceMappingURL=types.d.ts.map