import type { WorkflowDefinition, WorkflowGraph } from './definition.js'; export type WorkflowDefinitionValidationIssueCode = 'name_required' | 'invalid_name' | 'graph_required' | 'invalid_schema_version' | 'duplicate_node' | 'missing_input' | 'multiple_inputs' | 'missing_output' | 'multiple_outputs' | 'unknown_edge_node' | 'duplicate_edge' | 'self_edge' | 'cycle_detected' | 'unreachable_node' | 'dead_end_node' | 'missing_prompt' | 'invalid_node_config'; export interface WorkflowDefinitionValidationIssue { code: WorkflowDefinitionValidationIssueCode; message: string; nodeId?: string; edgeId?: string; field?: string; } export interface WorkflowDefinitionValidationResult { valid: boolean; errors: WorkflowDefinitionValidationIssue[]; warnings: WorkflowDefinitionValidationIssue[]; definition?: WorkflowDefinition; } export interface ValidateWorkflowDefinitionInput { name?: string; graph?: WorkflowGraph; title?: string; description?: string; } export declare function validateWorkflowDefinitionInput(input: ValidateWorkflowDefinitionInput): WorkflowDefinitionValidationResult; export declare function validateWorkflowGraph(graph: WorkflowGraph, errors?: WorkflowDefinitionValidationIssue[], warnings?: WorkflowDefinitionValidationIssue[]): WorkflowDefinitionValidationResult;