import * as $dara from '@darabonba/typescript';
export declare class DescribeInstanceModificationPriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRulesRule extends $dara.Model {
    /**
     * @remarks
     * The description of the pricing rule.
     *
     * @example
     * If you subscribe to an instance for one year, you can receive a 15% discount off the list price.
     */
    description?: string;
    /**
     * @remarks
     * The ID of the pricing rule.
     *
     * @example
     * 315716429631488
     */
    ruleId?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeInstanceModificationPriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRules extends $dara.Model {
    rule?: DescribeInstanceModificationPriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRulesRule[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeInstanceModificationPriceResponseBodyPriceInfoPriceDetailInfosDetailInfo extends $dara.Model {
    /**
     * @remarks
     * The discount.
     *
     * @example
     * 655.2
     */
    discountPrice?: number;
    /**
     * @remarks
     * The original price.
     *
     * @example
     * 4368
     */
    originalPrice?: number;
    /**
     * @remarks
     * The resource name. Valid values:
     *
     * *   InstanceType
     * *   bandwidth
     * *   image
     * *   SystemDisk
     * *   DataDisk
     *
     * @example
     * instanceType
     */
    resource?: string;
    /**
     * @remarks
     * The pricing rules.
     */
    subRules?: DescribeInstanceModificationPriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRules;
    /**
     * @remarks
     * The transaction price.
     *
     * @example
     * 3712.8
     */
    tradePrice?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeInstanceModificationPriceResponseBodyPriceInfoPriceDetailInfos extends $dara.Model {
    detailInfo?: DescribeInstanceModificationPriceResponseBodyPriceInfoPriceDetailInfosDetailInfo[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeInstanceModificationPriceResponseBodyPriceInfoPrice extends $dara.Model {
    /**
     * @remarks
     * The currency unit. Valid values:
     *
     * *   Alibaba Cloud China site (aliyun.com): CNY
     * *   Alibaba Cloud International site (alibabacloud.com): USD
     *
     * @example
     * CNY
     */
    currency?: string;
    /**
     * @remarks
     * The information about the price.
     *
     * >  This parameter is returned only when ResourceType is set to instance.
     */
    detailInfos?: DescribeInstanceModificationPriceResponseBodyPriceInfoPriceDetailInfos;
    /**
     * @remarks
     * The discount.
     *
     * @example
     * 61.320
     */
    discountPrice?: number;
    /**
     * @remarks
     * The original price.
     *
     * @example
     * 175.200
     */
    originalPrice?: number;
    /**
     * @remarks
     * The transaction price, which is equal to the original price minus the discount.
     *
     * @example
     * 113.880
     */
    tradePrice?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeInstanceModificationPriceResponseBodyPriceInfoRulesRule extends $dara.Model {
    /**
     * @remarks
     * The description of the promotion rule.
     *
     * @example
     * Upgrade offers
     */
    description?: string;
    /**
     * @remarks
     * The ID of the promotion rule.
     *
     * @example
     * 1234567890
     */
    ruleId?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeInstanceModificationPriceResponseBodyPriceInfoRules extends $dara.Model {
    rule?: DescribeInstanceModificationPriceResponseBodyPriceInfoRulesRule[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeInstanceModificationPriceResponseBodyPriceInfo extends $dara.Model {
    /**
     * @remarks
     * The price.
     */
    price?: DescribeInstanceModificationPriceResponseBodyPriceInfoPrice;
    /**
     * @remarks
     * The information about the promotion rules.
     */
    rules?: DescribeInstanceModificationPriceResponseBodyPriceInfoRules;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeInstanceModificationPriceResponseBody extends $dara.Model {
    /**
     * @remarks
     * Details about the prices and promotion rules.
     */
    priceInfo?: DescribeInstanceModificationPriceResponseBodyPriceInfo;
    /**
     * @remarks
     * The request ID.
     *
     * @example
     * A3DC3196-379B-4F32-A2C5-B937134FAD8A
     */
    requestId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
