import { ObjectLegalHoldStatusEnum } from './storage/ObjectLegalHoldStatusEnum';
import { ObjectReplicationStatusEnum } from './storage/ObjectReplicationStatusEnum';
import { StorageClassEnum } from './storage/StorageClassEnum';
import { StorageObjectRestoreStatus } from './StorageObjectRestoreStatus';
import { StorageObjectRetentionConfiguration } from './StorageObjectRetentionConfiguration';
/** Object */
export interface StorageObject {
    /** The entity tag is a hash of the object that reflects changes only to the contents. The etag is omitted when isDeleteMarker is true. */
    etag?: string;
    /** True when the entry represents a delete marker. This field is included only when using withVersions set to true. */
    isDeleteMarker?: boolean;
    /** True when the entry is the latest version of the object or delete marker. */
    isLatest?: boolean;
    /** The name assigned to an object. Use the object key to retrieve the object. */
    key: string;
    /** Last modification date. */
    lastModified: string;
    /** Object legal hold status. */
    legalHold?: ObjectLegalHoldStatusEnum;
    /** Object lock retention configuration, if any. */
    lock?: StorageObjectRetentionConfiguration;
    /** Object replication status. */
    replicationStatus?: ObjectReplicationStatusEnum;
    /** Specifies the restoration status of an object, if any. Objects in certain storage classes must be restored before they can be retrieved. */
    restoreStatus?: StorageObjectRestoreStatus;
    /** Size in bytes of the object. */
    size: number;
    /** The storage class used to store the object. */
    storageClass?: StorageClassEnum;
    /** The version ID of the object. */
    versionId?: string;
}
//# sourceMappingURL=StorageObject.d.ts.map