import * as $dara from '@darabonba/typescript';
export declare class DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceOperationLocksOperationLock extends $dara.Model {
    /**
     * @remarks
     * The reason why the instance is locked.
     *
     * @example
     * security
     */
    lockReason?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceOperationLocks extends $dara.Model {
    operationLock?: DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceOperationLocksOperationLock[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceTagsTag extends $dara.Model {
    /**
     * @remarks
     * The tag key.
     *
     * @example
     * TestKey
     */
    tagKey?: string;
    /**
     * @remarks
     * The tag value.
     *
     * @example
     * TestValue
     */
    tagValue?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceTags extends $dara.Model {
    tag?: DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceTagsTag[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeReservedInstancesResponseBodyReservedInstancesReservedInstance extends $dara.Model {
    /**
     * @remarks
     * Indicates the sharing status of the reserved instance when the AllocationType parameter is set to Shared. Valid values:
     *
     * *   allocated: The reserved instance is allocated to another account.
     * *   beAllocated: The reserved instance is allocated by another account.
     *
     * @example
     * allocated
     */
    allocationStatus?: string;
    /**
     * @remarks
     * The creation time.
     *
     * @example
     * 2018-12-10T12:07Z
     */
    creationTime?: string;
    /**
     * @remarks
     * The description.
     *
     * @example
     * testDescription
     */
    description?: string;
    /**
     * @remarks
     * The expiration time.
     *
     * @example
     * 2019-12-10T12:07Z
     */
    expiredTime?: string;
    /**
     * @remarks
     * The number of pay-as-you-go instances that are of the same instance type as the reserved instance and can be matched to the reserved instance.
     *
     * @example
     * 10
     */
    instanceAmount?: number;
    /**
     * @remarks
     * The instance type of the pay-as-you-go instances that can be matched to the reserved instance.
     *
     * @example
     * ecs.g5.large
     */
    instanceType?: string;
    /**
     * @remarks
     * The payment option.
     *
     * @example
     * All Upfront
     */
    offeringType?: string;
    /**
     * @remarks
     * Details about the lock status of the reserved instance.
     */
    operationLocks?: DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceOperationLocks;
    /**
     * @remarks
     * The operating system of the image used by the instance. Valid values:
     *
     * *   Windows
     * *   Linux
     *
     * @example
     * Linux
     */
    platform?: string;
    /**
     * @remarks
     * The region ID.
     *
     * @example
     * cn-hangzhou
     */
    regionId?: string;
    /**
     * @remarks
     * The reserved instance ID.
     *
     * @example
     * ri-bpzhex2ulpzf53****
     */
    reservedInstanceId?: string;
    /**
     * @remarks
     * The name.
     *
     * @example
     * riZbpzhex2ulpzf53****
     */
    reservedInstanceName?: string;
    /**
     * @remarks
     * The resource group ID.
     *
     * @example
     * EcsDocTest
     */
    resourceGroupId?: string;
    /**
     * @remarks
     * The scope.
     *
     * @example
     * region
     */
    scope?: string;
    /**
     * @remarks
     * The effective time.
     *
     * @example
     * 2018-12-10T12:00Z
     */
    startTime?: string;
    /**
     * @remarks
     * The status.
     *
     * @example
     * Active
     */
    status?: string;
    /**
     * @remarks
     * The tags of the reserved instance.
     */
    tags?: DescribeReservedInstancesResponseBodyReservedInstancesReservedInstanceTags;
    /**
     * @remarks
     * The zone ID.
     *
     * @example
     * cn-hangzhou-z
     */
    zoneId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeReservedInstancesResponseBodyReservedInstances extends $dara.Model {
    reservedInstance?: DescribeReservedInstancesResponseBodyReservedInstancesReservedInstance[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeReservedInstancesResponseBody extends $dara.Model {
    /**
     * @remarks
     * The page number.
     *
     * @example
     * 1
     */
    pageNumber?: number;
    /**
     * @remarks
     * The number of entries per page.
     *
     * @example
     * 1
     */
    pageSize?: number;
    /**
     * @remarks
     * The request ID.
     *
     * @example
     * E572643C-6A29-49D6-9D4E-6CFA4E063A3E
     */
    requestId?: string;
    /**
     * @remarks
     * Details about the reserved instances.
     */
    reservedInstances?: DescribeReservedInstancesResponseBodyReservedInstances;
    /**
     * @remarks
     * The total number of reserved instances.
     *
     * @example
     * 1
     */
    totalCount?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
