export interface FileSystemGetFileOptions { create?: boolean } interface FileSystemCreateWritableOptions { keepExistingData?: boolean } interface FileSystemRemoveOptions { recursive?: boolean } interface FileSystemFileHandle { getFile(): Promise; createWritable(options?: FileSystemCreateWritableOptions): Promise } enum WriteCommandType { write = "write", seek = "seek", truncate = "truncate", } interface WriteParams { type: WriteCommandType size?: number position?: number data: BufferSource | Blob | string } type FileSystemWriteChunkType = BufferSource | Blob | string | WriteParams interface FileSystemWritableFileStream extends WritableStream { write(data: FileSystemWriteChunkType): Promise seek(position: number): Promise truncate(size: number): Promise close(): Promise // should be implemented in WritableStream } export declare interface FileSystemDirectoryHandle { getFileHandle(name: string, options?: FileSystemGetFileOptions): Promise removeEntry(name: string, options?: FileSystemRemoveOptions): Promise } declare global { interface Window { showDirectoryPicker?(): Promise } }