export interface FunctionInfo { id: string; name: string; type: 'function' | 'method' | 'arrow' | 'async' | 'generator'; parameters: Parameter[]; returnType?: string; isAsync: boolean; isGenerator: boolean; isExported: boolean; location: SourceLocation; body: string; complexity: number; dependencies: string[]; calls: FunctionCall[]; } export interface Parameter { name: string; type?: string; optional: boolean; defaultValue?: string; } export interface SourceLocation { filePath: string; startLine: number; endLine: number; startColumn: number; endColumn: number; } export interface FunctionCall { name: string; arguments: string[]; location: SourceLocation; isExternal: boolean; } export interface LogicPattern { id: string; type: 'conditional' | 'loop' | 'recursion' | 'callback' | 'promise' | 'error-handling'; description: string; location: SourceLocation; complexity: number; variables: string[]; conditions?: string[]; } export interface FunctionAnalysis { function: FunctionInfo; logicPatterns: LogicPattern[]; complexity: ComplexityMetrics; relationships: FunctionRelationship[]; summary: string; } export interface ComplexityMetrics { cyclomaticComplexity: number; cognitiveComplexity: number; linesOfCode: number; nestingDepth: number; parameterCount: number; } export interface FunctionRelationship { type: 'calls' | 'called-by' | 'depends-on' | 'similar-to'; targetFunction: string; strength: number; description: string; } export interface AnalysisRequest { userRequest: string; context: RequestContext; files: string[]; focusAreas?: string[]; } export interface RequestContext { intent: 'understand' | 'debug' | 'optimize' | 'refactor' | 'document'; keywords: string[]; technicalLevel: 'beginner' | 'intermediate' | 'advanced'; outputFormat: 'summary' | 'detailed' | 'technical'; } export interface AnalysisResult { request: AnalysisRequest; functions: FunctionAnalysis[]; overallSummary: string; recommendations: string[]; relatedFunctions: string[]; timestamp: Date; } export interface Zrald1Data { files: any[]; nodes: any[]; relationships: any[]; summary: any; } //# sourceMappingURL=function-analysis.d.ts.map