export declare global { interface FilePickerOptions { type?: { description?: string; accept?: Record; }[]; excludeAcceptAllOption?: boolean; } interface FileSystemHandlePermissionDescriptor { mode?: 'read' | 'readwrite'; } interface FileSystemWritableFileStream extends WritableStream { write( data: | BufferSource | Blob | string | { type: 'write' | 'seek' | 'truncate'; size?: number; position?: number; data?: BufferSource | Blob | string; }, ): Promise; seek(position: number): Promise; truncate(size: number): Promise; } interface FileSystemWritableFileStreamConstructor { new (): FileSystemWritableFileStream; } interface FileSystemHandle { readonly kind: 'file' | 'directory'; readonly name: string; isSameEntry(other: FileSystemHandle): Promise; queryPermission( descriptor?: FileSystemHandlePermissionDescriptor, ): Promise; requestPermission( descriptor?: FileSystemHandlePermissionDescriptor, ): Promise; } interface FileSystemHandleConstructor { new (): FileSystemHandle; } interface FileSystemFileHandle extends FileSystemHandle { readonly kind: 'file'; getFile(): Promise; createWritable(options?: { keepExistingData?: boolean; }): Promise; } interface FileSystemFileHandleConstructor { new (): FileSystemFileHandle; } interface FileSystemDirectoryHandle extends FileSystemHandle { readonly kind: 'directory'; getFileHandle( name: string, options?: { create?: boolean }, ): Promise; getDirectoryHandle( name: string, options?: { create?: boolean }, ): Promise; removeEntry(name: string, options?: { recursive?: boolean }): Promise; resolve( possibleDescendant: FileSystemHandle, ): Promise; keys(): AsyncIterableIterator; values(): AsyncIterableIterator< FileSystemDirectoryHandle | FileSystemFileHandle >; entries(): AsyncIterableIterator< [string, FileSystemDirectoryHandle | FileSystemFileHandle] >; [Symbol.asyncIterator]: FileSystemDirectoryHandle['entries']; } interface FileSystemDirectoryHandleConstructor { new (): FileSystemDirectoryHandle; } interface Window { showOpenFilePicker( options: FilePickerOptions & { multiple?: false; }, ): Promise<[FileSystemFileHandle]>; showOpenFilePicker( options: FilePickerOptions & { multiple: true; }, ): Promise; showSaveFilePicker( options: FilePickerOptions & { suggestedName?: string; }, ): Promise; showDirectoryPicker(): Promise; FileSystemHandle: FileSystemHandleConstructor; FileSystemFileHandle: FileSystemFileHandleConstructor; FileSystemDirectoryHandle: FileSystemDirectoryHandleConstructor; FileSystemWritableFileStream: FileSystemWritableFileStreamConstructor; } }