/// import { EventEmitter } from "events"; import { OrderStatus } from "../enum"; import { OrderState, OrderStateOptions, StateWatcher } from "../types"; import Watcher from "./watcher"; declare interface OrderStateWatcher { on(event: OrderStatus.Filled, listener: (order: OrderState) => void): this; on(event: OrderStatus.Initialized, listener: (order: OrderState) => void): this; on(event: OrderStatus.Submitted, listener: (order: OrderState) => void): this; on(event: OrderStatus.Accepted, listener: (order: OrderState) => void): this; on(event: OrderStatus.Working, listener: (order: OrderState) => void): this; on(event: OrderStatus.ChangeSubmitted, listener: (order: OrderState) => void): this; on(event: OrderStatus.CancelPending, listener: (order: OrderState) => void): this; on(event: OrderStatus.Cancelled, listener: (order: OrderState) => void): this; on(event: OrderStatus.Rejected, listener: (order: OrderState) => void): this; on(event: OrderStatus.PartiallyFilled, listener: (order: OrderState) => void): this; on(event: OrderStatus.TriggerPending, listener: (order: OrderState) => void): this; on(event: OrderStatus.Update, listener: (status: OrderStatus, order: OrderState) => void): this; } declare class OrderStateWatcher extends EventEmitter implements StateWatcher { path: string; account: string; orderId: string; watcher: Watcher; status: OrderStatus | undefined; state: OrderState | undefined; constructor({ orderId, path, account, onUpdate, onFilled, onInitialized, onSubmitted, onWorking, onAccepted, onChangeSubmitted, onCancelPending, onCancelled, onRejected, onPartiallyFilled, onTriggerPending, }: OrderStateOptions); onFilled(callback: (order: OrderState) => void): void; onInitialized(callback: (order: OrderState) => void): void; onSubmitted(callback: (order: OrderState) => void): void; onAccepted(callback: (order: OrderState) => void): void; onWorking(callback: (order: OrderState) => void): void; onChangeSubmitted(callback: (order: OrderState) => void): void; onCancelPending(callback: (order: OrderState) => void): void; onCancelled(callback: (order: OrderState) => void): void; onRejected(callback: (order: OrderState) => void): void; onPartiallyFilled(callback: (order: OrderState) => void): void; onTriggerPending(callback: (order: OrderState) => void): void; onUpdate(callback: (status: OrderStatus, order: OrderState) => void): void; private onModified; get price(): number; get quantity(): number; } export default OrderStateWatcher;