///
import { BN } from '@project-serum/anchor';
import { Configuration, MarketConfiguration } from '../configuration';
import { Connection } from '../connection';
import { Position } from '../protocols/position';
export interface Order {
dex: 'serum';
symbol: string;
clientId?: BN;
orderType?: 'limit' | 'ioc' | 'postOnly';
price: number;
selfTradeBehavior?: 'decrementTake' | 'cancelProvide' | 'abortTransaction';
side: 'buy' | 'sell';
size: number;
}
export declare abstract class Market {
configuration: Configuration;
marketConfiguration: MarketConfiguration;
basePosition: Position;
quotePosition: Position;
connection: Connection;
constructor(configuration: Configuration, marketConfiguration: MarketConfiguration, positions: Record, connection: Connection);
abstract crank(): Promise;
abstract listen(): Promise;
}
//# sourceMappingURL=market.d.ts.map