import type { PwSnapshot, PwTableSnapshot, PwColumnSnapshot, PwIndexSnapshot, PwForeignKeySnapshot, PwCheckSnapshot, PwUniqueSnapshot, PwCompositePKSnapshot } from './snapshot.js'; export type DiffOp = { type: 'create_table'; table: PwTableSnapshot; } | { type: 'drop_table'; table: PwTableSnapshot; } | { type: 'add_column'; tableName: string; tableSchema: string; column: PwColumnSnapshot; } | { type: 'drop_column'; tableName: string; tableSchema: string; column: PwColumnSnapshot; } | { type: 'alter_column_type'; tableName: string; tableSchema: string; column: string; from: string; to: string; } | { type: 'alter_column_set_not_null'; tableName: string; tableSchema: string; column: string; } | { type: 'alter_column_drop_not_null'; tableName: string; tableSchema: string; column: string; } | { type: 'alter_column_set_default'; tableName: string; tableSchema: string; column: string; value: string; } | { type: 'alter_column_drop_default'; tableName: string; tableSchema: string; column: string; } | { type: 'alter_column_set_generated'; tableName: string; tableSchema: string; column: PwColumnSnapshot; } | { type: 'alter_column_drop_generated'; tableName: string; tableSchema: string; column: string; } | { type: 'alter_column_set_identity'; tableName: string; tableSchema: string; column: PwColumnSnapshot; } | { type: 'alter_column_drop_identity'; tableName: string; tableSchema: string; column: string; } | { type: 'create_index'; tableName: string; tableSchema: string; index: PwIndexSnapshot; } | { type: 'drop_index'; tableName: string; tableSchema: string; index: PwIndexSnapshot; } | { type: 'add_foreign_key'; tableName: string; tableSchema: string; fk: PwForeignKeySnapshot; tablePartitioned: boolean; } | { type: 'drop_foreign_key'; tableName: string; tableSchema: string; fk: PwForeignKeySnapshot; } | { type: 'add_check'; tableName: string; tableSchema: string; check: PwCheckSnapshot; } | { type: 'drop_check'; tableName: string; tableSchema: string; check: PwCheckSnapshot; } | { type: 'add_unique'; tableName: string; tableSchema: string; unique: PwUniqueSnapshot; } | { type: 'drop_unique'; tableName: string; tableSchema: string; unique: PwUniqueSnapshot; } | { type: 'add_composite_pk'; tableName: string; tableSchema: string; pk: PwCompositePKSnapshot; } | { type: 'drop_composite_pk'; tableName: string; tableSchema: string; pk: PwCompositePKSnapshot; }; /** The wire name of the table an op acts on, across all `DiffOp` shapes. */ export declare function diffOpTableName(op: DiffOp): string; export declare function diffSnapshots(prev: PwSnapshot, cur: PwSnapshot): DiffOp[]; //# sourceMappingURL=diff.d.ts.map