/// import { Mint } from "@solana/spl-token"; import { Order } from "@dradex/idl"; import { AccountInfo, PublicKey } from "@solana/web3.js"; import { MarketState } from "./core"; import { Quote, QuoteCalculator, QuoteParams } from "./quote"; export declare type AccountInfoMap = Map | null>; interface Amm { reserveTokenMints: PublicKey[]; getAccountsForUpdate(): PublicKey[]; update(accountInfoMap: AccountInfoMap): void; getQuote(quoteParams: QuoteParams): Quote; } export declare class DexMarket implements Amm { address: PublicKey; id: string; reserveTokenMints: PublicKey[]; state: MarketState; orderBookState: { bids: Order[]; asks: Order[]; }; mintInfos: Mint[]; quoteCalculator: QuoteCalculator; constructor(address: PublicKey, accountInfo: AccountInfo); decodeMarketState(accountInfo: AccountInfo): void; getAccountsForUpdate(): PublicKey[]; update(accountInfoMap: AccountInfoMap): void; getQuote(quoteParams: QuoteParams): Quote; getAccounts(): { pair: PublicKey; market: PublicKey; t0Vault: PublicKey; t1Vault: PublicKey; bids: PublicKey; asks: PublicKey; eventQueue: PublicKey; }; } export {}; //# sourceMappingURL=market.d.ts.map