import { AgencyProgram } from "../types.js";
import { SourceLocation } from "../types/base.js";
type DefinitionResult = {
    file: string;
    line: number;
    column: number;
} | null;
/**
 * Extract the identifier (word) at the given 0-indexed line and column
 * in the source text. Returns null if the cursor is not on an identifier.
 */
export declare function getWordAtPosition(source: string, line: number, column: number): string | null;
/**
 * Build a map of symbol name → SourceLocation from the parsed program.
 * Covers graph nodes, function definitions, and type aliases.
 */
export declare function collectDefinitions(program: AgencyProgram): Record<string, SourceLocation>;
/**
 * Find the definition of the symbol at the given cursor position.
 */
export declare function findDefinition(source: string, line: number, column: number, file: string): DefinitionResult;
export {};
