import { Serializable } from '../../../internal/interfaces/serializable';
export declare class FuturesAccountTransferOutReq implements Serializable {
    /**
     * Currency, including XBT, USDT...
     */
    currency: string;
    /**
     * Amount to be transferred out; cannot exceed 1000000000
     */
    amount: number;
    /**
     * Receive account type, including MAIN, TRADE
     */
    recAccountType: FuturesAccountTransferOutReq.RecAccountTypeEnum;
    /**
     * Private constructor, please use the corresponding static methods to construct the object.
     */
    private constructor();
    /**
     * Creates a new instance of the `FuturesAccountTransferOutReq` class.
     * The builder pattern allows step-by-step construction of a `FuturesAccountTransferOutReq` object.
     */
    static builder(): FuturesAccountTransferOutReqBuilder;
    /**
     * Creates a new instance of the `FuturesAccountTransferOutReq` class with the given data.
     */
    static create(data: {
        /**
         * Currency, including XBT, USDT...
         */
        currency: string;
        /**
         * Amount to be transferred out; cannot exceed 1000000000
         */
        amount: number;
        /**
         * Receive account type, including MAIN, TRADE
         */
        recAccountType: FuturesAccountTransferOutReq.RecAccountTypeEnum;
    }): FuturesAccountTransferOutReq;
    /**
     * Convert the object to a JSON string.
     */
    toJson(): string;
    /**
     * Create an object from a JSON string.
     */
    static fromJson(input: string): FuturesAccountTransferOutReq;
    /**
     * Create an object from Js Object.
     */
    static fromObject(jsonObject: Object): FuturesAccountTransferOutReq;
}
export declare namespace FuturesAccountTransferOutReq {
    enum RecAccountTypeEnum {
        /**
         *
         */
        MAIN,
        /**
         *
         */
        TRADE
    }
}
export declare class FuturesAccountTransferOutReqBuilder {
    readonly obj: FuturesAccountTransferOutReq;
    constructor(obj: FuturesAccountTransferOutReq);
    /**
     * Currency, including XBT, USDT...
     */
    setCurrency(value: string): FuturesAccountTransferOutReqBuilder;
    /**
     * Amount to be transferred out; cannot exceed 1000000000
     */
    setAmount(value: number): FuturesAccountTransferOutReqBuilder;
    /**
     * Receive account type, including MAIN, TRADE
     */
    setRecAccountType(value: FuturesAccountTransferOutReq.RecAccountTypeEnum): FuturesAccountTransferOutReqBuilder;
    /**
     * Get the final object.
     */
    build(): FuturesAccountTransferOutReq;
}
