// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { Identifier } from "./Identifier";

/**
 * Constraint modifiers (shared between table-level constraints)
 */
export type ConstraintModifiers = { 
/**
 * ENFORCED / NOT ENFORCED
 */
enforced: boolean | null, 
/**
 * DEFERRABLE / NOT DEFERRABLE
 */
deferrable: boolean | null, 
/**
 * INITIALLY DEFERRED / INITIALLY IMMEDIATE
 */
initially_deferred: boolean | null, 
/**
 * NORELY (Oracle)
 */
norely: boolean, 
/**
 * RELY (Oracle)
 */
rely: boolean, 
/**
 * USING index type (MySQL): BTREE or HASH
 */
using: string | null, 
/**
 * True if USING appeared before columns (MySQL: INDEX USING BTREE (col) vs INDEX (col) USING BTREE)
 */
using_before_columns: boolean, 
/**
 * MySQL index COMMENT 'text'
 */
comment?: string | null, 
/**
 * MySQL index VISIBLE/INVISIBLE
 */
visible?: boolean | null, 
/**
 * MySQL ENGINE_ATTRIBUTE = 'value'
 */
engine_attribute?: string | null, 
/**
 * MySQL WITH PARSER name
 */
with_parser?: string | null, 
/**
 * PostgreSQL NOT VALID (constraint is not validated against existing data)
 */
not_valid: boolean, 
/**
 * TSQL CLUSTERED/NONCLUSTERED modifier
 */
clustered?: string | null, 
/**
 * SQLite ON CONFLICT clause: ROLLBACK, ABORT, FAIL, IGNORE, or REPLACE
 */
on_conflict?: string | null, 
/**
 * TSQL WITH options (e.g., PAD_INDEX=ON, STATISTICS_NORECOMPUTE=OFF)
 */
with_options?: Array<[string, string]>, 
/**
 * TSQL ON filegroup (e.g., ON [INDEX], ON [PRIMARY])
 */
on_filegroup?: Identifier | null, };
