import { type AstDocument, type ManifestAnalysis, type LoadedGraph } from "@telorun/analyzer"; import type { DefinitionResult } from "../types.js"; /** Resolve the symbol under the cursor to where it is declared. * * Three navigable symbol classes, each dispatched on what the cursor sits in * rather than on the field it happens to be under: * * - a CEL identifier (`variables.port`, `resources.Store.conn`) → its * declaration on the module doc, or the resource it names; * - an alias-qualified kind (`kind: Http.Server`, `extends:`, `x-telo-ref`) → * the `Telo.Definition` that registers it; * - a `!ref` target → the resource instance it names. * * In the last two the alias half (`Http`) navigates to the import that declares * it, and the suffix to what the alias qualifies. Returns `undefined` when the * cursor is on nothing navigable, or the target can't be found (a kernel * built-in, a scope-local name, an unexported entry, or an import that failed * to load). */ export declare function buildDefinition(text: string, line: number, character: number, graph: LoadedGraph, currentFilePath: string, docs?: AstDocument[], /** Lets a `steps.` read navigate to the step that produced it, and a * context binding to its declaration — both need the declaring kind's own * annotations, which only the analysis can read. */ analysis?: ManifestAnalysis): DefinitionResult | undefined; //# sourceMappingURL=build-definition.d.ts.map