import type { ColumnNode } from './column-node.js'; import type { ColumnUpdateNode } from './column-update-node.js'; import type { IdentifierNode } from './identifier-node.js'; import type { OperationNode } from './operation-node.js'; import { WhereNode } from './where-node.js'; export type OnConflictNodeProps = Omit; export interface OnConflictNode extends OperationNode { readonly kind: 'OnConflictNode'; readonly columns?: ReadonlyArray; readonly constraint?: IdentifierNode; readonly indexExpression?: OperationNode; readonly indexWhere?: WhereNode; readonly updates?: ReadonlyArray; readonly updateWhere?: WhereNode; readonly doNothing?: boolean; } type OnConflictNodeFactory = Readonly<{ is(node: OperationNode): node is OnConflictNode; create(): Readonly; cloneWith(node: OnConflictNode, props: OnConflictNodeProps): Readonly; cloneWithIndexWhere(node: OnConflictNode, operation: OperationNode): Readonly; cloneWithIndexOrWhere(node: OnConflictNode, operation: OperationNode): Readonly; cloneWithUpdateWhere(node: OnConflictNode, operation: OperationNode): Readonly; cloneWithUpdateOrWhere(node: OnConflictNode, operation: OperationNode): Readonly; cloneWithoutIndexWhere(node: OnConflictNode): Readonly; cloneWithoutUpdateWhere(node: OnConflictNode): Readonly; }>; /** * @internal */ export declare const OnConflictNode: OnConflictNodeFactory; export {};