///
import { EventEmitter } from "events";
import { NinjaTraderAction, NinjaTraderCommand, NinjaTraderOrderType, NinjaTraderTif, OrderStatus, NinjaTraderEvent, ConnectionStatus, PositionStatus } from "./enum";
import { NinjaTraderCancel, NinjaTraderChange, NinjaTraderClose, NinjaTraderCloseStrategy, NinjaTraderLimit, NinjaTraderLimitOptions, NinjaTraderMarket, NinjaTraderMarketOptions, NinjaTraderOptions, NinjaTraderReverse, NinjaTraderStop, NinjaTraderStopOptions, NinjaTraderStopLimit, NinjaTraderStopLimitOptions, OrderState, PositionUpdateState, StateWatcher } from "./types";
import OrderStateWatcher from "./files/orderState";
import ConnectionStateWatcher from "./files/connectionState";
import PositionUpdateWatcher from "./files/positionUpdateState";
declare class NinjaTrader extends EventEmitter {
account: string;
path: string;
watchers: {
[key: string]: StateWatcher;
};
constructor(options?: NinjaTraderOptions);
onConnected(connection: string, callback: () => void): ConnectionStateWatcher;
onDisconnected(connection: string, callback: () => void): ConnectionStateWatcher;
onConnection(connection: string, callback: (connected: boolean) => void): ConnectionStateWatcher;
onPosition(instrument: string, callback: (state: PositionUpdateState) => void): PositionUpdateWatcher;
market(options: NinjaTraderMarketOptions): Promise;
marketMany(options: NinjaTraderMarketOptions[]): Promise;
limit(options: NinjaTraderLimitOptions): Promise;
limitMany(options: NinjaTraderLimitOptions[]): Promise;
stop(options: NinjaTraderStopOptions): Promise;
stopMany(options: NinjaTraderStopOptions[]): Promise;
stopLimit(options: NinjaTraderStopLimitOptions): Promise;
stopLimitMany(options: NinjaTraderStopLimitOptions[]): Promise;
cancel(options: NinjaTraderCancel): Promise;
change(options: NinjaTraderChange): Promise;
close(options: NinjaTraderClose): Promise;
closeStrategy(options: NinjaTraderCloseStrategy): Promise;
cancelAll(): Promise;
flatten(): Promise;
reverse(options: NinjaTraderReverse): Promise;
private submitOrderAndWatch;
private submitOrder;
private static buildCommand;
}
export default NinjaTrader;
export { NinjaTraderCommand, NinjaTraderAction, NinjaTraderOrderType, NinjaTraderTif, NinjaTraderEvent, };
export { PositionUpdateState, OrderState, OrderStatus, ConnectionStatus, PositionStatus, OrderStateWatcher, PositionUpdateWatcher, ConnectionStateWatcher, NinjaTraderOptions, NinjaTraderMarket, NinjaTraderMarketOptions, NinjaTraderLimit, NinjaTraderLimitOptions, NinjaTraderStop, NinjaTraderStopOptions, NinjaTraderStopLimit, NinjaTraderStopLimitOptions, NinjaTraderCancel, NinjaTraderChange, NinjaTraderClose, NinjaTraderCloseStrategy, NinjaTraderReverse, };