import type { OperationNode } from './operation-node.js'; import type { TableNode } from './table-node.js'; import type { ConstraintNode } from './constraint-node.js'; import type { ColumnDefinitionNode } from './column-definition-node.js'; import type { ArrayItemType } from '../util/type-utils.js'; import type { AddIndexNode } from './add-index-node.js'; export declare const ON_COMMIT_ACTIONS: string[]; export type OnCommitAction = ArrayItemType; export type CreateTableNodeParams = Omit; export interface CreateTableNode extends OperationNode { readonly kind: 'CreateTableNode'; readonly table: TableNode; readonly columns: ReadonlyArray; readonly constraints?: ReadonlyArray; readonly indexes?: ReadonlyArray; readonly temporary?: boolean; readonly ifNotExists?: boolean; readonly onCommit?: OnCommitAction; readonly frontModifiers?: ReadonlyArray; readonly endModifiers?: ReadonlyArray; readonly selectQuery?: OperationNode; } type CreateTableNodeFactory = Readonly<{ is(node: OperationNode): node is CreateTableNode; create(table: TableNode): Readonly; cloneWithColumn(node: CreateTableNode, column: ColumnDefinitionNode): Readonly; cloneWithConstraint(node: CreateTableNode, constraint: ConstraintNode): Readonly; cloneWithIndex(node: CreateTableNode, index: AddIndexNode): Readonly; cloneWithFrontModifier(node: CreateTableNode, modifier: OperationNode): Readonly; cloneWithEndModifier(node: CreateTableNode, modifier: OperationNode): Readonly; cloneWith(node: CreateTableNode, params: CreateTableNodeParams): Readonly; }>; /** * @internal */ export declare const CreateTableNode: CreateTableNodeFactory; export {};