import { Candle, CandleResolution, OrderSide, Order, Orderbook, ClientParams } from "../swapContext";
import { Engine } from "./engine";
export declare class DyDxEngine implements Engine {
    private client;
    constructor(clientParams: ClientParams);
    getPrice(): number;
    getOrderbook(): Orderbook;
    getCandles(resolution: CandleResolution): Candle[];
    getPosition(): number;
    getBalance(): number;
    start(): Promise<void>;
    subTick(callback: (price: number) => void): void;
    subCandle(resolution: CandleResolution, callback: (candle: Candle, resolution: CandleResolution) => void): void;
    subOrderbook(): void;
    subAccount(callback: () => void): void;
    subPosition(callback: () => void): void;
    subOrder(callback: (order: Order) => void): void;
    subDeal(callback: (order: Order) => void): void;
    placeMarketOrder(side: OrderSide, price: number, size: number): void;
    buy(price: number, size: number): void;
    sell(price: number, size: number): void;
    placeLimitOrder(side: OrderSide, price: number, size: number, goodTilTime: number): void;
    buyLimit(price: number, size: number): void;
    sellLimit(price: number, size: number): void;
    cancelOrder(id: number, goodTillTime: number): void;
    stop(): void;
}
