import { CoreAddress, CoreDate, CoreId, FileReference, ICoreAddress, ICoreDate, ICoreId } from "@nmshd/core-types"; import { CryptoSecretKey, CryptoSignature, ICryptoSecretKey, ICryptoSignature } from "@nmshd/crypto"; import { CoreHash, CoreSynchronizable, ICoreHash, ICoreSynchronizable } from "../../../core"; import { BackboneGetFilesResponse } from "../backbone/BackboneGetFiles"; import { FileMetadata } from "../transmission/FileMetadata"; export interface IFile extends ICoreSynchronizable { secretKey: ICryptoSecretKey; isOwn: boolean; title?: string; filename: string; tags?: string[]; filesize: number; filemodified?: CoreDate; mimetype: string; cipherHash: ICoreHash; createdAt: ICoreDate; expiresAt: ICoreDate; cipherKey: ICryptoSecretKey; description?: string; owner: CoreAddress; ownerSignature: ICryptoSignature; plaintextHash: ICoreHash; createdBy: ICoreAddress; createdByDevice: ICoreId; deletedAt?: ICoreDate; deletedBy?: ICoreAddress; deletedByDevice?: ICoreId; metadata?: any; metadataModifiedAt?: ICoreDate; ownershipToken?: string; ownershipIsLocked?: true; } export declare class File extends CoreSynchronizable implements IFile { readonly technicalProperties: string[]; readonly contentProperties: string[]; readonly metadataProperties: string[]; secretKey: CryptoSecretKey; isOwn: boolean; title?: string; filename: string; tags?: string[]; filesize: number; filemodified?: CoreDate; mimetype: string; cipherHash: CoreHash; createdAt: CoreDate; expiresAt: CoreDate; description?: string; owner: CoreAddress; ownerSignature: CryptoSignature; plaintextHash: CoreHash; createdBy: CoreAddress; createdByDevice: CoreId; cipherKey: CryptoSecretKey; deletedAt?: CoreDate; deletedBy?: CoreAddress; deletedByDevice?: CoreId; metadata?: any; metadataModifiedAt?: CoreDate; ownershipToken?: string; ownershipIsLocked?: true; static from(value: IFile): File; toFileReference(backboneBaseUrl: string): FileReference; setMetadata(metadata: any): this; setOwnershipToken(token: string): this; setOwnershipIsLocked(): this; clearOwnershipToken(): this; static fromBackbone(localData: { id: CoreId; secretKey: ICryptoSecretKey; isOwn: boolean; }, backboneResponse: BackboneGetFilesResponse, metadata: FileMetadata): File; } //# sourceMappingURL=File.d.ts.map