import * as $dara from '@darabonba/typescript';
export declare class DescribePriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRulesRule extends $dara.Model {
    /**
     * @remarks
     * The description of the pricing rule.
     *
     * @example
     * Receive a 15% discount on a 1-year subscription
     */
    description?: string;
    /**
     * @remarks
     * The ID of the pricing rule.
     *
     * @example
     * 587
     */
    ruleId?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribePriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRules extends $dara.Model {
    rule?: DescribePriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRulesRule[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribePriceResponseBodyPriceInfoPriceDetailInfosDetailInfo 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
     * instance
     */
    resource?: string;
    /**
     * @remarks
     * Details about the pricing rules.
     */
    subRules?: DescribePriceResponseBodyPriceInfoPriceDetailInfosDetailInfoSubRules;
    /**
     * @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 DescribePriceResponseBodyPriceInfoPriceDetailInfos extends $dara.Model {
    detailInfo?: DescribePriceResponseBodyPriceInfoPriceDetailInfosDetailInfo[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribePriceResponseBodyPriceInfoPrice extends $dara.Model {
    /**
     * @remarks
     * The currency unit.
     *
     * 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?: DescribePriceResponseBodyPriceInfoPriceDetailInfos;
    /**
     * @remarks
     * The discount.
     *
     * @example
     * 655.2
     */
    discountPrice?: number;
    /**
     * @remarks
     * The original price.
     *
     * @example
     * 4368
     */
    originalPrice?: number;
    /**
     * @remarks
     * The hourly price of the reserved instance for which the No Upfront or Partial Upfront payment option is used.
     *
     * @example
     * 1
     */
    reservedInstanceHourPrice?: number;
    /**
     * @remarks
     * The transaction price of the order. The transaction price is equal to the original price minus the discount.
     *
     * @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 DescribePriceResponseBodyPriceInfoRelatedPriceMarketplaceImagePrice extends $dara.Model {
    /**
     * @remarks
     * The currency unit.
     *
     * China site (aliyun.com): CNY
     *
     * International site (alibabacloud.com): USD
     *
     * @example
     * CNY
     */
    currency?: string;
    /**
     * @remarks
     * The discount.
     *
     * @example
     * 0
     */
    discountPrice?: number;
    /**
     * @remarks
     * The original price.
     *
     * @example
     * 100
     */
    originalPrice?: number;
    /**
     * @remarks
     * The transaction price, which is equal to the original price minus the discount.
     *
     * @example
     * 100
     */
    tradePrice?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribePriceResponseBodyPriceInfoRelatedPrice extends $dara.Model {
    /**
     * @remarks
     * The Alibaba Cloud Marketplace image price.
     */
    marketplaceImagePrice?: DescribePriceResponseBodyPriceInfoRelatedPriceMarketplaceImagePrice;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribePriceResponseBodyPriceInfoRulesRule extends $dara.Model {
    /**
     * @remarks
     * The description of the promotion rule.
     *
     * @example
     * Receive a 15% discount on a 1-year subscription
     */
    description?: string;
    /**
     * @remarks
     * The ID of the pricing rule.
     *
     * @example
     * 587
     */
    ruleId?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribePriceResponseBodyPriceInfoRules extends $dara.Model {
    rule?: DescribePriceResponseBodyPriceInfoRulesRule[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribePriceResponseBodyPriceInfo extends $dara.Model {
    /**
     * @remarks
     * The price.
     */
    price?: DescribePriceResponseBodyPriceInfoPrice;
    /**
     * @remarks
     * The related price.
     */
    relatedPrice?: DescribePriceResponseBodyPriceInfoRelatedPrice;
    /**
     * @remarks
     * The information about the promotion rules.
     */
    rules?: DescribePriceResponseBodyPriceInfoRules;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribePriceResponseBody extends $dara.Model {
    /**
     * @remarks
     * The information about the prices and promotion rules.
     */
    priceInfo?: DescribePriceResponseBodyPriceInfo;
    /**
     * @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;
    });
}
