import { Serializable } from '../../../internal/interfaces/serializable';
export declare class RepayReq implements Serializable {
    /**
     * currency
     */
    currency: string;
    /**
     * Borrow amount
     */
    size: number;
    /**
     * symbol, mandatory for isolated margin account
     */
    symbol?: string;
    /**
     * true-isolated, false-cross; default is false
     */
    isIsolated?: boolean;
    /**
     * true: high frequency borrowing, false: low frequency borrowing; default false
     */
    isHf?: boolean;
    /**
     * Private constructor, please use the corresponding static methods to construct the object.
     */
    private constructor();
    /**
     * Creates a new instance of the `RepayReq` class.
     * The builder pattern allows step-by-step construction of a `RepayReq` object.
     */
    static builder(): RepayReqBuilder;
    /**
     * Creates a new instance of the `RepayReq` class with the given data.
     */
    static create(data: {
        /**
         * currency
         */
        currency: string;
        /**
         * Borrow amount
         */
        size: number;
        /**
         * symbol, mandatory for isolated margin account
         */
        symbol?: string;
        /**
         * true-isolated, false-cross; default is false
         */
        isIsolated?: boolean;
        /**
         * true: high frequency borrowing, false: low frequency borrowing; default false
         */
        isHf?: boolean;
    }): RepayReq;
    /**
     * Convert the object to a JSON string.
     */
    toJson(): string;
    /**
     * Create an object from a JSON string.
     */
    static fromJson(input: string): RepayReq;
    /**
     * Create an object from Js Object.
     */
    static fromObject(jsonObject: Object): RepayReq;
}
export declare class RepayReqBuilder {
    readonly obj: RepayReq;
    constructor(obj: RepayReq);
    /**
     * currency
     */
    setCurrency(value: string): RepayReqBuilder;
    /**
     * Borrow amount
     */
    setSize(value: number): RepayReqBuilder;
    /**
     * symbol, mandatory for isolated margin account
     */
    setSymbol(value: string): RepayReqBuilder;
    /**
     * true-isolated, false-cross; default is false
     */
    setIsIsolated(value: boolean): RepayReqBuilder;
    /**
     * true: high frequency borrowing, false: low frequency borrowing; default false
     */
    setIsHf(value: boolean): RepayReqBuilder;
    /**
     * Get the final object.
     */
    build(): RepayReq;
}
