import * as $dara from '@darabonba/typescript';
export declare class DescribeInstanceModificationPriceRequestSystemDisk extends $dara.Model {
    /**
     * @remarks
     * The category of the system disk. You must specify this parameter only when you upgrade a non-I/O optimized instance of a retired instance type to an I/O optimized instance of an available instance type. For more information about instance types, see [Instance families](https://help.aliyun.com/document_detail/25378.html) and [Retired instance types](https://help.aliyun.com/document_detail/55263.html).
     *
     * Valid values:
     *
     * *   cloud_efficiency: ultra disk
     * *   cloud_ssd: standard SSD
     *
     * This parameter is empty by default.
     *
     * @example
     * cloud_ssd
     */
    category?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeInstanceModificationPriceRequestDataDisk extends $dara.Model {
    /**
     * @remarks
     * The category of data disk N. You can specify this parameter if you want to query the pricing information about newly attached subscription data disks. Valid values of N: 1 to 16. Valid values:
     *
     * *   cloud_efficiency: utra disk.
     * *   cloud_ssd: standard SSD.
     * *   cloud_essd: ESSD.
     * *   cloud: basic disk.
     *
     * This parameter is empty by default.
     *
     * >  When you call the DescribeInstanceModificationPrice operation, you must specify at least one of the following parameters: `InstanceType` and `DataDisk.N.*`.
     *
     * @example
     * cloud_essd
     */
    category?: string;
    /**
     * @remarks
     * The performance level of data disk N that is an enhanced SSD (ESSD). The value of N must be the same as that in `DataDisk.N.Category` when DataDisk.N.Category is set to cloud_essd. Valid values:
     *
     * *   PL0: A single ESSD can deliver up to 10,000 random read/write IOPS.
     * *   PL1: A single ESSD can deliver up to 50,000 random read/write IOPS.
     * *   PL2: A single ESSD can deliver up to 100,000 random read/write IOPS.
     * *   PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS.
     *
     * Default value: PL1.
     *
     * For more information about ESSD performance levels, see [ESSDs](https://help.aliyun.com/document_detail/122389.html).
     *
     * @example
     * PL1
     */
    performanceLevel?: string;
    /**
     * @remarks
     * The capacity of data disk N. Valid values of N: 1 to 16. Unit: GiB. Valid values:
     *
     * *   Valid values when DataDisk.N.Category is set to cloud_efficiency: 20 to 32768.
     *
     * *   Valid values when DataDisk.N.Category is set to cloud_ssd: 20 to 32768.
     *
     * *   Valid values when DataDisk.N.Category is set to cloud_essd: vary based on the `DataDisk.N.PerformanceLevel` value.
     *
     *     *   Valid values when DataDisk.N.PerformanceLevel is set to PL0: 1 to 32768.
     *     *   Valid values when DataDisk.N.PerformanceLevel is set to PL1: 20 to 32768.
     *     *   Valid values when DataDisk.N.PerformanceLevel is set to PL2: 461 to 32768.
     *     *   Valid values when DataDisk.N.PerformanceLevel is set to PL3: 1261 to 32768.
     *
     * *   Valid values when DataDisk.N.Category is set to cloud: 5 to 2000.
     *
     * The default value is the minimum capacity allowed for the specified data disk category.
     *
     * @example
     * 100
     */
    size?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeInstanceModificationPriceRequest extends $dara.Model {
    systemDisk?: DescribeInstanceModificationPriceRequestSystemDisk;
    /**
     * @remarks
     * The information about data disks.
     */
    dataDisk?: DescribeInstanceModificationPriceRequestDataDisk[];
    /**
     * @remarks
     * The ID of the instance for which you want to query pricing information for a configuration upgrade.
     *
     * This parameter is required.
     *
     * @example
     * i-bp1f2o4ldh8l****
     */
    instanceId?: string;
    /**
     * @remarks
     * The new instance type. We recommend that you call the [DescribeResourcesModification](https://help.aliyun.com/document_detail/66187.html) operation to query the instance types available for configuration upgrades in a specified zone.
     *
     * > When you call the DescribeInstanceModificationPrice operation, you must specify at least one of the following parameters: `InstanceType` and `DataDisk.N.*`.
     *
     * @example
     * ecs.g6e.large
     */
    instanceType?: string;
    ownerAccount?: string;
    ownerId?: number;
    /**
     * @remarks
     * The region ID. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent region list.
     *
     * This parameter is required.
     *
     * @example
     * cn-hangzhou
     */
    regionId?: string;
    resourceOwnerAccount?: string;
    resourceOwnerId?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
