/**
 * TypeScript/JavaScript AST Analyzer
 * Implements AST analysis for TypeScript and JavaScript files
 */
import { BaseAnalyzer } from './BaseAnalyzer';
import { AnalysisContext, ASTNode, CodeFunction, CodeClass, ImportDeclaration, ExportDeclaration, ComplexityMetrics, ParserConfig } from './types';
export declare class TypeScriptAnalyzer extends BaseAnalyzer {
    constructor();
    protected parseAST(content: string, _context: AnalysisContext): Promise<any>;
    protected extractNodes(ast: any, context: AnalysisContext): Promise<ASTNode[]>;
    protected extractFunctions(ast: any, context: AnalysisContext): Promise<CodeFunction[]>;
    protected extractClasses(ast: any, context: AnalysisContext): Promise<CodeClass[]>;
    protected extractImports(ast: any, context: AnalysisContext): Promise<ImportDeclaration[]>;
    protected extractExports(ast: any, context: AnalysisContext): Promise<ExportDeclaration[]>;
    protected extractDependencies(ast: any, _context: AnalysisContext): Promise<string[]>;
    protected calculateComplexity(ast: any, _context: AnalysisContext): Promise<ComplexityMetrics>;
    protected getParserConfig(): ParserConfig;
    private getNodeName;
    private extractNodeProperties;
    private extractParameters;
    private extractReturnType;
    private extractTypeAnnotation;
    private extractDefaultValue;
    private calculateFunctionComplexity;
    private isExported;
    private getMethodVisibility;
    private getArrowFunctionName;
    private extractClassProperties;
    private extractImplements;
    private isAbstractClass;
    private extractImportSpecifiers;
    private createExportFromDeclaration;
    private getDefaultExportName;
    private getExportType;
    private extractFunctionDependencies;
    private extractFunctionCalls;
    private isComplexityNode;
    private isCognitiveComplexityNode;
    private getCognitiveComplexityWeight;
}
//# sourceMappingURL=TypeScriptAnalyzer.d.ts.map