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; } export type ResolvedWalletType = 'safe' | 'deposit_wallet' | 'proxy'; export interface ResolveResult { /** Preferred Polymarket trading wallet. Deposit wallet is returned when deployed; otherwise Safe/proxy. */ safe: string; /** Controlling externally owned account. Can be null when it cannot be recovered. */ eoa: string | null; /** Polymarket username. Null when no profile is set or the lookup cannot resolve one. */ username: string | null; /** Wallet implementation used by this account. */ type: ResolvedWalletType; } export type OnchainMarketStatus = 'live' | 'closed' | 'resolved-win' | 'resolved-loss' | 'resolved-unknown'; export interface WalletOnchainPositionsParams { /** Unix seconds. Drop positions whose last_trade_at is before this timestamp. */ since?: number; /** Unix seconds. Drop positions whose last_trade_at is after this timestamp. */ until?: number; /** Keep only positions whose market carries this Polymarket event tag. */ tagSlug?: string; } export interface WalletOnchainPosition { condition_id: string; token_id: string; size: number; avg_price: number; realized_pnl: number; total_bought: number; unrealized_pnl?: number; current_price?: number | null; market_status?: OnchainMarketStatus | string; market?: string; slug?: string; event_slug?: string | null; outcome?: string; image?: string | null; last_trade_at?: number | null; closed_at?: number | null; resolved_at?: number | null; redeemable?: boolean; outcome_index?: number | null; won?: boolean | null; winning_outcome_index?: number | null; opposite_asset?: string | null; initial_value?: number; tag_slugs?: string[] | null; } export interface WalletOnchainPositionsResponse { wallet: string; source: string; count: number; open_count: number; closed_count: number; total_realized_pnl: number; total_unrealized_pnl?: number; total_pnl?: number; positions_with_pnl: number; filtered?: boolean; applied_filters?: { since?: number | null; until?: number | null; tag_slug?: string | null; }; positions: WalletOnchainPosition[]; } 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