export {}; export interface FileSystemHandle { readonly kind: 'file' | 'directory'; readonly name: string; isSameEntry(other: FileSystemHandle): Promise; queryPermission(descriptor?: FileSystemHandlePermissionDescriptor): Promise; requestPermission(descriptor?: FileSystemHandlePermissionDescriptor): Promise; } export declare type FileSystemHandleUnion = FileSystemFileHandle | FileSystemDirectoryHandle; export interface FilePickerAcceptType { description?: string | undefined; accept: Record; } export interface FilePickerOptions { types?: FilePickerAcceptType[] | undefined; excludeAcceptAllOption?: boolean | undefined; } export interface OpenFilePickerOptions extends FilePickerOptions { multiple?: boolean | undefined; } export interface SaveFilePickerOptions extends FilePickerOptions { suggestedName?: string; } export interface DirectoryPickerOptions { } export declare type FileSystemPermissionMode = 'read' | 'readwrite'; export interface FileSystemPermissionDescriptor extends PermissionDescriptor { handle: FileSystemHandle; mode?: FileSystemPermissionMode | undefined; } export interface FileSystemHandlePermissionDescriptor { mode?: FileSystemPermissionMode | undefined; } export interface FileSystemCreateWritableOptions { keepExistingData?: boolean | undefined; } export interface FileSystemGetFileOptions { create?: boolean | undefined; } export interface FileSystemGetDirectoryOptions { create?: boolean | undefined; } export interface FileSystemRemoveOptions { recursive?: boolean | undefined; } export declare type WriteParams = { type: 'write'; position?: number | undefined; data: BufferSource | Blob | string; } | { type: 'seek'; position: number; } | { type: 'truncate'; size: number; }; export declare type FileSystemWriteChunkType = BufferSource | Blob | string | WriteParams; export interface WritableStream { close(): Promise; } export interface FileSystemWritableFileStream extends WritableStream { write(data: FileSystemWriteChunkType): Promise; seek(position: number): Promise; truncate(size: number): Promise; } export interface FileSystemFileHandle extends FileSystemHandle { readonly kind: 'file'; getFile(): Promise; createWritable(options?: FileSystemCreateWritableOptions): Promise; } export interface FileSystemDirectoryHandle extends FileSystemHandle { readonly kind: 'directory'; getDirectoryHandle(name: string, options?: FileSystemGetDirectoryOptions): Promise; getFileHandle(name: string, options?: FileSystemGetFileOptions): Promise; removeEntry(name: string, options?: FileSystemRemoveOptions): Promise; resolve(possibleDescendant: FileSystemHandle): Promise; keys(): AsyncIterableIterator; values(): AsyncIterableIterator; entries(): AsyncIterableIterator<[string, FileSystemDirectoryHandle | FileSystemFileHandle]>; [Symbol.asyncIterator]: FileSystemDirectoryHandle['entries']; } export interface DataTransferItem { getAsFileSystemHandle(): Promise; } export interface StorageManager { getDirectory(): Promise; } export declare function showOpenFilePicker(options?: OpenFilePickerOptions & { multiple?: false | undefined; }): Promise<[FileSystemFileHandle]>; export declare function showOpenFilePicker(options?: OpenFilePickerOptions): Promise; export declare function showSaveFilePicker(options?: SaveFilePickerOptions): Promise; export declare function showDirectoryPicker(options?: DirectoryPickerOptions): Promise; export interface ChooseFileSystemEntriesOptionsAccepts { description?: string | undefined; mimeTypes?: string[] | undefined; extensions?: string[] | undefined; } export interface ChooseFileSystemEntriesFileOptions { accepts?: ChooseFileSystemEntriesOptionsAccepts[] | undefined; excludeAcceptAllOption?: boolean | undefined; } export interface GetSystemDirectoryOptions { type: 'sandbox'; } export interface FileSystemHandlePermissionDescriptor { /** * @deprecated Old property just for Chromium <=85. Use `mode: ...` in the new API. */ writable?: boolean | undefined; }