Constructors
Properties
Readonly
utils
utils: { chunkArray: <T>(array: T[], chunkSize: number) => T[][]; clearTempDirectory: (param0: { tmpDir?: string }) => Promise<void>; convertTimestampToMs: (timestamp: number) => number; crypto: { bufferToHash: ( param0: { algorithm: "sha512" | "sha256" | "md5"; buffer: Uint8Array }, ) => Promise<string>; deriveKeyFromPassword: { ( __namedParameters: DeriveKeyFromPasswordBase & { returnHex: false }, ): Promise<Buffer>; ( __namedParameters: DeriveKeyFromPasswordBase & { returnHex: true }, ): Promise<string>; }; derKeyToPem: (param0: { key: string }) => Promise<string>; generateEncryptionKey: (use: "file" | "metadata") => Promise<string>; generateKeyPair: () => Promise<{ privateKey: string; publicKey: string }>; generatePasswordAndMasterKeyBasedOnAuthVersion: ( param0: { authVersion: AuthVersion; rawPassword: string; salt: string; }, ) => Promise<{ derivedMasterKeys: string; derivedPassword: string }>; generatePrivateKeyHMAC: (privateKey: string) => Promise<Buffer>; generateRandomBytes: (length?: number) => Promise<Buffer>; generateRandomHexString: (length?: number) => Promise<string>; generateRandomString: (length?: number) => Promise<string>; generateSearchIndexHashes: ( __namedParameters: { hmacKey: Buffer; input: string }, ) => Promise<string[]>; hashFileName: ( __namedParameters: { authVersion: AuthVersion; hmacKey?: Buffer; name: string; }, ) => Promise<string>; hashFn: (param0: { input: string }) => Promise<string>; hashPassword: (param0: { password: string }) => Promise<string>; hashSearchIndex: ( __namedParameters: { hmacKey: Buffer; name: string }, ) => Promise<string>; importPBKDF2Key: ( param0: { key: string; keyCache?: boolean; mode?: KeyUsage[] }, ) => Promise<CryptoKey>; importPrivateKey: ( param0: { keyCache?: boolean; mode?: KeyUsage[]; privateKey: string }, ) => Promise<CryptoKey>; importPublicKey: ( param0: { keyCache?: boolean; mode?: KeyUsage[]; publicKey: string }, ) => Promise<CryptoKey>; importRawKey: ( param0: { algorithm: "AES-GCM" | "AES-CBC"; key: Buffer; keyCache?: boolean; mode?: KeyUsage[]; }, ) => Promise<CryptoKey>; }; fastStringHash: (input: string) => string; getEveryPossibleDirectoryPath: (path: string) => string[]; getRandomArbitrary: (min: number, max: number) => number; isValidDirectoryName: (name: string) => boolean; isValidFileName: (name: string) => boolean; isValidHexString: (str: string) => boolean; nameSplitter: (input: string) => string[]; nodeStreamToBuffer: (stream: Readable) => Promise<Buffer>; normalizePath: (path: string) => string; parseURLParams: (param0: { url: string }) => Record<string, string>; progressiveSplit: (input: string) => string[]; promiseAllChunked: <T>( promises: Promise<T>[], chunkSize?: number, ) => Promise<T[]>; replacePathStartWithFromAndTo: ( path: string, from: string, to: string, ) => string; simpleDate: (timestamp: number) => string; sleep: (ms: number) => Promise<void>; streams: { append: ( param0: { baseFile: string; inputFile: string }, ) => Promise<number>; decodeBase64: ( param0: { inputFile: string; outputFile: string }, ) => Promise<string>; encodeBase64: ( param0: { inputFile: string; outputFile: string }, ) => Promise<string>; }; Uint8ArrayConcat: (a1: Uint8Array, a2: Uint8Array) => Uint8Array; uuidv4: () => Promise<string>;} = ... Type declaration
chunkArray: <T>(array: T[], chunkSize: number) => T[][]
clearTempDirectory: (param0: { tmpDir?: string }) => Promise<void>
convertTimestampToMs: (timestamp: number) => number
crypto: {
bufferToHash: (
param0: { algorithm: "sha512" | "sha256" | "md5"; buffer: Uint8Array },
) => Promise<string>;
deriveKeyFromPassword: {
(
__namedParameters: DeriveKeyFromPasswordBase & { returnHex: false },
): Promise<Buffer>;
(
__namedParameters: DeriveKeyFromPasswordBase & { returnHex: true },
): Promise<string>;
};
derKeyToPem: (param0: { key: string }) => Promise<string>;
generateEncryptionKey: (use: "file" | "metadata") => Promise<string>;
generateKeyPair: () => Promise<{ privateKey: string; publicKey: string }>;
generatePasswordAndMasterKeyBasedOnAuthVersion: (
param0: { authVersion: AuthVersion; rawPassword: string; salt: string },
) => Promise<{ derivedMasterKeys: string; derivedPassword: string }>;
generatePrivateKeyHMAC: (privateKey: string) => Promise<Buffer>;
generateRandomBytes: (length?: number) => Promise<Buffer>;
generateRandomHexString: (length?: number) => Promise<string>;
generateRandomString: (length?: number) => Promise<string>;
generateSearchIndexHashes: (
__namedParameters: { hmacKey: Buffer; input: string },
) => Promise<string[]>;
hashFileName: (
__namedParameters: {
authVersion: AuthVersion;
hmacKey?: Buffer;
name: string;
},
) => Promise<string>;
hashFn: (param0: { input: string }) => Promise<string>;
hashPassword: (param0: { password: string }) => Promise<string>;
hashSearchIndex: (
__namedParameters: { hmacKey: Buffer; name: string },
) => Promise<string>;
importPBKDF2Key: (
param0: { key: string; keyCache?: boolean; mode?: KeyUsage[] },
) => Promise<CryptoKey>;
importPrivateKey: (
param0: { keyCache?: boolean; mode?: KeyUsage[]; privateKey: string },
) => Promise<CryptoKey>;
importPublicKey: (
param0: { keyCache?: boolean; mode?: KeyUsage[]; publicKey: string },
) => Promise<CryptoKey>;
importRawKey: (
param0: {
algorithm: "AES-GCM" | "AES-CBC";
key: Buffer;
keyCache?: boolean;
mode?: KeyUsage[];
},
) => Promise<CryptoKey>;
}
bufferToHash: (
param0: { algorithm: "sha512" | "sha256" | "md5"; buffer: Uint8Array },
) => Promise<string>
deriveKeyFromPassword: {
(
__namedParameters: DeriveKeyFromPasswordBase & { returnHex: false },
): Promise<Buffer>;
(
__namedParameters: DeriveKeyFromPasswordBase & { returnHex: true },
): Promise<string>;
}
derKeyToPem: (param0: { key: string }) => Promise<string>
generateEncryptionKey: (use: "file" | "metadata") => Promise<string>
generateKeyPair: () => Promise<{ privateKey: string; publicKey: string }>
generatePasswordAndMasterKeyBasedOnAuthVersion: (
param0: { authVersion: AuthVersion; rawPassword: string; salt: string },
) => Promise<{ derivedMasterKeys: string; derivedPassword: string }>
generatePrivateKeyHMAC: (privateKey: string) => Promise<Buffer>
generateRandomBytes: (length?: number) => Promise<Buffer>
generateRandomHexString: (length?: number) => Promise<string>
generateRandomString: (length?: number) => Promise<string>
generateSearchIndexHashes: (__namedParameters: { hmacKey: Buffer; input: string }) => Promise<string[]>
hashFileName: (
__namedParameters: {
authVersion: AuthVersion;
hmacKey?: Buffer;
name: string;
},
) => Promise<string>
hashFn: (param0: { input: string }) => Promise<string>
hashPassword: (param0: { password: string }) => Promise<string>
hashSearchIndex: (__namedParameters: { hmacKey: Buffer; name: string }) => Promise<string>
importPBKDF2Key: (
param0: { key: string; keyCache?: boolean; mode?: KeyUsage[] },
) => Promise<CryptoKey>
importPrivateKey: (
param0: { keyCache?: boolean; mode?: KeyUsage[]; privateKey: string },
) => Promise<CryptoKey>
importPublicKey: (
param0: { keyCache?: boolean; mode?: KeyUsage[]; publicKey: string },
) => Promise<CryptoKey>
importRawKey: (
param0: {
algorithm: "AES-GCM" | "AES-CBC";
key: Buffer;
keyCache?: boolean;
mode?: KeyUsage[];
},
) => Promise<CryptoKey>
fastStringHash: (input: string) => string
getEveryPossibleDirectoryPath: (path: string) => string[]
getRandomArbitrary: (min: number, max: number) => number
isValidDirectoryName: (name: string) => boolean
isValidFileName: (name: string) => boolean
isValidHexString: (str: string) => boolean
nameSplitter: (input: string) => string[]
nodeStreamToBuffer: (stream: Readable) => Promise<Buffer>
normalizePath: (path: string) => string
parseURLParams: (param0: { url: string }) => Record<string, string>
progressiveSplit: (input: string) => string[]
promiseAllChunked: <T>(promises: Promise<T>[], chunkSize?: number) => Promise<T[]>
replacePathStartWithFromAndTo: (path: string, from: string, to: string) => string
simpleDate: (timestamp: number) => string
sleep: (ms: number) => Promise<void>
streams: {
append: (
param0: { baseFile: string; inputFile: string },
) => Promise<number>;
decodeBase64: (
param0: { inputFile: string; outputFile: string },
) => Promise<string>;
encodeBase64: (
param0: { inputFile: string; outputFile: string },
) => Promise<string>;
}
append: (param0: { baseFile: string; inputFile: string }) => Promise<number>
decodeBase64: (param0: { inputFile: string; outputFile: string }) => Promise<string>
encodeBase64: (param0: { inputFile: string; outputFile: string }) => Promise<string>
Uint8ArrayConcat: (a1: Uint8Array, a2: Uint8Array) => Uint8Array
uuidv4: () => Promise<string>
Methods
api
api( version: number,): { auth: () => { info: (...params: [{ email: string }]) => Promise<AuthInfoResponse>; }; chat: () => { conversations: (...params: []) => Promise<ChatConversation[]>; conversationsCreate: ( ...params: [{ metadata: string; ownerMetadata: string; uuid: string }], ) => Promise<void>; conversationsDelete: (...params: [{ uuid: string }]) => Promise<void>; conversationsLeave: (...params: [{ uuid: string }]) => Promise<void>; conversationsName: () => { edit: (...params: [{ name: string; uuid: string }]) => Promise<void>; }; conversationsOnline: ( ...params: [{ conversation: string }], ) => Promise<ChatConversationsOnlineResponse>; conversationsParticipants: () => { add: ( ...params: [{ contactUUID: string; metadata: string; uuid: string }], ) => Promise<void>; remove: (...params: [{ userId: number; uuid: string }]) => Promise<void>; }; conversationsRead: (...params: [{ uuid: string }]) => Promise<void>; conversationsUnread: ( ...params: [{ uuid: string }], ) => Promise<ChatConversationsUnreadResponse>; delete: (...params: [{ uuid: string }]) => Promise<void>; edit: ( ...params: [{ conversation: string; message: string; uuid: string }], ) => Promise<void>; lastFocus: (...params: []) => Promise<ChatLastFocusValues[]>; lastFocusUpdate: ( ...params: [{ conversations: ChatLastFocusValues[] }], ) => Promise<void>; message: () => { embed: () => { disable: (...params: [{ uuid: string }]) => Promise<void>; }; }; messages: ( ...params: [{ conversation: string; timestamp: number }], ) => Promise<ChatMessage[]>; send: ( ...params: [ { conversation: string; message: string; replyTo: string; uuid: string; }, ], ) => Promise<void>; typing: ( ...params: [{ conversation: string; type: ChatTypingType }], ) => Promise<void>; unread: (...params: []) => Promise<ChatUnreadResponse>; }; confirmationSend: (...params: [{ email: string }]) => Promise<void>; contacts: () => { all: (...params: []) => Promise<ContactsResponse>; blocked: (...params: []) => Promise<ContactsBlockedResponse>; blockedAdd: (...params: [{ email: string }]) => Promise<void>; blockedDelete: (...params: [{ uuid: string }]) => Promise<void>; delete: (...params: [{ uuid: string }]) => Promise<void>; requestsAccept: (...params: [{ uuid: string }]) => Promise<void>; requestsDeny: (...params: [{ uuid: string }]) => Promise<void>; requestsIn: (...params: []) => Promise<ContactsRequestsInResponse>; requestsInCount: (...params: []) => Promise<number>; requestsOut: (...params: []) => Promise<ContactsRequestsOutResponse>; requestsOutDelete: (...params: [{ uuid: string }]) => Promise<void>; requestsSend: (...params: [{ email: string }]) => Promise<void>; }; dir: () => { color: (...params: [{ color: string; uuid: string }]) => Promise<void>; content: ( ...params: [{ dirsOnly?: boolean; uuid: string }], ) => Promise<DirContentResponse>; create: ( ...params: [ { metadataEncrypted: string; nameHashed: string; parent: string; uuid?: string; }, ], ) => Promise<DirCreateResponse>; delete: () => { permanent: (...params: [{ uuid: string }]) => Promise<void>; }; download: ( ...params: [ { linkHasPassword?: boolean; linkPassword?: string; linkSalt?: string; linkUUID?: string; skipCache?: boolean; type?: DirDownloadType; uuid: string; }, ], ) => Promise<DirDownloadResponse>; exists: ( ...params: [{ nameHashed: string; parent: string }], ) => Promise<DirExistsResponse>; get: (...params: [{ uuid: string }]) => Promise<DirGetResponse>; link: () => { add: ( ...params: [ { expiration: string; key: string; linkUUID: string; metadata: string; parent: string; type: string; uuid: string; }, ], ) => Promise<void>; content: ( ...params: [{ parent: string; password: string; uuid: string }], ) => Promise<DirLinkContentResponse>; edit: ( ...params: [ { downloadBtn: boolean; expiration: PublicLinkExpiration; password: string; passwordHashed: string; salt: string; uuid: string; }, ], ) => Promise<void>; info: (...params: [{ uuid: string }]) => Promise<DirLinkInfoResponse>; remove: (...params: [{ uuid: string }]) => Promise<void>; status: (...params: [{ uuid: string }]) => Promise<DirLinkStatusResponse>; }; linked: (...params: [{ uuid: string }]) => Promise<DirLinkedResponse>; metadata: ( ...params: [ { metadataEncrypted: string; nameHashed: string; uuid: string }, ], ) => Promise<void>; move: (...params: [{ to: string; uuid: string }]) => Promise<void>; present: (...params: [{ uuid: string }]) => Promise<DirPresentResponse>; rename: ( ...params: [ { metadataEncrypted: string; nameHashed: string; uuid: string }, ], ) => Promise<void>; restore: (...params: [{ uuid: string }]) => Promise<void>; shared: (...params: [{ uuid: string }]) => Promise<DirSharedResponse>; size: ( ...params: [ { receiverId?: number; sharerId?: number; trash?: boolean; uuid: string; }, ], ) => Promise<DirSizeResponse>; sizeLink: ( ...params: [{ linkUUID: string; uuid: string }], ) => Promise<DirSizeLinkResponse>; trash: (...params: [{ uuid: string }]) => Promise<void>; tree: ( ...params: [ { deviceId: string; includeRaw?: boolean; skipCache?: boolean; uuid: string; }, ], ) => Promise<DirTreeResponse>; }; file: () => { delete: () => { permanent: (...params: [{ uuid: string }]) => Promise<void>; }; download: () => { chunk: () => { buffer: ( ...params: [ { abortSignal?: (...)
| (...)
; bucket: string; chunk: number; onProgress?: (...)
| (...)
; onProgressId?: (...)
| (...)
; region: string; timeout?: (...)
| (...)
; uuid: string; }, ], ) => Promise<Buffer>; local: ( ...params: [ { abortSignal?: (...)
| (...)
; bucket: string; chunk: number; onProgress?: (...)
| (...)
; onProgressId?: (...)
| (...)
; region: string; timeout?: (...)
| (...)
; to: string; uuid: string; }, ], ) => Promise<void>; stream: ( ...params: [ { abortSignal?: (...)
| (...)
; bucket: string; chunk: number; onProgress?: (...)
| (...)
; onProgressId?: (...)
| (...)
; region: string; timeout?: (...)
| (...)
; uuid: string; }, ], ) => Promise<ReadableStream<(...)
> | ReadStream>; }; }; exists: ( ...params: [{ nameHashed: string; parent: string }], ) => Promise<FileExistsResponse>; get: (...params: [{ uuid: string }]) => Promise<FileGetResponse>; link: () => { edit: ( ...params: [ { downloadBtn: boolean; expiration: PublicLinkExpiration; fileUUID: string; password: string; passwordHashed: string; salt: string; type: "enable" | "disable"; uuid: string; }, ], ) => Promise<void>; info: ( ...params: [{ password: string; uuid: string }], ) => Promise<FileLinkInfoResponse>; password: ( ...params: [{ uuid: string }], ) => Promise<FileLinkPasswordResponse>; status: ( ...params: [{ uuid: string }], ) => Promise<FileLinkStatusResponse>; }; metadata: ( ...params: [ { metadataEncrypted: string; nameEncrypted: string; nameHashed: string; uuid: string; }, ], ) => Promise<void>; move: (...params: [{ to: string; uuid: string }]) => Promise<void>; present: (...params: [{ uuid: string }]) => Promise<FilePresentResponse>; rename: ( ...params: [ { metadataEncrypted: string; nameEncrypted: string; nameHashed: string; uuid: string; }, ], ) => Promise<void>; restore: (...params: [{ uuid: string }]) => Promise<void>; trash: (...params: [{ uuid: string }]) => Promise<void>; upload: () => { chunk: () => { buffer: ( ...params: [ { abortSignal?: (...)
| (...)
; buffer: Buffer; index: number; maxRetries?: (...)
| (...)
; onProgress?: (...)
| (...)
; onProgressId?: (...)
| (...)
; parent: string; retryTimeout?: (...)
| (...)
; timeout?: (...)
| (...)
; uploadKey: string; uuid: string; }, ], ) => Promise<UploadChunkResponse>; }; }; version: () => { restore: ( ...params: [{ currentUUID: string; uuid: string }], ) => Promise<void>; }; versions: (...params: [{ uuid: string }]) => Promise<FileVersionsResponse>; }; health: () => Promise<"OK">; item: () => { favorite: ( ...params: [ { favorite: boolean; type: "file" | "folder"; uuid: string }, ], ) => Promise<void>; linked: (...params: [{ uuid: string }]) => Promise<ItemLinkedResponse>; linkedRename: ( ...params: [{ linkUUID: string; metadata: string; uuid: string }], ) => Promise<void>; share: ( ...params: [ { email: string; metadata: string; parent: string; type: "file" | "folder"; uuid: string; }, ], ) => Promise<void>; shared: (...params: [{ uuid: string }]) => Promise<ItemSharedResponse>; sharedIn: () => { remove: (...params: [{ uuid: string }]) => Promise<void>; }; sharedOut: () => { remove: ( ...params: [{ receiverId: number; uuid: string }], ) => Promise<void>; }; sharedRename: ( ...params: [{ metadata: string; receiverId: number; uuid: string }], ) => Promise<void>; }; login: ( ...params: [ { authVersion: AuthVersion; email: string; password: string; twoFactorCode?: string; }, ], ) => Promise<LoginResponse>; notes: () => { all: (...params: []) => Promise<NotesResponse>; archive: (...params: [{ uuid: string }]) => Promise<void>; content: (...params: [{ uuid: string }]) => Promise<NoteContent>; contentEdit: ( ...params: [ { content: string; preview: string; type: NoteType; uuid: string }, ], ) => Promise<void>; create: ( ...params: [{ metadata: string; title: string; uuid: string }], ) => Promise<void>; delete: (...params: [{ uuid: string }]) => Promise<void>; favorite: ( ...params: [{ favorite: boolean; uuid: string }], ) => Promise<void>; history: (...params: [{ uuid: string }]) => Promise<NotesHistoryResponse>; historyRestore: ( ...params: [{ id: number; uuid: string }], ) => Promise<void>; participantsAdd: ( ...params: [ { contactUUID: string; metadata: string; permissionsWrite: boolean; uuid: string; }, ], ) => Promise<void>; participantsPermissions: ( ...params: [ { permissionsWrite: boolean; userId: number; uuid: string }, ], ) => Promise<void>; participantsRemove: ( ...params: [{ userId: number; uuid: string }], ) => Promise<void>; pinned: (...params: [{ pinned: boolean; uuid: string }]) => Promise<void>; restore: (...params: [{ uuid: string }]) => Promise<void>; tag: (...params: [{ tag: string; uuid: string }]) => Promise<void>; tags: (...params: []) => Promise<NotesTagsResponse>; tagsCreate: ( ...params: [{ name: string }], ) => Promise<NotesTagsCreateResponse>; tagsDelete: (...params: [{ uuid: string }]) => Promise<void>; tagsFavorite: ( ...params: [{ favorite: boolean; uuid: string }], ) => Promise<void>; tagsRename: (...params: [{ name: string; uuid: string }]) => Promise<void>; titleEdit: (...params: [{ title: string; uuid: string }]) => Promise<void>; trash: (...params: [{ uuid: string }]) => Promise<void>; typeChange: ( ...params: [ { content: string; preview: string; type: NoteType; uuid: string }, ], ) => Promise<void>; untag: (...params: [{ tag: string; uuid: string }]) => Promise<void>; }; register: ( ...params: [ { affId?: string; authVersion: AuthVersion; email: string; password: string; refId?: string; salt: string; }, ], ) => Promise<void>; search: () => { add: ( ...params: [{ items: SearchAddItem[] }], ) => Promise<SearchAddResponse>; find: (...params: [{ hashes: string[] }]) => Promise<SearchFindResponse>; }; shared: () => { in: ( ...params: [params
?: { uuid?: string }], ) => Promise<SharedInResponse>; out: ( ...params: [params
?: { receiverId?: number; uuid?: string }], ) => Promise<SharedOutResponse>; }; trash: () => { empty: (...params: []) => Promise<void> }; upload: () => { done: ( ...params: [ { chunks: number; metadata: string; mime: string; name: string; nameHashed: string; rm: string; size: string; uploadKey: string; uuid: string; version: FileEncryptionVersion; }, ], ) => Promise<UploadDoneResponse>; empty: ( ...params: [ { metadata: string; mime: string; name: string; nameHashed: string; parent: string; size: string; uuid: string; version: FileEncryptionVersion; }, ], ) => Promise<UploadEmptyResponse>; }; user: () => { account: (...params: []) => Promise<UserAccountResponse>; affiliate: () => { payout: ( ...params: [{ address: string; method: string }], ) => Promise<void>; }; appearOffline: (...params: [{ appearOffline: boolean }]) => Promise<void>; avatar: (...params: [{ base64: string; hash: string }]) => Promise<void>; baseFolder: ( ...params: [{ apiKey?: string }], ) => Promise<UserBaseFolderResponse>; delete: (...params: [{ twoFactorCode?: string }]) => Promise<void>; deleteAll: (...params: []) => Promise<void>; deleteVersions: (...params: []) => Promise<void>; didExportMasterKeys: (...params: []) => Promise<void>; event: (...params: [{ uuid: string }]) => Promise<UserEvent>; events: ( ...params: [{ filter: string; lastTimestamp: number }], ) => Promise<UserEvent[]>; gdpr: (...params: []) => Promise<UserGDPRResponse>; getDEK: ( ...params: [params
?: { apiKey?: string }], ) => Promise<UserGetDEKResponse>; info: (...params: [{ apiKey?: string }]) => Promise<UserInfoResponse>; invoice: (...params: [{ uuid: string }]) => Promise<string>; keyPair: () => { info: ( ...params: [{ apiKey?: string }], ) => Promise<UserKeyPairInfoResponse>; set: ( ...params: [ { apiKey?: string; encryptedPrivateKey: string; publicKey: string }, ], ) => Promise<void>; update: ( ...params: [ { apiKey?: string; encryptedPrivateKey: string; publicKey: string }, ], ) => Promise<void>; }; lastActive: () => { desktop: (...params: [{ timestamp: number }]) => Promise<void>; }; lock: ( ...params: [ { resource: string; type: "acquire" | "refresh" | "status" | "release"; uuid: string; }, ], ) => Promise<UserLockResponse>; loginAlerts: (...params: [{ enable: boolean }]) => Promise<void>; masterKeys: ( ...params: [{ apiKey?: string; encryptedMasterKeys: string }], ) => Promise<UserMasterKeysResponse>; nickname: (...params: [{ nickname: string }]) => Promise<void>; password: () => { forgot: (...params: [{ email: string }]) => Promise<void>; forgotReset: ( ...params: [ { authVersion: number; hasRecoveryKeys: boolean; newMasterKeys: string; password: string; salt: string; token: string; }, ], ) => Promise<void>; }; personal: () => { change: ( ...params: [ { city: string; companyName: string; country: string; firstName: string; lastName: string; postalCode: string; street: string; streetNumber: string; vatId: string; }, ], ) => Promise<void>; }; profile: (...params: [{ id: number }]) => Promise<UserProfileResponse>; publicKey: ( ...params: [{ email: string }], ) => Promise<UserPublicKeyResponse>; setDEK: ( ...params: [{ apiKey?: string; encryptedDEK: string }], ) => Promise<void>; settings: (...params: []) => Promise<UserSettingsResponse>; settingsEmail: () => { change: ( ...params: [ { authVersion: AuthVersion; email: string; password: string }, ], ) => Promise<void>; }; settingsPassword: () => { change: ( ...params: [ { authVersion: AuthVersion; currentPassword: string; masterKeys: string; password: string; salt: string; }, ], ) => Promise<UserSettingsPasswordChangeResponse>; }; sub: () => { cancel: (...params: [{ uuid: string }]) => Promise<void>; create: ( ...params: [{ method: PaymentMethods; planId: number }], ) => Promise<UserSubCreateResponse>; }; twoFactorAuthentication: () => { disable: (...params: [{ code: string }]) => Promise<void>; enable: (...params: [{ code: string }]) => Promise<User2FAEnableResponse>; }; versioning: (...params: [{ enable: boolean }]) => Promise<void>; };} Returns {
auth: () => {
info: (...params: [{ email: string }]) => Promise<AuthInfoResponse>;
};
chat: () => {
conversations: (...params: []) => Promise<ChatConversation[]>;
conversationsCreate: (
...params: [{ metadata: string; ownerMetadata: string; uuid: string }],
) => Promise<void>;
conversationsDelete: (...params: [{ uuid: string }]) => Promise<void>;
conversationsLeave: (...params: [{ uuid: string }]) => Promise<void>;
conversationsName: () => {
edit: (...params: [{ name: string; uuid: string }]) => Promise<void>;
};
conversationsOnline: (
...params: [{ conversation: string }],
) => Promise<ChatConversationsOnlineResponse>;
conversationsParticipants: () => {
add: (
...params: [{ contactUUID: string; metadata: string; uuid: string }],
) => Promise<void>;
remove: (...params: [{ userId: number; uuid: string }]) => Promise<void>;
};
conversationsRead: (...params: [{ uuid: string }]) => Promise<void>;
conversationsUnread: (
...params: [{ uuid: string }],
) => Promise<ChatConversationsUnreadResponse>;
delete: (...params: [{ uuid: string }]) => Promise<void>;
edit: (
...params: [{ conversation: string; message: string; uuid: string }],
) => Promise<void>;
lastFocus: (...params: []) => Promise<ChatLastFocusValues[]>;
lastFocusUpdate: (
...params: [{ conversations: ChatLastFocusValues[] }],
) => Promise<void>;
message: () => {
embed: () => {
disable: (...params: [{ uuid: string }]) => Promise<void>;
};
};
messages: (
...params: [{ conversation: string; timestamp: number }],
) => Promise<ChatMessage[]>;
send: (
...params: [
{
conversation: string;
message: string;
replyTo: string;
uuid: string;
},
],
) => Promise<void>;
typing: (
...params: [{ conversation: string; type: ChatTypingType }],
) => Promise<void>;
unread: (...params: []) => Promise<ChatUnreadResponse>;
};
confirmationSend: (...params: [{ email: string }]) => Promise<void>;
contacts: () => {
all: (...params: []) => Promise<ContactsResponse>;
blocked: (...params: []) => Promise<ContactsBlockedResponse>;
blockedAdd: (...params: [{ email: string }]) => Promise<void>;
blockedDelete: (...params: [{ uuid: string }]) => Promise<void>;
delete: (...params: [{ uuid: string }]) => Promise<void>;
requestsAccept: (...params: [{ uuid: string }]) => Promise<void>;
requestsDeny: (...params: [{ uuid: string }]) => Promise<void>;
requestsIn: (...params: []) => Promise<ContactsRequestsInResponse>;
requestsInCount: (...params: []) => Promise<number>;
requestsOut: (...params: []) => Promise<ContactsRequestsOutResponse>;
requestsOutDelete: (...params: [{ uuid: string }]) => Promise<void>;
requestsSend: (...params: [{ email: string }]) => Promise<void>;
};
dir: () => {
color: (...params: [{ color: string; uuid: string }]) => Promise<void>;
content: (
...params: [{ dirsOnly?: boolean; uuid: string }],
) => Promise<DirContentResponse>;
create: (
...params: [
{
metadataEncrypted: string;
nameHashed: string;
parent: string;
uuid?: string;
},
],
) => Promise<DirCreateResponse>;
delete: () => {
permanent: (...params: [{ uuid: string }]) => Promise<void>;
};
download: (
...params: [
{
linkHasPassword?: boolean;
linkPassword?: string;
linkSalt?: string;
linkUUID?: string;
skipCache?: boolean;
type?: DirDownloadType;
uuid: string;
},
],
) => Promise<DirDownloadResponse>;
exists: (
...params: [{ nameHashed: string; parent: string }],
) => Promise<DirExistsResponse>;
get: (...params: [{ uuid: string }]) => Promise<DirGetResponse>;
link: () => {
add: (
...params: [
{
expiration: string;
key: string;
linkUUID: string;
metadata: string;
parent: string;
type: string;
uuid: string;
},
],
) => Promise<void>;
content: (
...params: [{ parent: string; password: string; uuid: string }],
) => Promise<DirLinkContentResponse>;
edit: (
...params: [
{
downloadBtn: boolean;
expiration: PublicLinkExpiration;
password: string;
passwordHashed: string;
salt: string;
uuid: string;
},
],
) => Promise<void>;
info: (...params: [{ uuid: string }]) => Promise<DirLinkInfoResponse>;
remove: (...params: [{ uuid: string }]) => Promise<void>;
status: (...params: [{ uuid: string }]) => Promise<DirLinkStatusResponse>;
};
linked: (...params: [{ uuid: string }]) => Promise<DirLinkedResponse>;
metadata: (
...params: [
{ metadataEncrypted: string; nameHashed: string; uuid: string },
],
) => Promise<void>;
move: (...params: [{ to: string; uuid: string }]) => Promise<void>;
present: (...params: [{ uuid: string }]) => Promise<DirPresentResponse>;
rename: (
...params: [
{ metadataEncrypted: string; nameHashed: string; uuid: string },
],
) => Promise<void>;
restore: (...params: [{ uuid: string }]) => Promise<void>;
shared: (...params: [{ uuid: string }]) => Promise<DirSharedResponse>;
size: (
...params: [
{
receiverId?: number;
sharerId?: number;
trash?: boolean;
uuid: string;
},
],
) => Promise<DirSizeResponse>;
sizeLink: (
...params: [{ linkUUID: string; uuid: string }],
) => Promise<DirSizeLinkResponse>;
trash: (...params: [{ uuid: string }]) => Promise<void>;
tree: (
...params: [
{
deviceId: string;
includeRaw?: boolean;
skipCache?: boolean;
uuid: string;
},
],
) => Promise<DirTreeResponse>;
};
file: () => {
delete: () => {
permanent: (...params: [{ uuid: string }]) => Promise<void>;
};
download: () => {
chunk: () => {
buffer: (
...params: [
{
abortSignal?: (...)
| (...);
bucket: string;
chunk: number;
onProgress?: (...) | (...);
onProgressId?: (...) | (...);
region: string;
timeout?: (...) | (...);
uuid: string;
},
],
) => Promise<Buffer>;
local: (
...params: [
{
abortSignal?: (...)
| (...);
bucket: string;
chunk: number;
onProgress?: (...) | (...);
onProgressId?: (...) | (...);
region: string;
timeout?: (...) | (...);
to: string;
uuid: string;
},
],
) => Promise<void>;
stream: (
...params: [
{
abortSignal?: (...)
| (...);
bucket: string;
chunk: number;
onProgress?: (...) | (...);
onProgressId?: (...) | (...);
region: string;
timeout?: (...) | (...);
uuid: string;
},
],
) => Promise<ReadableStream<(...)> | ReadStream>;
};
};
exists: (
...params: [{ nameHashed: string; parent: string }],
) => Promise<FileExistsResponse>;
get: (...params: [{ uuid: string }]) => Promise<FileGetResponse>;
link: () => {
edit: (
...params: [
{
downloadBtn: boolean;
expiration: PublicLinkExpiration;
fileUUID: string;
password: string;
passwordHashed: string;
salt: string;
type: "enable"
| "disable";
uuid: string;
},
],
) => Promise<void>;
info: (
...params: [{ password: string; uuid: string }],
) => Promise<FileLinkInfoResponse>;
password: (
...params: [{ uuid: string }],
) => Promise<FileLinkPasswordResponse>;
status: (
...params: [{ uuid: string }],
) => Promise<FileLinkStatusResponse>;
};
metadata: (
...params: [
{
metadataEncrypted: string;
nameEncrypted: string;
nameHashed: string;
uuid: string;
},
],
) => Promise<void>;
move: (...params: [{ to: string; uuid: string }]) => Promise<void>;
present: (...params: [{ uuid: string }]) => Promise<FilePresentResponse>;
rename: (
...params: [
{
metadataEncrypted: string;
nameEncrypted: string;
nameHashed: string;
uuid: string;
},
],
) => Promise<void>;
restore: (...params: [{ uuid: string }]) => Promise<void>;
trash: (...params: [{ uuid: string }]) => Promise<void>;
upload: () => {
chunk: () => {
buffer: (
...params: [
{
abortSignal?: (...)
| (...);
buffer: Buffer;
index: number;
maxRetries?: (...) | (...);
onProgress?: (...) | (...);
onProgressId?: (...) | (...);
parent: string;
retryTimeout?: (...) | (...);
timeout?: (...) | (...);
uploadKey: string;
uuid: string;
},
],
) => Promise<UploadChunkResponse>;
};
};
version: () => {
restore: (
...params: [{ currentUUID: string; uuid: string }],
) => Promise<void>;
};
versions: (...params: [{ uuid: string }]) => Promise<FileVersionsResponse>;
};
health: () => Promise<"OK">;
item: () => {
favorite: (
...params: [
{ favorite: boolean; type: "file"
| "folder"; uuid: string },
],
) => Promise<void>;
linked: (...params: [{ uuid: string }]) => Promise<ItemLinkedResponse>;
linkedRename: (
...params: [{ linkUUID: string; metadata: string; uuid: string }],
) => Promise<void>;
share: (
...params: [
{
email: string;
metadata: string;
parent: string;
type: "file"
| "folder";
uuid: string;
},
],
) => Promise<void>;
shared: (...params: [{ uuid: string }]) => Promise<ItemSharedResponse>;
sharedIn: () => {
remove: (...params: [{ uuid: string }]) => Promise<void>;
};
sharedOut: () => {
remove: (
...params: [{ receiverId: number; uuid: string }],
) => Promise<void>;
};
sharedRename: (
...params: [{ metadata: string; receiverId: number; uuid: string }],
) => Promise<void>;
};
login: (
...params: [
{
authVersion: AuthVersion;
email: string;
password: string;
twoFactorCode?: string;
},
],
) => Promise<LoginResponse>;
notes: () => {
all: (...params: []) => Promise<NotesResponse>;
archive: (...params: [{ uuid: string }]) => Promise<void>;
content: (...params: [{ uuid: string }]) => Promise<NoteContent>;
contentEdit: (
...params: [
{ content: string; preview: string; type: NoteType; uuid: string },
],
) => Promise<void>;
create: (
...params: [{ metadata: string; title: string; uuid: string }],
) => Promise<void>;
delete: (...params: [{ uuid: string }]) => Promise<void>;
favorite: (
...params: [{ favorite: boolean; uuid: string }],
) => Promise<void>;
history: (...params: [{ uuid: string }]) => Promise<NotesHistoryResponse>;
historyRestore: (
...params: [{ id: number; uuid: string }],
) => Promise<void>;
participantsAdd: (
...params: [
{
contactUUID: string;
metadata: string;
permissionsWrite: boolean;
uuid: string;
},
],
) => Promise<void>;
participantsPermissions: (
...params: [
{ permissionsWrite: boolean; userId: number; uuid: string },
],
) => Promise<void>;
participantsRemove: (
...params: [{ userId: number; uuid: string }],
) => Promise<void>;
pinned: (...params: [{ pinned: boolean; uuid: string }]) => Promise<void>;
restore: (...params: [{ uuid: string }]) => Promise<void>;
tag: (...params: [{ tag: string; uuid: string }]) => Promise<void>;
tags: (...params: []) => Promise<NotesTagsResponse>;
tagsCreate: (
...params: [{ name: string }],
) => Promise<NotesTagsCreateResponse>;
tagsDelete: (...params: [{ uuid: string }]) => Promise<void>;
tagsFavorite: (
...params: [{ favorite: boolean; uuid: string }],
) => Promise<void>;
tagsRename: (...params: [{ name: string; uuid: string }]) => Promise<void>;
titleEdit: (...params: [{ title: string; uuid: string }]) => Promise<void>;
trash: (...params: [{ uuid: string }]) => Promise<void>;
typeChange: (
...params: [
{ content: string; preview: string; type: NoteType; uuid: string },
],
) => Promise<void>;
untag: (...params: [{ tag: string; uuid: string }]) => Promise<void>;
};
register: (
...params: [
{
affId?: string;
authVersion: AuthVersion;
email: string;
password: string;
refId?: string;
salt: string;
},
],
) => Promise<void>;
search: () => {
add: (
...params: [{ items: SearchAddItem[] }],
) => Promise<SearchAddResponse>;
find: (...params: [{ hashes: string[] }]) => Promise<SearchFindResponse>;
};
shared: () => {
in: (
...params: [params?: { uuid?: string }],
) => Promise<SharedInResponse>;
out: (
...params: [params?: { receiverId?: number; uuid?: string }],
) => Promise<SharedOutResponse>;
};
trash: () => { empty: (...params: []) => Promise<void> };
upload: () => {
done: (
...params: [
{
chunks: number;
metadata: string;
mime: string;
name: string;
nameHashed: string;
rm: string;
size: string;
uploadKey: string;
uuid: string;
version: FileEncryptionVersion;
},
],
) => Promise<UploadDoneResponse>;
empty: (
...params: [
{
metadata: string;
mime: string;
name: string;
nameHashed: string;
parent: string;
size: string;
uuid: string;
version: FileEncryptionVersion;
},
],
) => Promise<UploadEmptyResponse>;
};
user: () => {
account: (...params: []) => Promise<UserAccountResponse>;
affiliate: () => {
payout: (
...params: [{ address: string; method: string }],
) => Promise<void>;
};
appearOffline: (...params: [{ appearOffline: boolean }]) => Promise<void>;
avatar: (...params: [{ base64: string; hash: string }]) => Promise<void>;
baseFolder: (
...params: [{ apiKey?: string }],
) => Promise<UserBaseFolderResponse>;
delete: (...params: [{ twoFactorCode?: string }]) => Promise<void>;
deleteAll: (...params: []) => Promise<void>;
deleteVersions: (...params: []) => Promise<void>;
didExportMasterKeys: (...params: []) => Promise<void>;
event: (...params: [{ uuid: string }]) => Promise<UserEvent>;
events: (
...params: [{ filter: string; lastTimestamp: number }],
) => Promise<UserEvent[]>;
gdpr: (...params: []) => Promise<UserGDPRResponse>;
getDEK: (
...params: [params?: { apiKey?: string }],
) => Promise<UserGetDEKResponse>;
info: (...params: [{ apiKey?: string }]) => Promise<UserInfoResponse>;
invoice: (...params: [{ uuid: string }]) => Promise<string>;
keyPair: () => {
info: (
...params: [{ apiKey?: string }],
) => Promise<UserKeyPairInfoResponse>;
set: (
...params: [
{ apiKey?: string; encryptedPrivateKey: string; publicKey: string },
],
) => Promise<void>;
update: (
...params: [
{ apiKey?: string; encryptedPrivateKey: string; publicKey: string },
],
) => Promise<void>;
};
lastActive: () => {
desktop: (...params: [{ timestamp: number }]) => Promise<void>;
};
lock: (
...params: [
{
resource: string;
type: "acquire"
| "refresh"
| "status"
| "release";
uuid: string;
},
],
) => Promise<UserLockResponse>;
loginAlerts: (...params: [{ enable: boolean }]) => Promise<void>;
masterKeys: (
...params: [{ apiKey?: string; encryptedMasterKeys: string }],
) => Promise<UserMasterKeysResponse>;
nickname: (...params: [{ nickname: string }]) => Promise<void>;
password: () => {
forgot: (...params: [{ email: string }]) => Promise<void>;
forgotReset: (
...params: [
{
authVersion: number;
hasRecoveryKeys: boolean;
newMasterKeys: string;
password: string;
salt: string;
token: string;
},
],
) => Promise<void>;
};
personal: () => {
change: (
...params: [
{
city: string;
companyName: string;
country: string;
firstName: string;
lastName: string;
postalCode: string;
street: string;
streetNumber: string;
vatId: string;
},
],
) => Promise<void>;
};
profile: (...params: [{ id: number }]) => Promise<UserProfileResponse>;
publicKey: (
...params: [{ email: string }],
) => Promise<UserPublicKeyResponse>;
setDEK: (
...params: [{ apiKey?: string; encryptedDEK: string }],
) => Promise<void>;
settings: (...params: []) => Promise<UserSettingsResponse>;
settingsEmail: () => {
change: (
...params: [
{ authVersion: AuthVersion; email: string; password: string },
],
) => Promise<void>;
};
settingsPassword: () => {
change: (
...params: [
{
authVersion: AuthVersion;
currentPassword: string;
masterKeys: string;
password: string;
salt: string;
},
],
) => Promise<UserSettingsPasswordChangeResponse>;
};
sub: () => {
cancel: (...params: [{ uuid: string }]) => Promise<void>;
create: (
...params: [{ method: PaymentMethods; planId: number }],
) => Promise<UserSubCreateResponse>;
};
twoFactorAuthentication: () => {
disable: (...params: [{ code: string }]) => Promise<void>;
enable: (...params: [{ code: string }]) => Promise<User2FAEnableResponse>;
};
versioning: (...params: [{ enable: boolean }]) => Promise<void>;
};
}
clearTemporaryDirectory
clearTemporaryDirectory(): Promise<void>
generateHMACKey
generateHMACKey(): Promise<Buffer>
login
login( param0: { email?: string; password?: string; twoFactorCode?: string },): Promise<void> Parameters
- param0: { email?: string; password?: string; twoFactorCode?: string }
Returns Promise<void>
FilenSDK
Date
2/1/2024 - 2:45:02 AM
Export
FilenSDK