import { Serializable } from '../../../internal/interfaces/serializable';
export declare class GetTradeHistoryReq implements Serializable {
    /**
     * List fills for a specific order only (if you specify orderId, other parameters can be ignored)
     */
    orderId?: string;
    /**
     * Symbol of the contract. Please refer to [Get Symbol endpoint: symbol](https://www.kucoin.com/docs-new/api-3470220)
     */
    symbol?: string;
    /**
     * Order side
     */
    side?: GetTradeHistoryReq.SideEnum;
    /**
     * Order Type
     */
    type?: GetTradeHistoryReq.TypeEnum;
    /**
     * Transaction type: trade, adl, liquid, settlement. Supports querying multiple types at the same time, separated by commas. Query all types when empty
     */
    tradeTypes?: string;
    /**
     * Start time (milliseconds)
     */
    startAt?: number;
    /**
     * End time (milliseconds)
     */
    endAt?: number;
    /**
     * Current request page. The default currentPage is 1
     */
    currentPage?: number;
    /**
     * pageSize, The default pageSize is 50; the maximum cannot exceed 1000
     */
    pageSize?: number;
    /**
     * Private constructor, please use the corresponding static methods to construct the object.
     */
    private constructor();
    /**
     * Creates a new instance of the `GetTradeHistoryReq` class.
     * The builder pattern allows step-by-step construction of a `GetTradeHistoryReq` object.
     */
    static builder(): GetTradeHistoryReqBuilder;
    /**
     * Creates a new instance of the `GetTradeHistoryReq` class with the given data.
     */
    static create(data: {
        /**
         * List fills for a specific order only (if you specify orderId, other parameters can be ignored)
         */
        orderId?: string;
        /**
         * Symbol of the contract. Please refer to [Get Symbol endpoint: symbol](https://www.kucoin.com/docs-new/api-3470220)
         */
        symbol?: string;
        /**
         * Order side
         */
        side?: GetTradeHistoryReq.SideEnum;
        /**
         * Order Type
         */
        type?: GetTradeHistoryReq.TypeEnum;
        /**
         * Transaction type: trade, adl, liquid, settlement. Supports querying multiple types at the same time, separated by commas. Query all types when empty
         */
        tradeTypes?: string;
        /**
         * Start time (milliseconds)
         */
        startAt?: number;
        /**
         * End time (milliseconds)
         */
        endAt?: number;
        /**
         * Current request page. The default currentPage is 1
         */
        currentPage?: number;
        /**
         * pageSize, The default pageSize is 50; the maximum cannot exceed 1000
         */
        pageSize?: number;
    }): GetTradeHistoryReq;
    /**
     * Convert the object to a JSON string.
     */
    toJson(): string;
    /**
     * Create an object from a JSON string.
     */
    static fromJson(input: string): GetTradeHistoryReq;
    /**
     * Create an object from Js Object.
     */
    static fromObject(jsonObject: Object): GetTradeHistoryReq;
}
export declare namespace GetTradeHistoryReq {
    enum SideEnum {
        /**
         * buy
         */
        BUY,
        /**
         * sell
         */
        SELL
    }
    enum TypeEnum {
        /**
         * Limit order
         */
        LIMIT,
        /**
         * Market order
         */
        MARKET,
        /**
         * Stop limit order
         */
        LIMIT_STOP,
        /**
         * Stop Market order
         */
        MARKET_STOP
    }
}
export declare class GetTradeHistoryReqBuilder {
    readonly obj: GetTradeHistoryReq;
    constructor(obj: GetTradeHistoryReq);
    /**
     * List fills for a specific order only (if you specify orderId, other parameters can be ignored)
     */
    setOrderId(value: string): GetTradeHistoryReqBuilder;
    /**
     * Symbol of the contract. Please refer to [Get Symbol endpoint: symbol](https://www.kucoin.com/docs-new/api-3470220)
     */
    setSymbol(value: string): GetTradeHistoryReqBuilder;
    /**
     * Order side
     */
    setSide(value: GetTradeHistoryReq.SideEnum): GetTradeHistoryReqBuilder;
    /**
     * Order Type
     */
    setType(value: GetTradeHistoryReq.TypeEnum): GetTradeHistoryReqBuilder;
    /**
     * Transaction type: trade, adl, liquid, settlement. Supports querying multiple types at the same time, separated by commas. Query all types when empty
     */
    setTradeTypes(value: string): GetTradeHistoryReqBuilder;
    /**
     * Start time (milliseconds)
     */
    setStartAt(value: number): GetTradeHistoryReqBuilder;
    /**
     * End time (milliseconds)
     */
    setEndAt(value: number): GetTradeHistoryReqBuilder;
    /**
     * Current request page. The default currentPage is 1
     */
    setCurrentPage(value: number): GetTradeHistoryReqBuilder;
    /**
     * pageSize, The default pageSize is 50; the maximum cannot exceed 1000
     */
    setPageSize(value: number): GetTradeHistoryReqBuilder;
    /**
     * Get the final object.
     */
    build(): GetTradeHistoryReq;
}
