import type { ForeignKeyDef, SnapshotEntry } from '../types/orm-types.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 DiffResult { hasChanges: boolean; addedModels: string[]; removedModels: string[]; addedColumns: ColumnChange[]; removedColumns: ColumnChange[]; changedColumns: ColumnTypeChange[]; addedForeignKeys: ForeignKeyChange[]; removedForeignKeys: ForeignKeyChange[]; } interface ViewDiffResult { hasChanges: boolean; addedViews: string[]; removedViews: string[]; changedViews: string[]; } interface MigrationResult { filename: string; content: string; snapshot: Record; } export declare function generateMigration(description?: string, configKey?: string): Promise; export declare function loadLatestSnapshot(migrationsPath: string): Promise>; export declare function diffSnapshots(previous: Record, current: Record): DiffResult; export declare function detectSchemaDrift(schemas: Record, snapshot: Record): DiffResult; export declare function extractViewsFromSnapshot(snapshot: Record): Record; export declare function diffViewSnapshots(previous: Record, current: Record): ViewDiffResult; export {};