import { SymbolTable, ImportMap, ProjectContext, ExportMetadata } from '@scandiumsys/owstra-types';
import { BaseIndexer } from './indexers/base-indexer.js';
import { BaseResolver } from './resolvers/base-resolver.js';
export interface CallSite {
    filePath: string;
    argPositions: Array<{
        row: number;
        column: number;
    }>;
}
export declare class ProjectContextManager implements ProjectContext {
    symbols: SymbolTable;
    imports: Record<string, ImportMap>;
    callSites: Record<string, CallSite[]>;
    private indexers;
    private resolvers;
    private workspaceRoot;
    constructor(workspaceRoot: string);
    getIndexer(language: string): BaseIndexer | undefined;
    registerIndexer(indexer: BaseIndexer): void;
    registerResolver(resolver: BaseResolver): void;
    addExports(language: string, exports: ExportMetadata[]): void;
    addImports(filePath: string, imports: ImportMap): void;
    addCallSite(funcName: string, filePath: string, argPositions: Array<{
        row: number;
        column: number;
    }>): void;
    /**
     * Resolves a local variable name in a file to its actual source definition.
     */
    resolveDefinition(localName: string, filePath: string, language: string): ExportMetadata | null;
}
