import { type DecisionMigrationMapping } from '../decision/migrate.js';
export type PjmMigrationActionType = 'move' | 'create' | 'migrate-backlog' | 'migrate-decisions' | 'propose';
export type PjmMigrationActionResult = 'planned' | 'applied' | 'skipped';
export interface PjmMigrationAction {
    type: PjmMigrationActionType;
    result: PjmMigrationActionResult;
    source?: string;
    target?: string;
    reason?: string;
}
export interface PjmBacklogMigrationMapping {
    legacyId: string;
    id: string;
    title: string;
    filePath: string;
}
export interface PjmMigrationResult {
    repoRoot: string;
    status: 'skipped' | 'dry-run' | 'already-migrated' | 'migrated';
    reason?: string;
    dryRun: boolean;
    actions: PjmMigrationAction[];
    backlogMappings: PjmBacklogMigrationMapping[];
    decisionMappings: DecisionMigrationMapping[];
    written: string[];
}
export interface PjmMigrationOptions {
    repoRoot: string;
    assetsRoot: string;
    templatesRoot?: string;
    projectManagementEnabled: boolean;
    apply?: boolean;
}
export declare function migratePjmRepo(options: PjmMigrationOptions): Promise<PjmMigrationResult>;
export declare function readPjmMigrationPrompt(assetsRoot: string): Promise<string>;
//# sourceMappingURL=migrate.d.ts.map