import { Serializable } from '../../../internal/interfaces/serializable';
export declare class GetTradeHistoryOldReq implements Serializable {
    /**
     * symbol
     */
    symbol?: string;
    /**
     * The unique order ID generated by the trading system. (If orderId is specified, please ignore the other query parameters.)
     */
    orderId?: string;
    /**
     * Specify if the order is to \'buy\' or \'sell\'.
     */
    side?: GetTradeHistoryOldReq.SideEnum;
    /**
     * limit, market, limit_stop or market_stop
     */
    type?: GetTradeHistoryOldReq.TypeEnum;
    /**
     * The type of trading: TRADE - Spot Trading (TRADE as default), MARGIN_TRADE - Cross Margin Trading, MARGIN_ISOLATED_TRADE - Isolated Margin Trading.
     */
    tradeType?: GetTradeHistoryOldReq.TradeTypeEnum;
    /**
     * Start time (milliseconds)
     */
    startAt?: number;
    /**
     * End time (milliseconds)
     */
    endAt?: number;
    /**
     * Current request page.
     */
    currentPage?: number;
    /**
     * Number of results per request. Minimum is 10, maximum is 500.
     */
    pageSize?: number;
    /**
     * Private constructor, please use the corresponding static methods to construct the object.
     */
    private constructor();
    /**
     * Creates a new instance of the `GetTradeHistoryOldReq` class.
     * The builder pattern allows step-by-step construction of a `GetTradeHistoryOldReq` object.
     */
    static builder(): GetTradeHistoryOldReqBuilder;
    /**
     * Creates a new instance of the `GetTradeHistoryOldReq` class with the given data.
     */
    static create(data: {
        /**
         * symbol
         */
        symbol?: string;
        /**
         * The unique order ID generated by the trading system. (If orderId is specified, please ignore the other query parameters.)
         */
        orderId?: string;
        /**
         * Specify if the order is to \'buy\' or \'sell\'.
         */
        side?: GetTradeHistoryOldReq.SideEnum;
        /**
         * limit, market, limit_stop or market_stop
         */
        type?: GetTradeHistoryOldReq.TypeEnum;
        /**
         * The type of trading: TRADE - Spot Trading (TRADE as default), MARGIN_TRADE - Cross Margin Trading, MARGIN_ISOLATED_TRADE - Isolated Margin Trading.
         */
        tradeType?: GetTradeHistoryOldReq.TradeTypeEnum;
        /**
         * Start time (milliseconds)
         */
        startAt?: number;
        /**
         * End time (milliseconds)
         */
        endAt?: number;
        /**
         * Current request page.
         */
        currentPage?: number;
        /**
         * Number of results per request. Minimum is 10, maximum is 500.
         */
        pageSize?: number;
    }): GetTradeHistoryOldReq;
    /**
     * Convert the object to a JSON string.
     */
    toJson(): string;
    /**
     * Create an object from a JSON string.
     */
    static fromJson(input: string): GetTradeHistoryOldReq;
    /**
     * Create an object from Js Object.
     */
    static fromObject(jsonObject: Object): GetTradeHistoryOldReq;
}
export declare namespace GetTradeHistoryOldReq {
    enum SideEnum {
        /**
         * buy
         */
        BUY,
        /**
         * sell
         */
        SELL
    }
    enum TypeEnum {
        /**
         * limit
         */
        LIMIT,
        /**
         * market
         */
        MARKET,
        /**
         * limit_stop
         */
        LIMIT_STOP,
        /**
         * market_stop
         */
        MARKET_STOP
    }
    enum TradeTypeEnum {
        /**
         * Spot Trading
         */
        TRADE,
        /**
         * Cross Margin Trading
         */
        MARGIN_TRADE,
        /**
         * Isolated Margin Trading
         */
        MARGIN_ISOLATED_TRADE
    }
}
export declare class GetTradeHistoryOldReqBuilder {
    readonly obj: GetTradeHistoryOldReq;
    constructor(obj: GetTradeHistoryOldReq);
    /**
     * symbol
     */
    setSymbol(value: string): GetTradeHistoryOldReqBuilder;
    /**
     * The unique order ID generated by the trading system. (If orderId is specified, please ignore the other query parameters.)
     */
    setOrderId(value: string): GetTradeHistoryOldReqBuilder;
    /**
     * Specify if the order is to \'buy\' or \'sell\'.
     */
    setSide(value: GetTradeHistoryOldReq.SideEnum): GetTradeHistoryOldReqBuilder;
    /**
     * limit, market, limit_stop or market_stop
     */
    setType(value: GetTradeHistoryOldReq.TypeEnum): GetTradeHistoryOldReqBuilder;
    /**
     * The type of trading: TRADE - Spot Trading (TRADE as default), MARGIN_TRADE - Cross Margin Trading, MARGIN_ISOLATED_TRADE - Isolated Margin Trading.
     */
    setTradeType(value: GetTradeHistoryOldReq.TradeTypeEnum): GetTradeHistoryOldReqBuilder;
    /**
     * Start time (milliseconds)
     */
    setStartAt(value: number): GetTradeHistoryOldReqBuilder;
    /**
     * End time (milliseconds)
     */
    setEndAt(value: number): GetTradeHistoryOldReqBuilder;
    /**
     * Current request page.
     */
    setCurrentPage(value: number): GetTradeHistoryOldReqBuilder;
    /**
     * Number of results per request. Minimum is 10, maximum is 500.
     */
    setPageSize(value: number): GetTradeHistoryOldReqBuilder;
    /**
     * Get the final object.
     */
    build(): GetTradeHistoryOldReq;
}
