/**
 * workflow/core/workflowRegistry.ts
 * Registry for managing workflow configurations
 */
import type { WorkflowConfig, ListOptions, RegisterOptions, RegisterResult, RegistryStats, WorkflowMetadata } from "../../types/index.js";
/**
 * Register a new workflow
 * @param config - Workflow configuration to register
 * @param options - Registration options
 * @returns Registration result
 */
export declare function registerWorkflow(config: WorkflowConfig, options?: RegisterOptions): RegisterResult;
/**
 * Unregister a workflow
 * @param workflowId - ID of workflow to unregister
 * @returns True if workflow was unregistered
 */
export declare function unregisterWorkflow(workflowId: string): boolean;
/**
 * Get workflow configuration by ID
 * @param workflowId - ID of workflow to retrieve
 * @returns Workflow configuration or undefined
 */
export declare function getWorkflow(workflowId: string): WorkflowConfig | undefined;
/**
 * Check if workflow exists
 * @param workflowId - ID of workflow to check
 * @returns True if workflow exists
 */
export declare function hasWorkflow(workflowId: string): boolean;
/**
 * List all registered workflows
 * @param options - Listing options for filtering
 * @returns Array of workflow configurations
 */
export declare function listWorkflows(options?: ListOptions): WorkflowConfig[];
/**
 * Get workflow metadata (usage stats, timestamps)
 * @param workflowId - ID of workflow
 * @returns Metadata or undefined
 */
export declare function getWorkflowMetadata(workflowId: string): WorkflowMetadata | undefined;
/**
 * Update workflow configuration
 * @param workflowId - ID of workflow to update
 * @param updates - Partial workflow config with updates
 * @param options - Update options
 * @returns Update result
 */
export declare function updateWorkflow(workflowId: string, updates: Partial<WorkflowConfig>, options?: RegisterOptions): RegisterResult;
/**
 * Clear all workflows from registry
 * WARNING: This will remove all registered workflows
 */
export declare function clearRegistry(): void;
/**
 * Get registry statistics
 * @returns Statistics about registered workflows
 */
export declare function getRegistryStats(): RegistryStats;
/**
 * Export registry as JSON for backup/sharing
 * @returns JSON string of all workflows
 */
export declare function exportRegistry(): string;
/**
 * Import workflows from JSON
 * @param json - JSON string of workflow configs
 * @param options - Import options
 * @returns Array of registration results
 */
export declare function importRegistry(json: string, options?: RegisterOptions): RegisterResult[];
