import type { WorkspaceFolder } from 'vscode-languageserver'; import { WorkspaceIndex, type WorkspaceSymbolEntry } from './workspace-index.js'; import type { Logger } from '../utils/logger.js'; /** * Multi-root workspace manager that tracks multiple workspace folders, * each with its own WorkspaceIndex. */ export declare class MultiRootWorkspace { private roots; private logger; constructor(logger: Logger); /** * Initialize with workspace folders. */ initialize(folders: WorkspaceFolder[]): Promise; /** * Add a workspace folder. */ addFolder(folder: WorkspaceFolder): Promise; /** * Remove a workspace folder. */ removeFolder(folderUri: string): void; /** * Get the WorkspaceIndex for a given file URI by finding the longest * matching workspace folder prefix. */ getIndexForFile(fileUri: string): WorkspaceIndex | undefined; /** * Get all workspace indexes. */ getAllIndexes(): WorkspaceIndex[]; /** * Search symbols across all workspaces. */ searchSymbols(query: string): Array<{ entry: WorkspaceSymbolEntry; workspaceFolder: string; }>; /** * Find type by name across all workspaces. Returns the first match. */ findTypeByName(name: string): { entry: WorkspaceSymbolEntry; workspaceFolder: string; } | undefined; /** * Get all workspace folders. */ getFolders(): WorkspaceFolder[]; } //# sourceMappingURL=multi-root.d.ts.map