export type SourceMigrationClassification = 'exact-duplicate' | 'legacy-only' | 'target-only' | 'divergent'; export interface SourceMigrationEntry { classification: SourceMigrationClassification; sourcePath: string | null; targetPath: string; sourceDigest: string | null; targetDigest: string | null; blockedReason?: string; } export interface SourceMigrationPlanV1 { schemaVersion: 'nexus-source-layout-migration-plan/v1'; workspaceRoot: string; entries: SourceMigrationEntry[]; summary: Record; applyAllowed: boolean; planDigest: string; } export declare function buildSourceLayoutMigrationPlan(startDir?: string): SourceMigrationPlanV1; export declare function applySourceLayoutMigration(input: { workspaceDir?: string; expectedPlanDigest: string; }): { planDigest: string; backupRoot: string; migratedFiles: number; deduplicatedFiles: number; };