/**
 * PathDiscovery - Utility class for discovering and managing paths from project information
 *
 * Extracted from RuleValidator for better code organization and reusability.
 * Handles discovery of available paths, type mapping, and deprecated path identification.
 */
import type { EnrichedProjectInformation } from '../types/index.js';
export interface PathDiscoveryResult {
    availablePaths: Set<string>;
    typeMap: Map<string, string>;
    deprecatedPaths: Set<string>;
}
export declare class PathDiscovery {
    /**
     * Discovers all available paths, their types, and deprecated paths from project information
     */
    static discoverAll(projectInfo: EnrichedProjectInformation): PathDiscoveryResult;
    /**
     * Discovers only available paths from project structure
     */
    static discoverPaths(projectInfo: EnrichedProjectInformation): Set<string>;
    /**
     * Gets type information for all discovered paths
     */
    static getPathTypeMap(projectInfo: EnrichedProjectInformation): Map<string, string>;
    /**
     * Identifies deprecated direct access paths
     */
    static getDeprecatedPaths(projectInfo: EnrichedProjectInformation): Set<string>;
    /**
     * Recursively adds paths from an object to the available paths set
     */
    private static addPathsFromObject;
    /**
     * Extracts path references from a condition string
     * Excludes string literals, numbers, and common operators/keywords
     */
    static extractPathsFromCondition(condition: string): string[];
}
//# sourceMappingURL=path-discovery.d.ts.map