import * as $dara from '@darabonba/typescript';
export declare class DescribeSnapshotsResponseBodySnapshotsSnapshotTagsTag extends $dara.Model {
    tagKey?: string;
    tagValue?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeSnapshotsResponseBodySnapshotsSnapshotTags extends $dara.Model {
    tag?: DescribeSnapshotsResponseBodySnapshotsSnapshotTagsTag[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeSnapshotsResponseBodySnapshotsSnapshot extends $dara.Model {
    available?: boolean;
    category?: string;
    creationTime?: string;
    description?: string;
    encrypted?: boolean;
    /**
     * @example
     * 65535
     */
    fullSnapshotSizeInBytes?: number;
    instantAccess?: boolean;
    instantAccessRetentionDays?: number;
    KMSKeyId?: string;
    lastModifiedTime?: string;
    productCode?: string;
    progress?: string;
    regionId?: string;
    remainTime?: number;
    resourceGroupId?: string;
    retentionDays?: number;
    snapshotId?: string;
    snapshotLinkId?: string;
    snapshotName?: string;
    snapshotSN?: string;
    snapshotType?: string;
    sourceDiskId?: string;
    sourceDiskSize?: string;
    sourceDiskType?: string;
    /**
     * @example
     * cn-hangzhou
     */
    sourceRegionId?: string;
    /**
     * @example
     * s-bp67acfmxazb4p****
     */
    sourceSnapshotId?: string;
    sourceStorageType?: string;
    status?: string;
    tags?: DescribeSnapshotsResponseBodySnapshotsSnapshotTags;
    usage?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeSnapshotsResponseBodySnapshots extends $dara.Model {
    snapshot?: DescribeSnapshotsResponseBodySnapshotsSnapshot[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeSnapshotsResponseBody extends $dara.Model {
    /**
     * @remarks
     * A pagination token. It can be used in the next request to retrieve a new page of results.
     *
     * @example
     * caeba0bbb2be03f84eb48b699f0a4883
     */
    nextToken?: string;
    /**
     * @remarks
     * >  This parameter will be removed in the future. We recommend that you use NextToken and MaxResults for a paged query.
     *
     * @example
     * 1
     */
    pageNumber?: number;
    /**
     * @remarks
     * >  This parameter will be removed in the future. We recommend that you use NextToken and MaxResults for a paged query.
     *
     * @example
     * 10
     */
    pageSize?: number;
    /**
     * @remarks
     * The request ID.
     *
     * @example
     * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E
     */
    requestId?: string;
    snapshots?: DescribeSnapshotsResponseBodySnapshots;
    /**
     * @remarks
     * The total number of snapshots.
     *
     * > When using the `MaxResults` and `NextToken` parameters for a paginated query, the returned `TotalCount` parameter value is invalid.
     *
     * @example
     * 1
     */
    totalCount?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
