import type { NoteRepository, NoteMetadata } from './storage/NoteRepository.js'; export interface DataMigration { id: string; version: number; description: string; dependsOn?: string[]; /** Which notes need this migration */ detect(repo: NoteRepository): NoteMetadata[]; /** Instructions embedded in upgrade-read response (tells the model what to generate) */ instructions: string; /** Which note fields to include in the read response */ readFields: ('content' | 'summary' | 'guidance' | 'context')[]; /** Schema for the fields the model returns in upgrade-apply */ applyFields: Record; /** Apply one update (partial merge — only touches specified fields) */ apply(repo: NoteRepository, noteId: string, fields: Record): boolean; } export interface PendingMigration { id: string; version: number; description: string; pending: number; status: 'ready' | 'blocked'; blockedBy?: string[]; } /** Ordered registry of all data migrations */ export declare const DATA_MIGRATIONS: DataMigration[]; /** Returns all migrations with pending counts and blocked/ready status */ export declare function getPendingMigrations(repo: NoteRepository): PendingMigration[]; /** Look up a migration by ID */ export declare function getMigrationById(id: string): DataMigration | undefined; //# sourceMappingURL=data-migrations.d.ts.map