import { Serializable } from '../../../internal/interfaces/serializable';
export declare class GetTransferQuotasReq implements Serializable {
    /**
     * currency
     */
    currency?: string;
    /**
     * The account type:MAIN, TRADE, MARGIN, ISOLATED, MARGIN_V2, ISOLATED_V2
     */
    type?: GetTransferQuotasReq.TypeEnum;
    /**
     * Trading pair required when the account type is ISOLATED; other types do not pass, e.g.: BTC-USDT
     */
    tag?: string;
    /**
     * Private constructor, please use the corresponding static methods to construct the object.
     */
    private constructor();
    /**
     * Creates a new instance of the `GetTransferQuotasReq` class.
     * The builder pattern allows step-by-step construction of a `GetTransferQuotasReq` object.
     */
    static builder(): GetTransferQuotasReqBuilder;
    /**
     * Creates a new instance of the `GetTransferQuotasReq` class with the given data.
     */
    static create(data: {
        /**
         * currency
         */
        currency?: string;
        /**
         * The account type:MAIN, TRADE, MARGIN, ISOLATED, MARGIN_V2, ISOLATED_V2
         */
        type?: GetTransferQuotasReq.TypeEnum;
        /**
         * Trading pair required when the account type is ISOLATED; other types do not pass, e.g.: BTC-USDT
         */
        tag?: string;
    }): GetTransferQuotasReq;
    /**
     * Convert the object to a JSON string.
     */
    toJson(): string;
    /**
     * Create an object from a JSON string.
     */
    static fromJson(input: string): GetTransferQuotasReq;
    /**
     * Create an object from Js Object.
     */
    static fromObject(jsonObject: Object): GetTransferQuotasReq;
}
export declare namespace GetTransferQuotasReq {
    enum TypeEnum {
        /**
         * Funding account
         */
        MAIN,
        /**
         * Spot account
         */
        TRADE,
        /**
         * Spot cross margin account
         */
        MARGIN,
        /**
         * Spot isolated margin account
         */
        ISOLATED,
        /**
         * Option account
         */
        OPTION,
        /**
         * Spot cross margin HF account
         */
        MARGIN_V2,
        /**
         * Spot isolated margin HF account
         */
        ISOLATED_V2
    }
}
export declare class GetTransferQuotasReqBuilder {
    readonly obj: GetTransferQuotasReq;
    constructor(obj: GetTransferQuotasReq);
    /**
     * currency
     */
    setCurrency(value: string): GetTransferQuotasReqBuilder;
    /**
     * The account type:MAIN, TRADE, MARGIN, ISOLATED, MARGIN_V2, ISOLATED_V2
     */
    setType(value: GetTransferQuotasReq.TypeEnum): GetTransferQuotasReqBuilder;
    /**
     * Trading pair required when the account type is ISOLATED; other types do not pass, e.g.: BTC-USDT
     */
    setTag(value: string): GetTransferQuotasReqBuilder;
    /**
     * Get the final object.
     */
    build(): GetTransferQuotasReq;
}
