import Decimal from "decimal.js"; import { PublicKey } from "@solana/web3.js"; import type { OrderBookId, PubkeyStr } from "../../shared"; import type { OrderbookDecimals } from "../../shared/scaling"; import type { ConditionalToken } from "../market"; export * from "./client"; export * from "./wire"; export * from "./state"; export * from "./ticker"; export { orderBookPairFromWire } from "./convert"; export interface OrderBookPair { id: number; marketPubkey: PubkeyStr; orderbookId: OrderBookId; base: ConditionalToken; quote: ConditionalToken; outcomeIndex: number; tickSize: number; totalBids: number; totalAsks: number; lastTradePrice?: string; lastTradeTime?: Date; active: boolean; } export interface OutcomeImpact { sign: string; pct: number; dollar: string; isPositive: boolean; } export declare function impactPct(depositPrice: Decimal, conditionalPrice: Decimal): [number, string]; export declare function impact(depositAssetPrice: Decimal, conditionalPrice: Decimal): OutcomeImpact; /** * Derive scaling decimals from an orderbook pair's token metadata. * * No REST call needed — decimals are computed from the base/quote token objects. */ export declare function orderbookDecimals(pair: OrderBookPair): OrderbookDecimals; /** Return the market as a `PublicKey`. */ export declare function orderBookMarket(pair: OrderBookPair): PublicKey; /** Return the base conditional-token mint as a `PublicKey`. */ export declare function orderBookBaseMint(pair: OrderBookPair): PublicKey; /** Return the quote conditional-token mint as a `PublicKey`. */ export declare function orderBookQuoteMint(pair: OrderBookPair): PublicKey; export declare class OrderBookValidationError extends Error { readonly orderbookId: string; readonly details: string[]; constructor(orderbookId: string, details: string[]); } //# sourceMappingURL=index.d.ts.map