/**
 * Migration system - schema version detection and migration runner.
 * @task T4468
 * @epic T4454
 */
export type { AgentOutputsMigrationResult, LegacyDetectionResult, } from './agent-outputs.js';
export { detectLegacyAgentOutputs, migrateAgentOutputs, } from './agent-outputs.js';
export type { VerificationResult } from './checksum.js';
export { compareChecksums, computeChecksum, verifyBackup, } from './checksum.js';
export type { LogLevel, MigrationLogEntry, MigrationLoggerConfig, } from './logger.js';
export { createMigrationLogger, getLatestMigrationLog, logFileExists, MigrationLogger, readMigrationLog, } from './logger.js';
export type { PreflightResult } from './preflight.js';
export { checkStorageMigration } from './preflight.js';
export type { MigrationPhase, MigrationProgress, MigrationState, SourceFileInfo, } from './state.js';
export { addMigrationError, addMigrationWarning, canResumeMigration, clearMigrationState, completeMigration, createMigrationState, failMigration, getMigrationSummary, isMigrationInProgress, loadMigrationState, updateMigrationPhase, updateMigrationProgress, updateMigrationState, verifySourceIntegrity, } from './state.js';
export type { JsonFileValidation, JsonValidationResult, } from './validate.js';
export { checkTaskCountMismatch, formatValidationResult, validateSourceFiles, } from './validate.js';
/** Schema version info. */
export interface SchemaVersion {
    current: string;
    target: string;
    needsMigration: boolean;
}
/** Migration function signature. */
export type MigrationFn = (data: unknown) => unknown;
/** Migration definition. */
export interface MigrationDef {
    fromVersion: string;
    toVersion: string;
    description: string;
    migrate: MigrationFn;
}
/** Migration run result. */
export interface MigrationResult {
    file: string;
    fromVersion: string;
    toVersion: string;
    migrationsApplied: string[];
    success: boolean;
    errors: string[];
    dryRun: boolean;
}
/** Status of all data files. */
export interface MigrationStatus {
    todoJson: SchemaVersion | null;
    configJson: SchemaVersion | null;
    archiveJson: SchemaVersion | null;
}
/**
 * Detect schema version from a data file.
 * @task T4468
 */
export declare function detectVersion(data: unknown): string;
/**
 * Compare two version strings (X.Y.Z format, works for both semver and CalVer).
 * Returns -1 if a < b, 0 if equal, 1 if a > b.
 * @task T4468
 */
export declare function compareSemver(a: string, b: string): number;
/**
 * Get migration status for all data files.
 * @task T4468
 */
export declare function getMigrationStatus(cwd?: string): Promise<MigrationStatus>;
/**
 * Run migrations on a data file.
 * @task T4468
 */
export declare function runMigration(fileType: string, options?: {
    dryRun?: boolean;
}, cwd?: string): Promise<MigrationResult>;
/**
 * Run all pending migrations.
 * @task T4468
 */
export declare function runAllMigrations(options?: {
    dryRun?: boolean;
}, cwd?: string): Promise<MigrationResult[]>;
//# sourceMappingURL=index.d.ts.map