/// /// import { IStorageRaw } from "./IStorage"; import { RemoteOptions } from "./remoteFileStorage"; declare global { interface Window { showSaveFilePicker(config?: { types: { description: string; accept: { [mimeType: string]: string[]; }; }[]; }): Promise; showDirectoryPicker(): Promise; showOpenFilePicker(config?: { types: { description: string; accept: { [mimeType: string]: string[]; }; }[]; }): Promise; } interface FileSystemDirectoryHandle { requestPermission(config?: { mode: "read" | "readwrite"; }): Promise; } } export type FileWrapper = { readonly kind: "file"; readonly name: string; getFile(): Promise<{ size: number; lastModified: number; arrayBuffer(): Promise; slice(start: number, end: number): { arrayBuffer(): Promise; }; }>; createWritable(config?: { keepExistingData?: boolean; }): Promise<{ seek(offset: number): Promise; write(value: Buffer): Promise; close(): Promise; }>; getURL?(): Promise; }; export type DirectoryWrapper = { readonly kind: "directory"; readonly name: string; readonly fullPath?: string; readonly isRemote?: boolean; removeEntry(key: string, options?: { recursive?: boolean; }): Promise; getFileHandle(key: string, options?: { create?: boolean; }): Promise; getDirectoryHandle(key: string, options?: { create?: boolean; }): Promise; entries(): AsyncIterableIterator<[string, FileWrapper | DirectoryWrapper]>; [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileWrapper | DirectoryWrapper]>; }; export declare function setFileAPIKey(key: string): void; export declare function setStorageRootOverride(handle: FileSystemDirectoryHandle | undefined): void; export declare class NodeJSFileHandleWrapper implements FileWrapper { private filePath; constructor(filePath: string); readonly kind: "file"; get name(): string; getFile(): Promise<{ size: number; lastModified: number; arrayBuffer: () => Promise; slice: (start: number, end: number) => { arrayBuffer: () => Promise; }; }>; getURL(): Promise; createWritable(config?: { keepExistingData?: boolean; }): Promise<{ seek: (offset: number) => Promise; write: (value: Buffer) => Promise; close: () => Promise; }>; } export declare class NodeJSDirectoryHandleWrapper implements DirectoryWrapper { private rootPath; constructor(rootPath: string); readonly kind: "directory"; get name(): string; get fullPath(): string; entries(): AsyncIterableIterator<[string, FileWrapper | DirectoryWrapper]>; removeEntry(key: string, options?: { recursive?: boolean; }): Promise; getFileHandle(key: string, options?: { create?: boolean; }): Promise; getDirectoryHandle(key: string, options?: { create?: boolean; }): Promise; [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileWrapper | DirectoryWrapper]>; } export declare function usePrivateFileSystem(): void; export declare function isPrivateFileSystemActive(): boolean; export declare function listPrivateFolders(): Promise; export declare function pickPrivateFolder(name: string): void; export declare const getDirectoryHandle: { (): Promise; reset(): void; set(newValue: Promise): void; }; export declare const getFileStorageNested: { (key: string): Promise; clear(key: string): void; clearAll(): void; forceSet(key: string, value: Promise): void; getAllKeys(): string[]; get(key: string): Promise | undefined; }; export declare const getFileStorageNested2: { (key: string): Promise; clear(key: string): void; clearAll(): void; forceSet(key: string, value: Promise): void; getAllKeys(): string[]; get(key: string): Promise | undefined; }; export declare const getFileStorage: { (): Promise; reset(): void; set(newValue: Promise): void; }; export declare function resetStorageLocation(): void; export type NestedFileStorage = { hasKey(key: string): Promise; getStorage(key: string): Promise; removeStorage(key: string): Promise; getKeys(includeFolders?: boolean): Promise; }; export type FileStorage = IStorageRaw & { folder: NestedFileStorage; isRemote?: boolean; }; export declare function wrapHandle(handle: DirectoryWrapper): FileStorage; export declare function getFileURL(file: FileWrapper): Promise; export declare function disposeFileURL(url: string): void; export declare function getRemoteFileStorageFactory(url: string, password: string, options?: RemoteOptions): (pathStr: string) => Promise; export declare function tryToLoadPointer(pointer: string): Promise;