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