import { ColumnUpdateNode } from '../operation-node/column-update-node.js'; import { type ExpressionBuilder } from '../expression/expression-builder.js'; import type { UpdateType } from '../util/column-type.js'; import { type ValueExpression } from './value-parser.js'; import { type ExtractRawTypeFromReferenceExpression, type ReferenceExpression } from './reference-parser.js'; import type { AnyColumn, DrainOuterGeneric } from '../util/type-utils.js'; export type UpdateObject = DrainOuterGeneric<{ [C in AnyColumn]?: { [T in UT]: C extends keyof DB[T] ? ValueExpression> | undefined : never; }[UT]; }>; export type UpdateObjectFactory = (eb: ExpressionBuilder) => UpdateObject; export type UpdateObjectExpression = UpdateObject | UpdateObjectFactory; export type ExtractUpdateTypeFromReferenceExpression = UpdateType>; export declare function parseUpdate(...args: [UpdateObjectExpression] | [ReferenceExpression, ValueExpression]): ReadonlyArray; export declare function parseUpdateObjectExpression(update: UpdateObjectExpression): ReadonlyArray;