/**
 * KiroGraph Reference Resolver
 *
 * Implements the warm-cache resolution engine with multiple strategies.
 * Mirrors CodeGraph src/resolution/index.ts
 */
import type { GraphDatabase } from '../db/database';
import type { KiroGraphConfig } from '../config';
export interface ResolutionResult {
    resolved: number;
    unresolved: number;
    total: number;
    durationMs: number;
}
export declare class ReferenceResolver {
    private db;
    private config;
    private nameCache;
    private qualifiedNameCache;
    private kindCache;
    private lowerNameCache;
    private nodeByIdCache;
    private cacheWarmed;
    constructor(db: GraphDatabase, config: KiroGraphConfig);
    /**
     * Pre-load all nodes into Maps for O(1) lookup.
     * Must be called before resolveUnresolvedRefs() for best performance.
     */
    warmCaches(): void;
    /**
     * Resolve all pending unresolved references.
     * Warms caches first, then processes all pending refs.
     * Returns a ResolutionResult with counts and duration.
     */
    resolveAll(onProgress?: (current: number, total: number) => void): Promise<ResolutionResult>;
    /**
     * Process all pending unresolved references using warm caches.
     * Returns the count of newly resolved edges.
     */
    resolveUnresolvedRefs(onProgress?: (current: number, total: number) => void): Promise<number>;
    /**
     * Invalidate cache entries for all nodes belonging to the given file.
     * Call this when a file is re-indexed to prevent stale cache hits.
     */
    invalidateFile(filePath: string): void;
    /**
     * Resolve a relative import path to the ID of the first node in the target file.
     * Returns null if no indexed file matches.
     */
    private _resolveImportPath;
    /**
     * Convert a raw DB row to a Node object.
     */
    private _rowToNode;
}
//# sourceMappingURL=index.d.ts.map