import { Serializable } from '../../../internal/interfaces/serializable';
export declare class ModifySubAccountApiReq implements Serializable {
    /**
     * Sub-account UID
     */
    uid: string;
    /**
     * IP whitelist list, supports up to 20 IPs
     */
    ipWhitelist: Array<string>;
    /**
     * [Permissions](https://www.kucoin.com/docs-new/doc-338144) group list (only General, Spot and Futures permissions can be set, such as \"General, Trade\").
     */
    permissions: Array<ModifySubAccountApiReq.PermissionsEnum>;
    /**
     * apikey remarks (length 4~32)
     */
    label: string;
    /**
     * Sub-account apiKey
     */
    apiKey: string;
    /**
     * Private constructor, please use the corresponding static methods to construct the object.
     */
    private constructor();
    /**
     * Creates a new instance of the `ModifySubAccountApiReq` class.
     * The builder pattern allows step-by-step construction of a `ModifySubAccountApiReq` object.
     */
    static builder(): ModifySubAccountApiReqBuilder;
    /**
     * Creates a new instance of the `ModifySubAccountApiReq` class with the given data.
     */
    static create(data: {
        /**
         * Sub-account UID
         */
        uid: string;
        /**
         * IP whitelist list, supports up to 20 IPs
         */
        ipWhitelist: Array<string>;
        /**
         * [Permissions](https://www.kucoin.com/docs-new/doc-338144) group list (only General, Spot and Futures permissions can be set, such as \"General, Trade\").
         */
        permissions: Array<ModifySubAccountApiReq.PermissionsEnum>;
        /**
         * apikey remarks (length 4~32)
         */
        label: string;
        /**
         * Sub-account apiKey
         */
        apiKey: string;
    }): ModifySubAccountApiReq;
    /**
     * Convert the object to a JSON string.
     */
    toJson(): string;
    /**
     * Create an object from a JSON string.
     */
    static fromJson(input: string): ModifySubAccountApiReq;
    /**
     * Create an object from Js Object.
     */
    static fromObject(jsonObject: Object): ModifySubAccountApiReq;
}
export declare namespace ModifySubAccountApiReq {
    enum PermissionsEnum {
        /**
         *
         */
        GENERAL,
        /**
         *
         */
        SPOT,
        /**
         *
         */
        FUTURES
    }
}
export declare class ModifySubAccountApiReqBuilder {
    readonly obj: ModifySubAccountApiReq;
    constructor(obj: ModifySubAccountApiReq);
    /**
     * Sub-account UID
     */
    setUid(value: string): ModifySubAccountApiReqBuilder;
    /**
     * IP whitelist list, supports up to 20 IPs
     */
    setIpWhitelist(value: Array<string>): ModifySubAccountApiReqBuilder;
    /**
     * [Permissions](https://www.kucoin.com/docs-new/doc-338144) group list (only General, Spot and Futures permissions can be set, such as \"General, Trade\").
     */
    setPermissions(value: Array<ModifySubAccountApiReq.PermissionsEnum>): ModifySubAccountApiReqBuilder;
    /**
     * apikey remarks (length 4~32)
     */
    setLabel(value: string): ModifySubAccountApiReqBuilder;
    /**
     * Sub-account apiKey
     */
    setApiKey(value: string): ModifySubAccountApiReqBuilder;
    /**
     * Get the final object.
     */
    build(): ModifySubAccountApiReq;
}
