import * as $dara from '@darabonba/typescript';
export declare class DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeInstanceType extends $dara.Model {
    /**
     * @remarks
     * The number of vCPUs of the instance type.
     *
     * @example
     * 1
     */
    cores?: number;
    /**
     * @remarks
     * The generation of the instance family.
     *
     * @example
     * ecs-4
     */
    generation?: string;
    /**
     * @remarks
     * The name of the instance type.
     *
     * @example
     * ecs.hfg6.large
     */
    instanceType?: string;
    /**
     * @remarks
     * The instance family.
     *
     * @example
     * ecs.hfg6
     */
    instanceTypeFamily?: string;
    /**
     * @remarks
     * The memory size of the instance type. Unit: MB.
     *
     * @example
     * 8192
     */
    memory?: number;
    /**
     * @remarks
     * Indicates whether the instance type supports I/O optimization.
     *
     * @example
     * optimized
     */
    supportIoOptimized?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeZonesZoneNetworkTypes extends $dara.Model {
    networkType?: string[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeZonesZone extends $dara.Model {
    /**
     * @remarks
     * The details of the network types of the instance type.
     */
    networkTypes?: DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeZonesZoneNetworkTypes;
    /**
     * @remarks
     * The ID of the zone in which the instance type is available.
     *
     * @example
     * cn-hangzhou-h
     */
    zoneNo?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeZones extends $dara.Model {
    zone?: DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeZonesZone[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceType extends $dara.Model {
    /**
     * @remarks
     * The commodity code of the instance type.
     *
     * @example
     * ecs
     */
    commodityCode?: string;
    /**
     * @remarks
     * The billing method of the instances.
     *
     * @example
     * PostPaid
     */
    instanceChargeType?: string;
    /**
     * @remarks
     * The details of the instance type.
     */
    instanceType?: DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeInstanceType;
    /**
     * @remarks
     * The network type of the ECS instances.
     *
     * @example
     * vpc
     */
    networkType?: string;
    /**
     * @remarks
     * The priority based on which the system sorts the instance types.
     *
     * @example
     * 2
     */
    priority?: number;
    /**
     * @remarks
     * The ID of the region in which the instance type is available.
     *
     * @example
     * cn-hangzhou
     */
    regionId?: string;
    /**
     * @remarks
     * The scenario in which the instance type is recommended.
     *
     * @example
     * CREATE
     */
    scene?: string;
    /**
     * @remarks
     * The bidding policy for the spot instances.
     *
     * @example
     * NoSpot
     */
    spotStrategy?: string;
    /**
     * @remarks
     * The ID of the zone in which the instance type is available.
     *
     * @example
     * cn-hangzhou-h
     */
    zoneId?: string;
    /**
     * @remarks
     * The details of the zones in which the instance type is available.
     */
    zones?: DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceTypeZones;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeRecommendInstanceTypeResponseBodyData extends $dara.Model {
    recommendInstanceType?: DescribeRecommendInstanceTypeResponseBodyDataRecommendInstanceType[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeRecommendInstanceTypeResponseBody extends $dara.Model {
    /**
     * @remarks
     * The details of the recommended instance types.
     */
    data?: DescribeRecommendInstanceTypeResponseBodyData;
    /**
     * @remarks
     * The request ID.
     *
     * @example
     * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E
     */
    requestId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
