import { ObConfig } from '@nexex/orderbook/global/global.model';
import { NewOrderAcceptedPayload, NewOrderOnboardEvent, OrderbookEvent } from '@nexex/types';
import { OrderDelistEvent, OrderUpdatePayload, WsUpstreamEvent } from '@nexex/types/orderbook';
import { Subject } from 'rxjs';
import { OrderService } from '../order/order.service';
import { OrderbookService } from './orderbook.service';
export declare class ObNewOrderHandler {
    private events$;
    private orderbookService;
    private orderService;
    constructor(events$: Subject<OrderbookEvent>, orderbookService: OrderbookService, orderService: OrderService);
    handle(inputEvent: NewOrderOnboardEvent): Promise<void>;
}
export declare class NewOrderFromPeerHandler {
    private events$;
    private orderbookService;
    constructor(events$: Subject<OrderbookEvent>, orderbookService: OrderbookService);
    handle(payload: NewOrderAcceptedPayload): Promise<void>;
}
export declare class OrderUpdateHandler {
    private events$;
    private orderbookService;
    constructor(events$: Subject<OrderbookEvent>, orderbookService: OrderbookService);
    handle(payload: OrderUpdatePayload): Promise<void>;
}
export declare class OrderDelistHandler {
    private events$;
    private orderbookService;
    constructor(events$: Subject<OrderbookEvent>, orderbookService: OrderbookService);
    handle(event: OrderDelistEvent): Promise<void>;
}
export declare class WsOrderSnapshotHandler {
    private events$;
    private orderbookService;
    constructor(events$: Subject<OrderbookEvent>, orderbookService: OrderbookService);
    handle(event: WsUpstreamEvent): Promise<void>;
}
export declare class WsTopOrderHandler {
    private events$;
    private orderbookService;
    constructor(events$: Subject<OrderbookEvent>, orderbookService: OrderbookService);
    handle(event: WsUpstreamEvent): Promise<void>;
}
export declare class WsOrderAgQueryHandler {
    private events$;
    private orderbookService;
    constructor(events$: Subject<OrderbookEvent>, orderbookService: OrderbookService);
    handle(event: WsUpstreamEvent): Promise<void>;
}
export declare class WsOrderBatchQueryHandler {
    private events$;
    private orderbookService;
    constructor(events$: Subject<OrderbookEvent>, orderbookService: OrderbookService);
    handle(event: WsUpstreamEvent): Promise<void>;
}
export declare class WsMarketQueryHandler {
    private events$;
    private orderbookService;
    constructor(events$: Subject<OrderbookEvent>, orderbookService: OrderbookService);
    handle(event: WsUpstreamEvent): Promise<void>;
}
export declare class WsMarketConfigHandler {
    private events$;
    private config;
    constructor(events$: Subject<OrderbookEvent>, config: ObConfig);
    handle(event: WsUpstreamEvent): Promise<void>;
}
export declare class WsOrderPlaceHandler {
    private events$;
    private orderbookService;
    constructor(events$: Subject<OrderbookEvent>, orderbookService: OrderbookService);
    handle(event: WsUpstreamEvent): Promise<void>;
}
