import * as $dara from '@darabonba/typescript';
export declare class DescribeInstanceModificationPriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRulesRule extends $dara.Model {
    description?: string;
    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 {
    discountPrice?: number;
    originalPrice?: number;
    resource?: string;
    subRules?: DescribeInstanceModificationPriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRules;
    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;
    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 {
    description?: string;
    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;
    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;
    });
}
