import { Connection, PublicKey } from "@solana/web3.js"; import BN from "bn.js"; import { Schema } from "borsh"; export declare const CALLBACK_INFO_LEN = 33; export declare enum AccountTag { Initialized = 0, MarketState = 1, UserAccount = 2, Close = 3 } export declare enum SelfTradeBehavior { DecrementTake = 0, CancelProvide = 1, AbortTransaction = 2 } export declare enum MarketFeeType { Default = 0, Stable = 1 } export declare class MarketState { tag: AccountTag; baseMint: PublicKey; quoteMint: PublicKey; baseVault: PublicKey; quoteVault: PublicKey; orderbook: PublicKey; admin: PublicKey; creationTimestamp: BN; baseVolume: BN; quoteVolume: BN; accumulatedFees: BN; minBaseOrderSize: BN; royaltiesBps: BN; accumulatedRoyalties: BN; baseCurrencyMultiplier: BN; quoteCurrencyMultiplier: BN; signerNonce: number; feeType: number; static schema: Schema; constructor(obj: { tag: BN; signerNonce: number; baseMint: Uint8Array; quoteMint: Uint8Array; baseVault: Uint8Array; quoteVault: Uint8Array; orderbook: Uint8Array; admin: Uint8Array; creationTimestamp: BN; baseVolume: BN; quoteVolume: BN; accumulatedFees: BN; minBaseOrderSize: BN; royaltiesBps: BN; baseCurrencyMultiplier: BN; quoteCurrencyMultiplier: BN; accumulatedRoyalties: BN; feeType: number; }); static retrieve(connection: Connection, market: PublicKey): Promise; } export declare class Order { id: BN; clientId: BN; constructor(obj: { id: BN; clientId: BN; }); } export declare class UserAccount { tag: AccountTag; market: PublicKey; owner: PublicKey; baseTokenFree: BN; baseTokenLocked: BN; quoteTokenFree: BN; quoteTokenLocked: BN; accumulatedRebates: BN; accumulatedMakerQuoteVolume: BN; accumulatedMakerBaseVolume: BN; accumulatedTakerQuoteVolume: BN; accumulatedTakerBaseVolume: BN; orders: Order[]; static schema: Schema; constructor(obj: { tag: BN; market: Uint8Array; owner: Uint8Array; baseTokenFree: BN; baseTokenLocked: BN; quoteTokenFree: BN; quoteTokenLocked: BN; orders: Order[]; accumulatedRebates: BN; accumulatedMakerQuoteVolume: BN; accumulatedMakerBaseVolume: BN; accumulatedTakerQuoteVolume: BN; accumulatedTakerBaseVolume: BN; }); static retrieve(connection: Connection, userAccount: PublicKey, marketState: MarketState): Promise; getOrderId(clientOrderId: BN): BN | undefined; getClientOrderId(orderId: BN): BN | undefined; }