///
import { Market as SpotMarket, OpenOrders, Orderbook } from '@project-serum/serum';
import { Event } from '@project-serum/serum/lib/queue';
import { Account, PublicKey } from '@solana/web3.js';
import { Configuration, MarketConfiguration } from '../../configuration';
import { Connection } from '../../connection';
import { Position } from '../../protocols/position';
import { Market } from '../market';
export declare class SerumMarket extends Market {
market?: SpotMarket;
asks?: Orderbook;
bids?: Orderbook;
events: Event[];
seqNum: number;
openOrders?: OpenOrders;
payer?: Account;
eventsBuffer?: Buffer;
hasEvents: boolean;
constructor(configuration: Configuration, marketConfiguration: MarketConfiguration, positions: Record, connection: Connection, payer?: Account);
static closeOpenOrders(configuration: Configuration, connection: Connection, owner: Account): Promise;
crank(): Promise;
static createOpenOrders(configuration: Configuration, connection: Connection, owner: Account, markets: Market[]): Promise;
listen(): Promise;
listenOpenOrders(): Promise;
static load(connection: Connection, owner: PublicKey, programId: PublicKey, markets: Market[]): Promise;
parseFillEvents(): Event[];
parseFillEvent(event: any): any;
static settleFunds(connection: Connection, owner: Account, markets: Market[]): Promise;
toPriceLevels(orderBook: Orderbook, depth?: number): [number, number][];
}
export declare function getSerumError(errorCode: number): string;
//# sourceMappingURL=index.d.ts.map