import Big from "big.js"; import { Channel, ChannelEventSource } from "../../internal"; import { Market, MarketStatus } from "./Market"; import type { PerpetualProtocol } from "../PerpetualProtocol"; export interface MarketMap { [key: string]: Market; } export declare type GetMarketParams = { tickerSymbol: string; baseAddress?: never; } | { tickerSymbol?: never; baseAddress: string; }; export interface marketInfo { id: string; pool: string; baseToken: string; quoteToken: string; tradingVolume: string; tradingFee: string; } declare type MarketsEventName = "updateError" | "updated"; export interface MarketDataAll { [key: string]: { status: MarketStatus; marketPrice: Big; markPrice: Big; indexPrice: Big; indexTwapPrice: Big; }; } declare class Markets extends Channel { private readonly _perp; private readonly _marketMap; constructor(perp: PerpetualProtocol); get marketMap(): MarketMap; private _getMarketMap; getMarket({ tickerSymbol, baseAddress }: GetMarketParams): Market; getMarketsBaseQuoteAmount(marketsInfo: marketInfo[]): Promise; protected _getEventSourceMap(): { updated: ChannelEventSource; }; protected getMarketDataAll(): Promise; } export { Markets };