import { AbstractExchangeClient } from './AbstractExchangeClient'; import { OperationType } from '../db'; import { GetOrderType } from "../domain/extractors"; export declare type CreateOrderOptions = { operation: OperationType; ticker: string; lots: number; price: number; }; export declare abstract class AbstractTradeModule { protected exchangeClient: ExchangeClient; setExchangeClient(exchangeClient: ExchangeClient): void; abstract sell({ ticker, lots, price }: CreateOrderOptions): Promise>; abstract buy({ ticker, lots, price }: CreateOrderOptions): Promise>; abstract marketSell({ ticker, lots }: CreateOrderOptions): Promise>; abstract marketBuy({ ticker, lots }: CreateOrderOptions): Promise>; abstract sellOrCancel(): Promise>; abstract buyOrCancel(): Promise>; }