import type { Asset } from './asset.js'; import type { PositionMarginAdjustment } from './enums.js'; export interface FundingInfo { rate: string; nextFundingTime: number; } export interface BaseMarket { providerId: string; id: string; isDelisted?: boolean; categoryId: string; baseAsset: Asset; quoteAsset: Asset; szDecimals: number; priceDecimals?: number; priceIncrement?: string; sizeIncrement?: string; } export interface PerpsMarket extends BaseMarket { maxLeverage: number; onlyIsolated: boolean; positionMarginAdjustment: PositionMarginAdjustment; maintenanceMarginRate?: number; } export interface SpotMarket extends BaseMarket { positionMarginAdjustment?: never; } export type Market = PerpsMarket | SpotMarket; export type MarketDisplay = Pick; export type PerpsMarketDisplay = Pick; export interface MarketRef { marketId: string; categoryId: string; } export interface MarketsResponse { markets: Market[]; } export interface MarketContext { marketId: string; midPrice: string; markPrice: string; oraclePrice?: string; prevDayPrice?: string; priceChange24h?: string; volume24h?: string; marketCap?: string; openInterest?: string; funding?: FundingInfo; } export interface PricesResponse { prices: MarketContext[]; } export interface Candle { t: number; o: string; h: string; l: string; c: string; v: string; } export interface OhlcvResponse { provider: string; marketId: string; interval: OhlcvInterval; candles: Candle[]; } export type OhlcvInterval = '1m' | '3m' | '5m' | '15m' | '30m' | '1h' | '2h' | '4h' | '8h' | '12h' | '1d' | '3d' | '1w' | '1M'; export interface OrderbookLevel { price: string; size: string; } export interface OrderbookResponse { provider: string; marketId: string; bids: OrderbookLevel[]; asks: OrderbookLevel[]; timestamp: number; } export interface Trade { provider: string; marketId: string; price: string; size: string; timestamp: number; side: 'buy' | 'sell'; id?: string; } //# sourceMappingURL=market.d.ts.map