import ts from "typescript"; /** * NOTE: `@valbuild/language-server` has a near-identical `modulePathMap.ts`. * Fix traversal bugs in both, or fold them together. */ export type ModulePathMap = { [modulePath: string]: { children: ModulePathMap; start: { line: number; character: number; }; end: { line: number; character: number; }; }; }; export declare function getModulePathRange(modulePath: string, modulePathMap: ModulePathMap, target?: "key" | "value"): { start: { line: number; character: number; }; end: { line: number; character: number; }; } | undefined; export declare function createModulePathMap(sourceFile: ts.SourceFile): ModulePathMap | undefined; /** * The {@link createModulePathMap} equivalent for a `.jsonValues()` entry's * backing `*.val.json`. * * The file IS the entry's value, so the map is rooted at the JSON document * rather than at a `c.define` argument — but everything below is the same shape, * which means a module path like `"title"` (the part after the entry key) * resolves against it exactly as it would inside a `.val.ts`. */ export declare function createJsonEntryPathMap(jsonSourceFile: ts.JsonSourceFile): ModulePathMap | undefined;