export interface LogicFlow { id: string; functionId: string; steps: LogicStep[]; branches: LogicBranch[]; loops: LogicLoop[]; errorHandling: ErrorHandling[]; dataFlow: DataFlow[]; } export interface LogicStep { id: string; type: 'assignment' | 'call' | 'return' | 'throw' | 'declaration'; description: string; code: string; location: SourceLocation; variables: VariableUsage[]; } export interface LogicBranch { id: string; type: 'if' | 'switch' | 'ternary' | 'try-catch'; condition: string; truePath: LogicStep[]; falsePath?: LogicStep[]; cases?: SwitchCase[]; location: SourceLocation; } export interface LogicLoop { id: string; type: 'for' | 'while' | 'do-while' | 'for-in' | 'for-of'; condition: string; body: LogicStep[]; initialization?: string; increment?: string; location: SourceLocation; } export interface ErrorHandling { id: string; type: 'try-catch' | 'throw' | 'finally'; errorTypes: string[]; handling: LogicStep[]; location: SourceLocation; } export interface DataFlow { variable: string; type: string; source: string; transformations: DataTransformation[]; usage: VariableUsage[]; } export interface DataTransformation { operation: string; location: SourceLocation; description: string; } export interface VariableUsage { variable: string; type: 'read' | 'write' | 'modify'; location: SourceLocation; } export interface SwitchCase { value: string; steps: LogicStep[]; fallthrough: boolean; } export interface SourceLocation { filePath: string; startLine: number; endLine: number; startColumn: number; endColumn: number; } export interface FlowAnalysis { flow: LogicFlow; complexity: FlowComplexity; patterns: FlowPattern[]; issues: FlowIssue[]; } export interface FlowComplexity { branchingFactor: number; loopNesting: number; pathCount: number; decisionPoints: number; } export interface FlowPattern { type: 'common-pattern' | 'anti-pattern' | 'best-practice'; name: string; description: string; location: SourceLocation; confidence: number; } export interface FlowIssue { type: 'complexity' | 'performance' | 'maintainability' | 'bug-risk'; severity: 'low' | 'medium' | 'high' | 'critical'; description: string; location: SourceLocation; suggestion: string; } //# sourceMappingURL=logic-flow.d.ts.map