/**
 * @module api
 *
 * # Flow Weaver API
 *
 * High-level API for working with Flow Weaver workflows.
 *
 * ## Parse → Validate → Generate Pipeline
 *
 * ```
 * Source File (.ts)
 *       ↓
 *   parseWorkflow()     → TWorkflowAST
 *       ↓
 *   validateWorkflow()  → ValidationResult
 *       ↓
 *   generateCode()      → Executable code
 * ```
 *
 * Or use `compileWorkflow()` for all steps in one call.
 *
 * ## Key Exports
 *
 * - **Parsing**: {@link parseWorkflow}
 * - **Validation**: {@link validateWorkflow}
 * - **Generation**: {@link generateCode}, {@link generateInPlace}
 * - **Compilation**: {@link compileWorkflow}
 * - **Query**: `getNode()`, `getNodeType()`, `findConnections()`
 * - **Manipulation**: `addNode()`, `removeNode()`, `addConnection()`, etc.
 * - **Builder**: `WorkflowBuilder` for programmatic AST construction
 */
export type { TWorkflowAST, TNodeTypeDefaultConfig, TNodeTypeAST, TNodeInstanceConfig, TNodeInstanceAST, TConnectionAST, TPortReference, TImportDeclaration, TImportSpecifier, TPortDefinition, TDataType, TSerializableValue, TSerializableObject, TSerializableArray, TExecuteWhen, TBranchingStrategy, TWorkflowMetadata, TNodeMetadata, TConnectionMetadata, TSourceLocation, TControlFlowGraph, TControlFlowEdge, TValidationError, TAnalysisResult, TBranchingNodeInfo, TBranchRegion, TMergeNodeInfo, TASTTransformer, TASTVisitor, TParseOptions, TValidationRule, TGenerateOptions, TCompileResult, TCompilationMetadata, } from '../ast/types.js';
export { type CompileOptions, compileWorkflow } from './compile.js';
export { type GenerateResult, generateCode } from './generate.js';
export { type InPlaceGenerateOptions, type InPlaceGenerateResult, generateInPlace, hasInPlaceMarkers, stripGeneratedSections, MARKERS, } from './generate-in-place.js';
export { type ParseResult, parseWorkflow } from './parse.js';
export { transformWorkflow } from './transform.js';
export { type ValidationResult, validateWorkflow } from './validate.js';
export { validationRuleRegistry } from './validation-registry.js';
export * from './manipulation/index.js';
export { applyModifyOperation, validateModifyParams } from './modify-operation.js';
export { withValidation, withMinimalValidation, withoutValidation, type RemoveOptions, type NodeFilter, type OperationResult, validatePortReference, portReferencesEqual, formatPortReference, generateUniqueNodeId, assertNodeTypeExists, assertNodeExists, assertNodeNotExists, } from './helpers.js';
export * from './query.js';
export * from './builder.js';
export * from './workflow-file-operations.js';
export * from './templates.js';
export * from './patterns.js';
export { type CommandResult, runCommand, getAvailableCommands } from './command-runner.js';
export { AnnotationParser } from '../parser.js';
export { compileTargetRegistry, type CompileTarget } from '../generator/compile-target-registry.js';
export { devModeRegistry, type DevModeProvider, type DevModeOptions } from '../generator/dev-mode-registry.js';
export { tagHandlerRegistry, type TagHandlerRegistry, type TTagHandlerFn, type TTagHandlerContext } from '../parser/tag-registry.js';
//# sourceMappingURL=index.d.ts.map