import type { RestRequestByMarket, RestRequestPagination } from '#index'; /** * OrderBookPriceLevel * * - `price` and `size` as decimal strings * - `totalOrders` = # of limit orders at this price level (0 for synthetic levels) * * @example * ```typescript * [ "202.01000000", "8.11400000", 0 ] * ``` * * @category Kuma - Get OrderBook */ export type OrderBookPriceLevel = [ price: string, size: string, totalOrders: number ]; /** *
* [[include:base.md]] *
* * @category Base Types */ export interface GetOrderBookBase extends RestRequestByMarket { /** * Level of order book, `1` or `2`. * * @defaultValue `1` */ level?: 1 | 2; } /** * GET Order Books * * @see related {@link OrderBookPriceLevel} (bids/asks) * @see level 1 - request - {@link RestRequestGetOrderBookLevel1} * @see level 1 - response - {@link RestResponseGetOrderBookLevel1} * @see level 2 - request - {@link RestRequestGetOrderBookLevel2} * @see level 2 - response - {@link RestResponseGetOrderBookLevel2} * * @category Kuma - Get OrderBook */ export interface RestRequestGetOrderBookLevel1 extends GetOrderBookBase { /** * - Not required & ignored when using the Kuma SDK, and is already defaulted * to level 1 when using the REST API. * * @inheritDoc */ level?: 1; } /** * GET Order Books * * @see related {@link OrderBookPriceLevel} (bids/asks) * @see level 1 - request - {@link RestRequestGetOrderBookLevel1} * @see level 1 - response - {@link RestResponseGetOrderBookLevel1} * @see level 2 - request - {@link RestRequestGetOrderBookLevel2} * @see level 2 - response - {@link RestResponseGetOrderBookLevel2} * * @category Kuma - Get OrderBook */ export interface RestRequestGetOrderBookLevel2 extends GetOrderBookBase, Pick { /** * - Not required & ignored when using the Kuma SDK, but required when using the REST API directly * as it normally will default to level 1. * * @inheritDoc */ level?: 2; /** * - Number of `bids` and `asks` to return, only applicable for `level: 2` data. * - `0` returns maximum of `500` price levels per side * * @inheritDoc * @defaultValue 50 */ limit?: number; } /** * The Base OrderBook response which matches both level 1 and level 2 orderbook * responses. * * @see related {@link OrderBookPriceLevel} (bids/asks) * @see level 1 - request - {@link RestRequestGetOrderBookLevel1} * @see level 1 - response - {@link RestResponseGetOrderBookLevel1} * @see level 2 - request - {@link RestRequestGetOrderBookLevel2} * @see level 2 - response - {@link RestResponseGetOrderBookLevel2} * * @category Kuma - Get OrderBook * @category Kuma Interfaces */ export interface KumaOrderBook { /** * Most recent order book update sequence number reflected in the returned snapshot */ sequence: number; /** * Price of the last trade in quote terms */ lastPrice: string | null; /** * Mark price */ markPrice: string | null; /** * Index price */ indexPrice: string | null; /** * One or more bids depending on the Orderbook Level * * @see type {@link OrderBookPriceLevel} */ bids: OrderBookPriceLevel[]; /** * One or more asks depending on the Orderbook Level * * @see type {@link OrderBookPriceLevel} */ asks: OrderBookPriceLevel[]; } /** * Level-1 order book data is limited to the best bid and ask for a market, including hybrid liquidity synthetic price levels. * * @see [API Documentation](https://api-docs-v1.kuma.bid/#get-order-books) * @see related {@link OrderBookPriceLevel} (bids/asks) * @see type {@link KumaOrderBook} * @see level 1 - request - {@link RestRequestGetOrderBookLevel1} * @see level 1 - response - {@link RestResponseGetOrderBookLevel1} * @see level 2 - request - {@link RestRequestGetOrderBookLevel2} * @see level 2 - response - {@link RestResponseGetOrderBookLevel2} * * @category Kuma - Get OrderBook */ export interface RestResponseGetOrderBookLevel1 extends KumaOrderBook { /** * - Level-1 order book data is limited to the best bid and ask for a market * @inheritDoc */ bids: [OrderBookPriceLevel] | []; /** * - Level-1 order book data is limited to the best bid and ask for a market * @inheritDoc */ asks: [OrderBookPriceLevel] | []; } /** * Level-2 order book data includes price and quantity information for all price levels in the order book. * * @see [API Documentation](https://api-docs-v1.kuma.bid/#get-order-books) * @see type {@link KumaOrderBook} * @see related {@link OrderBookPriceLevel} (bids/asks) * @see level 1 - request - {@link RestRequestGetOrderBookLevel1} * @see level 1 - response - {@link RestResponseGetOrderBookLevel1} * @see level 2 - request - {@link RestRequestGetOrderBookLevel2} * @see level 2 - response - {@link RestResponseGetOrderBookLevel2} * * @category Kuma - Get OrderBook */ export interface RestResponseGetOrderBookLevel2 extends KumaOrderBook { /** * - Level-2 order book data includes price and quantity information for all price levels in the order book. * @inheritDoc */ bids: OrderBookPriceLevel[]; /** * - Level-2 order book data includes price and quantity information for all price levels in the order book. * @inheritDoc */ asks: OrderBookPriceLevel[]; } //# sourceMappingURL=GetOrderBook.d.ts.map