import type { EventStatus, CandleResolution, MarketSortField } from './enums.js'; export interface StatusResponse { node_connected: boolean; uptime_seconds: number; stream_length: number; events_stream_length: number; pending_txs: number; ws_subscribers: number; firehose_connections: number; redis_memory: string; state: StateSummary; } export interface StateSummary { market_count: number; wallet_count: number; metadata_count: number; events_buffered: number; events_processed: number; latest_block: number; } export interface ApiKeyResponse { api_key: string; name: string; rate_limit_per_minute: number; message: string; } export interface MarketSummary { token_id: string; last_price: number | null; volume_24h: number; trade_count_24h: number; last_trade_at: number | null; question?: string; slug?: string; outcomes?: string[]; condition_id?: string; end_date?: string; category?: string; market_type?: string; image?: string; icon?: string; neg_risk?: boolean; created_at?: string; active?: boolean; closed?: boolean; last_status?: EventStatus | null; } export interface MarketsResponse { count: number; total: number; markets: MarketSummary[]; } export interface MarketDetail { [key: string]: unknown; } export interface MarketsListResponse { count: number; total: number; cursor?: number; markets: MarketSummary[]; } export interface SearchResponse { query: string; count: number; results: MarketSummary[]; } export interface MarketsListParams { count?: number; sort?: MarketSortField; category?: string; minVolume?: number; activeOnly?: boolean; cursor?: number; } export interface Candle { timestamp: number; open: number; high: number; low: number; close: number; volume: number; } export interface CandlesResponse { candles: Candle[]; count: number; token_id: string; question?: string; slug?: string; resolution?: string; } export interface CandlesParams { resolution?: CandleResolution; limit?: number; } export interface MarketStats { [key: string]: unknown; } export interface Settlement { tx_hash: string; taker_side: string; taker_size: string; taker_price: string; taker_wallet: string; taker_token: string; timestamp: string; detected_at: string; status: string; outcome: string; market_title: string; market_slug: string; market_image: string; event_title: string; block_number: string; id: string; trades_json: string; } export interface SettlementsResponse { count: number; settlements: Settlement[]; wallet?: string; token_id?: string; } export interface WalletActivity { last_active: number; trade_count: number; trade_volume_usd: number; transfer_count: number; deposit_count: number; deposit_volume_usd: number; } export interface WalletResponse { wallet: string; activity: WalletActivity; [key: string]: unknown; } import type { OrderbookLevel } from './orderbook.js'; export interface OrderbookResponse { bids: OrderbookLevel[]; asks: OrderbookLevel[]; asset_id: string; market: string; hash: string; last_trade_price: string; min_order_size: string; tick_size: string; neg_risk: boolean; timestamp: string; } export interface MidpointResponse { mid: string; } export interface SpreadResponse { spread: string; } export interface LeaderboardTrader { rank: number; wallet: string; name: string; pnl: number; volume: number; profileImage: string | null; } export interface LeaderboardResponse { traders: LeaderboardTrader[]; period: string; sort: string; count: number; } export type LeaderboardPeriod = 'daily' | 'weekly' | 'monthly' | 'all'; export type LeaderboardSort = 'profit' | 'volume'; export interface TrendingCarouselItem { id: string; slug: string; title: string; image: string | null; volume: number; volume24hr: number | null; liquidity: number | null; startDate: string; active: boolean; closed: boolean; } export interface TrendingBreakingItem { id: string; slug: string; question: string; image: string | null; outcomePrices: string[]; oneDayPriceChange: number; } export interface TrendingHotTopic { title: string; volume: number; url: string; } export interface TrendingResponse { carousel: TrendingCarouselItem[]; breaking: TrendingBreakingItem[]; hotTopics: TrendingHotTopic[]; featured: TrendingCarouselItem[]; movers: TrendingBreakingItem[]; } export interface ActivityTrade { wallet: string; side: string; tokenId: string; conditionId: string; size: number; price: number; timestamp: number; title: string; slug: string; eventSlug: string; outcome: string; name: string; txHash: string; } export interface ActivityResponse { trades: ActivityTrade[]; count: number; } export interface MoverMarket { id: string; slug: string; question: string; image: string | null; outcomePrices: string[]; oneDayPriceChange: number; } export interface MoversResponse { markets: MoverMarket[]; count: number; } export interface TraderProfile { wallet: string; name: string; pseudonym: string; profileSlug: string; joinDate: string; trades: number; marketsTraded: number; largestWin: number; views: number; totalVolume: number; totalPnl: number; realizedPnl: number; unrealizedPnl: number; positionValue: number; profileImage: string | null; } export interface PnlPoint { timestamp: number; pnl: number; } export interface TraderPnlResponse { wallet: string; period: string; series: PnlPoint[]; count: number; } export type PnlPeriod = '1D' | '1W' | '1M' | 'ALL'; export interface EventMarket { question: string; conditionId: string; outcomes: string[]; outcomePrices: string[]; volume: number; liquidity: number; active: boolean; closed: boolean; groupItemTitle?: string; tokenId?: string | null; } export interface EventSearchMarket { question: string; groupItemTitle: string; conditionId: string; tokenId: string | null; price: number | null; active: boolean; } export interface EventSearchResult { id: string; slug: string; title: string; image: string | null; active: boolean; markets: EventSearchMarket[]; } export interface EventSearchResponse { query: string; events: EventSearchResult[]; count: number; } export interface EventDetailResponse { id: number; slug: string; title: string; description: string; image: string | null; active: boolean; closed: boolean; volume: number; volume24hr: number; liquidity: number; startDate: string; endDate: string; markets: EventMarket[]; series?: { slug: string; title: string; recurrence: string; }; similarMarkets: number; annotations: number; } export interface CategoryCounts { all: number; [key: string]: number; } export interface CategoryEvent { id: string; slug: string; title: string; image: string | null; volume24hr: number; } export interface MarketsByCategoryResponse { category: string; counts: CategoryCounts; events: CategoryEvent[]; totalResults: number; } export interface JsonRpcRequest { method: string; params?: unknown[]; id: number | string; jsonrpc?: string; } export interface JsonRpcResponse { jsonrpc: string; id: number | string | null; result?: unknown; error?: { code: number; message: string; }; } //# sourceMappingURL=rest.d.ts.map