/**
 * Go AST Analyzer
 * Implements AST analysis for Go files using regex-based parsing
 */
import { BaseAnalyzer } from './BaseAnalyzer';
import { AnalysisContext, ASTNode, CodeFunction, CodeClass, ImportDeclaration, ExportDeclaration, ComplexityMetrics, ParserConfig } from './types';
export declare class GoAnalyzer 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 parseGoWithRegex;
    private findLineNumber;
    private findGoFunctionEndLine;
    private parseGoParameters;
    private parseGoReturnTypes;
    private parseGoStructFields;
    private parseGoInterfaceMethods;
    private extractGoFunctionBody;
    private extractGoParameters;
    private calculateGoFunctionComplexity;
    private calculateGoCognitiveComplexity;
    private isGoExported;
    private getGoPackageName;
    private extractGoStructMethods;
    private extractGoStructProperties;
    private extractGoStructInterfaces;
    private extractGoFunctionDependencies;
    private extractGoFunctionCalls;
}
//# sourceMappingURL=GoAnalyzer.d.ts.map