import { AnalyzerConfig, FileAnalysis, ProjectAnalysis } from './types';
/**
 * Main API Cost Analyzer class
 */
export declare class ApiCostAnalyzer {
    private config;
    private allPaths;
    private currentConditions;
    private sourceFile;
    constructor(config?: Partial<AnalyzerConfig>);
    /**
     * Set framework preset
     */
    setFramework(framework: string): void;
    /**
     * Update configuration
     */
    updateConfig(config: Partial<AnalyzerConfig>): void;
    /**
     * Analyze a single file
     */
    analyzeFile(filePath: string): FileAnalysis;
    /**
     * Analyze multiple files
     */
    analyzeFiles(filePaths: string[]): FileAnalysis[];
    /**
     * Analyze entire project
     */
    analyzeProject(projectPath: string, patterns?: string[]): ProjectAnalysis;
    private generatePathDescription;
    private generateMethodSummary;
    private analyzeMethod;
    private analyzeNode;
    private generateRecommendations;
    private generateFileSummary;
    private generateProjectSummary;
    private visit;
    private isMethodDeclaration;
    private isArrowFunctionProperty;
    private getMethodName;
    private getClassName;
    private shouldAnalyzeMethod;
}
/**
 * Convenience function to quickly analyze a file with NestJS preset
 */
export declare function analyzeNestJSFile(filePath: string, customConfig?: Partial<AnalyzerConfig>): FileAnalysis;
/**
 * Convenience function to quickly analyze a NestJS project
 */
export declare function analyzeNestJSProject(projectPath: string, patterns?: string[], customConfig?: Partial<AnalyzerConfig>): ProjectAnalysis;
/**
 * Convenience function for Express projects
 */
export declare function analyzeExpressProject(projectPath: string, patterns?: string[], customConfig?: Partial<AnalyzerConfig>): ProjectAnalysis;
//# sourceMappingURL=analyzer.d.ts.map