import { Serializable } from '../../../internal/interfaces/serializable';
export declare class GetFuturesAccountTransferOutLedgerReq implements Serializable {
    /**
     * currency
     */
    currency?: string;
    /**
     * Status PROCESSING, SUCCESS, FAILURE
     */
    type?: GetFuturesAccountTransferOutLedgerReq.TypeEnum;
    /**
     * Status List PROCESSING, SUCCESS, FAILURE
     */
    tag?: Array<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
     */
    pageSize?: number;
    /**
     * Private constructor, please use the corresponding static methods to construct the object.
     */
    private constructor();
    /**
     * Creates a new instance of the `GetFuturesAccountTransferOutLedgerReq` class.
     * The builder pattern allows step-by-step construction of a `GetFuturesAccountTransferOutLedgerReq` object.
     */
    static builder(): GetFuturesAccountTransferOutLedgerReqBuilder;
    /**
     * Creates a new instance of the `GetFuturesAccountTransferOutLedgerReq` class with the given data.
     */
    static create(data: {
        /**
         * currency
         */
        currency?: string;
        /**
         * Status PROCESSING, SUCCESS, FAILURE
         */
        type?: GetFuturesAccountTransferOutLedgerReq.TypeEnum;
        /**
         * Status List PROCESSING, SUCCESS, FAILURE
         */
        tag?: Array<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
         */
        pageSize?: number;
    }): GetFuturesAccountTransferOutLedgerReq;
    /**
     * Convert the object to a JSON string.
     */
    toJson(): string;
    /**
     * Create an object from a JSON string.
     */
    static fromJson(input: string): GetFuturesAccountTransferOutLedgerReq;
    /**
     * Create an object from Js Object.
     */
    static fromObject(jsonObject: Object): GetFuturesAccountTransferOutLedgerReq;
}
export declare namespace GetFuturesAccountTransferOutLedgerReq {
    enum TypeEnum {
        /**
         *
         */
        MAIN,
        /**
         *
         */
        TRADE,
        /**
         *
         */
        MARGIN,
        /**
         *
         */
        ISOLATED
    }
}
export declare class GetFuturesAccountTransferOutLedgerReqBuilder {
    readonly obj: GetFuturesAccountTransferOutLedgerReq;
    constructor(obj: GetFuturesAccountTransferOutLedgerReq);
    /**
     * currency
     */
    setCurrency(value: string): GetFuturesAccountTransferOutLedgerReqBuilder;
    /**
     * Status PROCESSING, SUCCESS, FAILURE
     */
    setType(value: GetFuturesAccountTransferOutLedgerReq.TypeEnum): GetFuturesAccountTransferOutLedgerReqBuilder;
    /**
     * Status List PROCESSING, SUCCESS, FAILURE
     */
    setTag(value: Array<string>): GetFuturesAccountTransferOutLedgerReqBuilder;
    /**
     * Start time (milliseconds)
     */
    setStartAt(value: number): GetFuturesAccountTransferOutLedgerReqBuilder;
    /**
     * End time (milliseconds)
     */
    setEndAt(value: number): GetFuturesAccountTransferOutLedgerReqBuilder;
    /**
     * Current request page. The default currentPage is 1
     */
    setCurrentPage(value: number): GetFuturesAccountTransferOutLedgerReqBuilder;
    /**
     * pageSize; the default pageSize is 50
     */
    setPageSize(value: number): GetFuturesAccountTransferOutLedgerReqBuilder;
    /**
     * Get the final object.
     */
    build(): GetFuturesAccountTransferOutLedgerReq;
}
