/** * Constraint Handlers Module * Handles constraint operation handlers (create, drop, update) */ import type { ILegacySyncOptions, TNullable } from '../types'; import type { Client } from 'pg'; interface IConstraintRow { table_name: string; constraint_name: string; constraint_type: string; column_name: TNullable; foreign_table_name: TNullable; foreign_column_name: TNullable; update_rule: TNullable; delete_rule: TNullable; check_clause?: TNullable; } export declare class ConstraintHandlers { private options; private constraintDefinitions; constructor(sourceClient: Client, targetClient: Client, options: ILegacySyncOptions); /** * Handle constraints that have changed */ handleConstraintsToUpdate(sourceConstraints: IConstraintRow[], targetConstraints: IConstraintRow[], alterStatements: string[]): Promise; /** * Handle constraints to drop in target */ /** * Drop FKs on tables that remain in the schema but reference a removed module table * (must run before CASCADE drops on the referenced tables). */ private emitForeignKeyDropsReferencingRemovedTables; handleConstraintsToDrop(sourceConstraints: IConstraintRow[], targetConstraints: IConstraintRow[], alterStatements: string[]): Promise; /** * Handle constraints to create in target */ handleConstraintsToCreate(sourceConstraints: IConstraintRow[], targetConstraints: IConstraintRow[], alterStatements: string[]): Promise; } export {}; //# sourceMappingURL=constraintHandlers.d.ts.map