import type { CheckConstraintNode } from './check-constraint-node.js'; import { ColumnNode } from './column-node.js'; import type { DefaultValueNode } from './default-value-node.js'; import type { GeneratedNode } from './generated-node.js'; import type { OperationNode } from './operation-node.js'; import type { ReferencesNode } from './references-node.js'; export type ColumnDefinitionNodeProps = Omit, 'kind' | 'dataType'>; export interface ColumnDefinitionNode extends OperationNode { readonly kind: 'ColumnDefinitionNode'; readonly column: ColumnNode; readonly dataType: OperationNode; readonly references?: ReferencesNode; readonly primaryKey?: boolean; readonly autoIncrement?: boolean; readonly unique?: boolean; readonly notNull?: boolean; readonly defaultTo?: DefaultValueNode; readonly check?: CheckConstraintNode; readonly generated?: GeneratedNode; readonly unsigned?: boolean; readonly frontModifiers?: ReadonlyArray; readonly endModifiers?: ReadonlyArray; readonly nullsNotDistinct?: boolean; readonly identity?: boolean; readonly ifNotExists?: boolean; } type ColumnDefinitionNodeFactory = Readonly<{ is(node: OperationNode): node is ColumnDefinitionNode; create(column: string, dataType: OperationNode): Readonly; cloneWithFrontModifier(node: ColumnDefinitionNode, modifier: OperationNode): Readonly; cloneWithEndModifier(node: ColumnDefinitionNode, modifier: OperationNode): Readonly; cloneWith(node: ColumnDefinitionNode, props: ColumnDefinitionNodeProps): Readonly; }>; /** * @internal */ export declare const ColumnDefinitionNode: ColumnDefinitionNodeFactory; export {};