import { Serializable } from '../../../internal/interfaces/serializable';
export declare class GetWithdrawalHistoryReq implements Serializable {
    /**
     * currency
     */
    currency?: string;
    /**
     * Status. Available value: REVIEW, PROCESSING, WALLET_PROCESSING, SUCCESS and FAILURE
     */
    status?: GetWithdrawalHistoryReq.StatusEnum;
    /**
     * 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 `GetWithdrawalHistoryReq` class.
     * The builder pattern allows step-by-step construction of a `GetWithdrawalHistoryReq` object.
     */
    static builder(): GetWithdrawalHistoryReqBuilder;
    /**
     * Creates a new instance of the `GetWithdrawalHistoryReq` class with the given data.
     */
    static create(data: {
        /**
         * currency
         */
        currency?: string;
        /**
         * Status. Available value: REVIEW, PROCESSING, WALLET_PROCESSING, SUCCESS and FAILURE
         */
        status?: GetWithdrawalHistoryReq.StatusEnum;
        /**
         * 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;
    }): GetWithdrawalHistoryReq;
    /**
     * Convert the object to a JSON string.
     */
    toJson(): string;
    /**
     * Create an object from a JSON string.
     */
    static fromJson(input: string): GetWithdrawalHistoryReq;
    /**
     * Create an object from Js Object.
     */
    static fromObject(jsonObject: Object): GetWithdrawalHistoryReq;
}
export declare namespace GetWithdrawalHistoryReq {
    enum StatusEnum {
        /**
         *
         */
        PROCESSING,
        /**
         *
         */
        REVIEW,
        /**
         *
         */
        WALLET_PROCESSING,
        /**
         *
         */
        SUCCESS,
        /**
         *
         */
        FAILURE
    }
}
export declare class GetWithdrawalHistoryReqBuilder {
    readonly obj: GetWithdrawalHistoryReq;
    constructor(obj: GetWithdrawalHistoryReq);
    /**
     * currency
     */
    setCurrency(value: string): GetWithdrawalHistoryReqBuilder;
    /**
     * Status. Available value: REVIEW, PROCESSING, WALLET_PROCESSING, SUCCESS and FAILURE
     */
    setStatus(value: GetWithdrawalHistoryReq.StatusEnum): GetWithdrawalHistoryReqBuilder;
    /**
     * Start time (milliseconds)
     */
    setStartAt(value: number): GetWithdrawalHistoryReqBuilder;
    /**
     * End time (milliseconds)
     */
    setEndAt(value: number): GetWithdrawalHistoryReqBuilder;
    /**
     * Current request page.
     */
    setCurrentPage(value: number): GetWithdrawalHistoryReqBuilder;
    /**
     * Number of results per request. Minimum is 10, maximum is 500.
     */
    setPageSize(value: number): GetWithdrawalHistoryReqBuilder;
    /**
     * Get the final object.
     */
    build(): GetWithdrawalHistoryReq;
}
