/**
 * Dependency Analyzer
 * Analyzes TypeScript code to detect actual infrastructure service dependencies
 * Uses TypeScript AST to find service client imports and usage
 */
export interface DetectedDependency {
    service: string;
    files: string[];
    imports: string[];
}
export interface DependencyAnalysisResult {
    componentName: string;
    detectedDependencies: DetectedDependency[];
    errors?: string[];
}
export declare class DependencyAnalyzer {
    /**
     * Check if dependency analysis is supported for this technology
     */
    private supportsLanguage;
    /**
     * Analyze a component's implementation to detect service dependencies
     */
    analyzeComponent(outputDir: string, componentName: string, componentType: string, technology?: string): DependencyAnalysisResult;
    /**
     * Determine search paths based on component type
     */
    private getSearchPaths;
    /**
     * Find all TypeScript files in a directory (recursive)
     */
    private findTypeScriptFiles;
    /**
     * Analyze a single TypeScript file for service dependencies
     */
    private analyzeFile;
    /**
     * Extract service name from import path
     * Examples:
     *   './services/redis-client' -> 'redis'
     *   '../services/queue-client' -> 'queue'
     *   './redis-client.ts' -> 'redis'
     */
    private extractServiceName;
    /**
     * Compare detected dependencies against expected dependencies
     */
    compareDependencies(expected: Array<{
        service: string;
        usage: string;
        required?: boolean;
    }>, detected: DetectedDependency[]): string[];
}
//# sourceMappingURL=dependency-analyzer.d.ts.map