import { BigNumber } from "bignumber.js";
import { ZeroExData } from "./ZeroExData";
/**
 * Data used to represent an order on the exchange. The values in this class
 * may not be set to useful values depending on the source, for example if
 * you are looking at data of an order made by someone else it will only contain
 * a minimal amount of data, and orders that come through from websocket events
 * will also be more stripped down. You can expect the class to contain full
 * data whenever creating or querying for your own orders.
 */
export declare class Order {
    /**
     * The id of the order on the exchange
     */
    readonly id: string;
    /**
     * Which market this order exists on, e.g. "ZRX-ETH"
     */
    readonly marketId: string;
    /**
     * Current status of the order
     */
    readonly status: string;
    /**
     * Whether this is a "buy" or a "sell" order
     */
    readonly side: string;
    /**
     * The account that made this order
     */
    readonly account: string;
    /**
     * Data used by 0x to construct an order.
     *
     * See https://0xproject.com/wiki#Create,-Validate,-Fill-Order
     */
    readonly data?: ZeroExData;
    /**
     * The amount of token specified in this order
     */
    readonly amount: BigNumber;
    /**
     * The price of the order
     */
    readonly price: BigNumber;
    /**
     * The fee that will be charged when this order completes
     */
    readonly feeAmount: BigNumber;
    /**
     * The percentage of the order that the fee represents
     */
    readonly feeRate: BigNumber;
    /**
     * The amount of the the order that is still available to be filled
     */
    readonly availableAmount: BigNumber;
    /**
     * The amount of the order that is currently being filled by a trade,
     * but has not been verified on the blockchain yet
     */
    readonly pendingAmount: BigNumber;
    /**
     * The amount of the order that was remaining when the order was
     * cancelled
     */
    readonly canceledAmount: BigNumber;
    /**
     * The amount of the order that has been filled by a trade
     */
    readonly confirmedAmount: BigNumber;
    constructor(json: any);
}
export declare enum Side {
    BUY = "buy",
    SELL = "sell",
}
export declare enum Status {
    PENDING = "pending",
    ALL = "all",
}
