import { FileChange, FileDeleteOptions, FileOverwriteOptions, FileSystemProviderCapabilities, FileSystemProviderWithFileReadWriteCapability, FileSystemProviderWithFileFolderCopyCapability, FileSystemProviderWithOpenReadWriteCloseCapability, FileType, FileWriteOptions, Stat, WatchOptions, FileOpenOptions, FileUpdateOptions, FileUpdateResult, type FileReadStreamOptions } from '../common/files'; import { Event, URI, Disposable, DisposableCollection, type CancellationToken } from '@theia/core'; import { EncodingService } from '@theia/core/lib/common/encoding-service'; import { TextDocumentContentChangeEvent } from '@theia/core/shared/vscode-languageserver-protocol'; import { OPFSInitialization } from './opfs-filesystem-initialization'; import { ReadableStreamEvents } from '@theia/core/lib/common/stream'; export declare class OPFSFileSystemProvider implements Disposable, FileSystemProviderWithFileReadWriteCapability, FileSystemProviderWithOpenReadWriteCloseCapability, FileSystemProviderWithFileFolderCopyCapability { private readonly BUFFER_SIZE; capabilities: FileSystemProviderCapabilities; onDidChangeCapabilities: Event; private readonly onDidChangeFileEmitter; readonly onDidChangeFile: Event; readonly onFileWatchError: Event; protected readonly initialization: OPFSInitialization; protected readonly encodingService: EncodingService; private fs; private initialized; protected readonly toDispose: DisposableCollection; /** * Initializes the OPFS file system provider */ protected init(): void; /** * Watches a resource for file system changes */ watch(resource: URI, opts: WatchOptions): Disposable; /** * Creates an index from the map of entries */ createIndex(entries: Map): Promise; /** * Retrieves the current file system index */ index(): Promise>; /** * Clears the file system */ clear(): Promise; /** * Checks if a resource exists */ exists(resource: URI): Promise; /** * Gets file system statistics for a resource */ stat(resource: URI): Promise; /** * Creates a directory */ mkdir(resource: URI): Promise; /** * Reads directory contents */ readdir(resource: URI): Promise<[string, FileType][]>; /** * Deletes a resource */ delete(resource: URI, opts: FileDeleteOptions): Promise; /** * Renames a resource from one location to another */ rename(from: URI, to: URI, opts: FileOverwriteOptions): Promise; /** * Copies a resource from one location to another */ copy(from: URI, to: URI, opts: FileOverwriteOptions): Promise; /** * Reads file content as binary data */ readFile(resource: URI): Promise; /** * Reads file content as a stream */ readFileStream(resource: URI, opts: FileReadStreamOptions, token: CancellationToken): ReadableStreamEvents; /** * Writes binary content to a file */ writeFile(resource: URI, content: Uint8Array, opts: FileWriteOptions): Promise; /** * Opens a file and returns a file descriptor */ open(resource: URI, opts: FileOpenOptions): Promise; /** * Closes a file descriptor */ close(fd: number): Promise; /** * Reads data from a file descriptor */ read(fd: number, pos: number, data: Uint8Array, offset: number, length: number): Promise; /** * Writes data to a file descriptor */ write(fd: number, pos: number, data: Uint8Array, offset: number, length: number): Promise; /** * Updates a text file with content changes */ updateFile(resource: URI, changes: TextDocumentContentChangeEvent[], opts: FileUpdateOptions): Promise; /** * Handles file system change events from BroadcastChannel */ private handleFileSystemChange; /** * Disposes the file system provider */ dispose(): void; } //# sourceMappingURL=opfs-filesystem-provider.d.ts.map