import type { ModelSchema, SnapshotEntry, ViewSnapshotEntry, ForeignKeyDef } from './schema-introspector.js'; interface ColumnChange { model: string; column: string; type: string; } interface ColumnTypeChange { model: string; column: string; from: string; to: string; } interface ForeignKeyChange { model: string; column: string; references: ForeignKeyDef; } interface SnapshotDiff { hasChanges: boolean; addedModels: string[]; removedModels: string[]; addedColumns: ColumnChange[]; removedColumns: ColumnChange[]; changedColumns: ColumnTypeChange[]; addedForeignKeys: ForeignKeyChange[]; removedForeignKeys: ForeignKeyChange[]; } interface ViewDiff { hasChanges: boolean; addedViews: string[]; removedViews: string[]; changedViews: string[]; } interface GeneratedMigration { filename: string; content: string; snapshot: Record; } export declare function generateMigration(description?: string): Promise; export declare function loadLatestSnapshot(migrationsPath: string): Promise>; export declare function diffSnapshots(previous: Record, current: Record): SnapshotDiff; export declare function detectSchemaDrift(schemas: Record, snapshot: Record): SnapshotDiff; export declare function extractViewsFromSnapshot(snapshot: Record): Record; export declare function diffViewSnapshots(previous: Record, current: Record): ViewDiff; export {};