import { Serializable } from '../../../internal/interfaces/serializable';
export declare class SwitchMarginModeReq implements Serializable {
    /**
     * Symbol of the contract, Please refer to [Get Symbol endpoint: symbol](https://www.kucoin.com/docs-new/api-3470220)
     */
    symbol: string;
    /**
     * Modified margin model: ISOLATED (isolated), CROSS (cross margin).
     */
    marginMode: SwitchMarginModeReq.MarginModeEnum;
    /**
     * Private constructor, please use the corresponding static methods to construct the object.
     */
    private constructor();
    /**
     * Creates a new instance of the `SwitchMarginModeReq` class.
     * The builder pattern allows step-by-step construction of a `SwitchMarginModeReq` object.
     */
    static builder(): SwitchMarginModeReqBuilder;
    /**
     * Creates a new instance of the `SwitchMarginModeReq` class with the given data.
     */
    static create(data: {
        /**
         * Symbol of the contract, Please refer to [Get Symbol endpoint: symbol](https://www.kucoin.com/docs-new/api-3470220)
         */
        symbol: string;
        /**
         * Modified margin model: ISOLATED (isolated), CROSS (cross margin).
         */
        marginMode: SwitchMarginModeReq.MarginModeEnum;
    }): SwitchMarginModeReq;
    /**
     * Convert the object to a JSON string.
     */
    toJson(): string;
    /**
     * Create an object from a JSON string.
     */
    static fromJson(input: string): SwitchMarginModeReq;
    /**
     * Create an object from Js Object.
     */
    static fromObject(jsonObject: Object): SwitchMarginModeReq;
}
export declare namespace SwitchMarginModeReq {
    enum MarginModeEnum {
        /**
         * Isolated Margin Mode
         */
        ISOLATED,
        /**
         * Cross Margin MOde
         */
        CROSS
    }
}
export declare class SwitchMarginModeReqBuilder {
    readonly obj: SwitchMarginModeReq;
    constructor(obj: SwitchMarginModeReq);
    /**
     * Symbol of the contract, Please refer to [Get Symbol endpoint: symbol](https://www.kucoin.com/docs-new/api-3470220)
     */
    setSymbol(value: string): SwitchMarginModeReqBuilder;
    /**
     * Modified margin model: ISOLATED (isolated), CROSS (cross margin).
     */
    setMarginMode(value: SwitchMarginModeReq.MarginModeEnum): SwitchMarginModeReqBuilder;
    /**
     * Get the final object.
     */
    build(): SwitchMarginModeReq;
}
