import * as $dara from '@darabonba/typescript';
export declare class ModifyInstanceChargeTypeRequest extends $dara.Model {
    /**
     * @remarks
     * Specifies whether to automatically complete the payment. Valid values:
     *
     * *   true: enables automatic payment. Maintain a sufficient account balance. Otherwise, your order becomes invalid and is canceled.
     * *   false: disables automatic payment. An order is generated but no payment is made.
     *
     * Default value: true.
     *
     * >  If your account balance is insufficient, you can set AutoPay to false to generate an unpaid order. Then, you can log on to the ECS console to pay for the order.
     *
     * @example
     * false
     */
    autoPay?: boolean;
    /**
     * @remarks
     * The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The **token** can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](https://help.aliyun.com/document_detail/25693.html).
     *
     * @example
     * 123e4567-e89b-12d3-a456-426655440000
     */
    clientToken?: string;
    /**
     * @remarks
     * Specifies whether to perform only a dry run, without performing the actual request. Valid values:
     *
     * *   true: performs only a dry run. The system checks the request for potential issues, including invalid AccessKey pairs, unauthorized Resource Access Management (RAM) users, and missing parameter values. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.
     * *   false: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.
     *
     * Default value: false.
     *
     * @example
     * false
     */
    dryRun?: boolean;
    /**
     * @remarks
     * Specifies whether to change the billing method of all data disks on the instance from pay-as-you-go to subscription. Valid values:
     *
     * *   true
     * *   false
     *
     * Default value: false.
     *
     * @example
     * false
     */
    includeDataDisks?: boolean;
    /**
     * @remarks
     * The new billing method of the instance. Valid values:
     *
     * *   PrePaid: subscription
     * *   PostPaid: pay-as-you-go
     *
     * Default value: PrePaid.
     *
     * @example
     * PrePaid
     */
    instanceChargeType?: string;
    /**
     * @remarks
     * The instance IDs. The value can be a JSON array that consists of up to 20 instance IDs. Separate the instance IDs with commas (,).
     *
     * This parameter is required.
     *
     * @example
     * ["i-bp67acfmxazb4p****","i-bp67acfmxazb4d****"]
     */
    instanceIds?: string;
    /**
     * @remarks
     * Specifies whether to return cost details of the order after the billing method is changed from subscription to pay-as-you-go. Valid values:
     *
     * *   true
     * *   false
     *
     * Default value: false.
     *
     * @example
     * false
     */
    isDetailFee?: boolean;
    ownerAccount?: string;
    ownerId?: number;
    /**
     * @remarks
     * The renewal duration of the subscription instance. If the instance is hosted on a dedicated host, the renewal duration of the instance cannot exceed the subscription duration of the dedicated host. Valid values:
     *
     * Valid values when `PeriodUnit` is set to Month: `1, 2, 3, 4, 5, 6, 7, 8, 9, and 12`.
     *
     * @example
     * 1
     */
    period?: number;
    /**
     * @remarks
     * The unit of the renewal duration specified by `Period`. Valid values:
     *
     * Month
     *
     * Default value: Month.
     *
     * @example
     * Month
     */
    periodUnit?: string;
    /**
     * @remarks
     * The region ID of the instance. 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;
    });
}
