import type { Position, TextDocumentContentChangeEvent, TextDocumentItem } from './lsp-protocol.js'; export interface VirtualFileSystemLimits { maxFiles: number; maxFileBytes: number; maxWorkspaceBytes: number; } export declare const DEFAULT_VFS_LIMITS: Readonly; export interface VirtualDocument extends TextDocumentItem { readonly path: string; readonly bytes: number; } export declare class VfsLimitError extends Error { readonly code = "VFS_LIMIT"; constructor(message: string); } export declare class VirtualFileSystem { private readonly files; private readonly encoder; private totalBytes; readonly workspaceUri: string; readonly limits: Readonly; constructor(workspaceUri?: string, limits?: Partial); get size(): number; get bytes(): number; open(item: TextDocumentItem): VirtualDocument; change(uri: string, version: number, changes: readonly TextDocumentContentChangeEvent[]): { applied: boolean; document: VirtualDocument; }; close(uri: string): boolean; get(uri: string): VirtualDocument | undefined; require(uri: string): VirtualDocument; documents(): VirtualDocument[]; clear(): void; pathForUri(uri: string): string; private makeDocument; private ensureFits; private assertLimits; } export declare function offsetAt(text: string, position: Position): number; //# sourceMappingURL=vfs.d.ts.map