/** Result of folding technical.md into spec.md ## Technical section. */
export interface FoldTechnicalResult {
    ok: boolean;
    reason: 'already_unified' | 'no_technical_md' | 'ok' | 'error';
    byteDelta?: number;
    error?: string;
}
/** Result of folding progress.md into spec.md (or dropping it as boilerplate). */
export interface FoldProgressResult {
    ok: boolean;
    reason: 'no_progress_md' | 'dropped_boilerplate' | 'ok' | 'error';
    byteDelta?: number;
    error?: string;
}
/** Describes one spec directory that still has legacy multifile layout. */
export interface LegacyMatch {
    specDir: string;
    specId: string;
    hasTechnicalMd: boolean;
    hasProgressMd: boolean;
    /** True when the spec's status field in frontmatter is 'done'. */
    isDone: boolean;
}
/** Internal: minimal info about a legacy multi-file spec dir. */
export interface LegacySpecInfo {
    specId: string;
    specDir: string;
    hasTechnicalMd: boolean;
    hasProgressMd: boolean;
    isDone: boolean;
}
/** Per-spec result of a single SSR back-migration attempt. */
export interface SsrSpecMigrationResult {
    specId: string;
    specDir: string;
    migrated: boolean;
    action: 'fold_technical' | 'fold_progress' | 'drop_boilerplate_progress' | 'noop';
    reason: 'already_unified' | 'no_legacy_files' | 'frozen_done' | 'ok' | 'error';
    byteDelta?: number;
    error?: string;
}
/** Aggregate report returned by runSsrBackMigration. */
export interface SsrMigrationReport {
    scanned: number;
    migrated: number;
    alreadyUnified: number;
    skipped: {
        specId: string;
        reason: string;
    }[];
    mutations: {
        specId: string;
        action: string;
        byteDelta: number;
    }[];
    /** True when dryRun: false and mutations were committed to disk. */
    executed: boolean;
}
/** Options for the ssr_back_migration tool / engine orchestrator. */
export interface SsrBackMigrationOptions {
    projectPath: string;
    dryRun: boolean;
    foldProgressMd: boolean;
    /** When false (default), done-status specs are skipped. */
    allowDoneSpecs: boolean;
}
//# sourceMappingURL=ssr-migration.d.ts.map