/** * CSV parser for LLM-generated flow output. * * Handles two output formats: * 1. Entry point classification (Phase 1) * 2. Flow construction with sub-flow references (Phase 2) */ export type EntryPointClassification = 'top_level' | 'subflow_candidate' | 'internal'; export interface ClassifiedEntryPoint { id: number; classification: EntryPointClassification; confidence: 'high' | 'medium' | 'low'; reason: string; } export interface EntryPointParseResult { entries: ClassifiedEntryPoint[]; errors: string[]; } /** * Parse entry point classification output. * Expected format: type,id,classification,confidence,reason */ export declare function parseEntryPointClassification(content: string): EntryPointParseResult; export interface ParsedFlowStep { type: 'definition' | 'subflow'; order: number; id?: number; flowName?: string; } export interface ParsedFlow { id: number; name: string; description: string; domain: string | null; isComposite: boolean; steps: ParsedFlowStep[]; subflowReasons: Map; } export interface FlowParseResult { flows: ParsedFlow[]; errors: string[]; } /** * Parse flow construction output. * Expected format: * ```csv * type,flow_id,field,value * flow,1,name,"UserRegistration" * flow,1,description,"Handles new user signup" * flow,1,domain,"auth" * flow,1,is_composite,"true" * step,1,1,42 * step,1,2,subflow:ValidateUser * step,1,3,89 * subflow_reason,1,2,"Delegates input validation to reusable validation flow" * ``` */ export declare function parseFlowConstruction(content: string): FlowParseResult; export interface GapFillSuggestion { type: 'new_flow' | 'add_to_existing' | 'new_subflow'; symbolId: number; targetFlowId?: number; reason: string; } export interface GapFillParseResult { suggestions: GapFillSuggestion[]; errors: string[]; } /** * Parse gap filling suggestions. * Expected format: type,symbol_id,target_flow_id,reason */ export declare function parseGapFillSuggestions(content: string): GapFillParseResult; //# sourceMappingURL=flow-csv.d.ts.map