/** * `chant migrate` command implementation. * * Dispatches to the target lexicon's `migrationSource(from)` extension hook. * The lexicon owns the actual translation logic; core orchestrates I/O, * stdout/stderr surfaces, and exit codes. */ import type { LexiconPlugin } from "../../lexicon.js"; export interface MigrateCliOpts { sourceFile: string; from: string; to: string; emit: "yaml" | "ts"; strict: boolean; validate: boolean; useComposites: boolean; output?: string; reportFile?: string; plugins: LexiconPlugin[]; } export interface MigrateCliResult { exitCode: number; /** Bytes written (output) if any */ output?: string; /** All diagnostic records */ diagnostics: Array>; /** Provenance records (used for SARIF + Markdown report) */ provenance: Array>; /** Error message if dispatch failed */ error?: string; /** Markdown summary lines printed to stderr */ markdownSummary?: string; } export declare function migrateCommand(opts: MigrateCliOpts): Promise; interface ValidatorResult { ran: boolean; ok: boolean; backend?: "glci" | "glab"; output: string; } /** * Run glci or glab against the generated .gitlab-ci.yml. Prefers glci * (offline, no auth). Falls back to glab ci lint. Returns a structured * result so the caller can decide how to surface success/failure. * * Exported for testability. */ export declare function tryValidateExternal(yamlText: string): ValidatorResult; export declare function printMigrateResult(result: MigrateCliResult): void; export {}; //# sourceMappingURL=migrate.d.ts.map