/** `botmux template migrate-v3`: dry-run first, explicit commit second. */ import { loadBotConfigs } from '../bot-registry.js'; import { scanLegacyWorkflowCandidates } from '../workflows/migration/v2-scanner.js'; import { type LegacyMigrationIssue } from '../workflows/migration/v2-to-v3.js'; import type { SavedWorkflowOwner, SavedWorkflowScope } from '../workflows/v3/library-schema.js'; export interface WorkflowMigrationCliOptions { refs: string[]; all: boolean; commit: boolean; json: boolean; acknowledgeWarnings: boolean; supersedePending: boolean; dataDir: string; owner?: SavedWorkflowOwner; scope?: SavedWorkflowScope; chatType?: 'group' | 'p2p'; } export interface WorkflowMigrationCliReport { path: string; workflowId: string; status: 'invalid' | 'shadowed' | 'unsupported' | 'convertible' | 'update_required' | 'pending' | 'migrated' | 'committed' | 'failed'; contentHash?: string; targetWorkflowId?: string; targetRevisionId?: string; shadowedBy?: string; issues: LegacyMigrationIssue[]; error?: string; } export interface WorkflowMigrationCliDeps { loadBots?: typeof loadBotConfigs; scanCandidates?: typeof scanLegacyWorkflowCandidates; } export declare function parseWorkflowMigrationCliOptions(args: string[], defaultDataDir?: string): WorkflowMigrationCliOptions; export declare function runWorkflowMigrationCli(options: WorkflowMigrationCliOptions, deps?: WorkflowMigrationCliDeps): Promise<{ reports: WorkflowMigrationCliReport[]; ok: boolean; }>; export declare function cmdWorkflowMigration(args: string[]): Promise; //# sourceMappingURL=workflow-migration.d.ts.map