import { IContainsTable, IPrimitiveValue, ISqlAdapter } from "@trong-orm/sql"; import { IBaseToken, TokenType } from "../../types"; import { ICTEState } from "../cte"; import { IFromState } from "../from"; import { IJoinState } from "../join"; import { IOrReplaceState } from "../orReplace"; import { IReturningState } from "../returning"; import { IWhereState } from "../where"; import { ISelectStatement } from "./select"; import { IValuesStatement } from "./values"; declare type ISetValue = { columnName: string; toSet: IBaseToken | IPrimitiveValue | ISelectStatement | IValuesStatement; } | IBaseToken; export interface IUpdateStatement extends IBaseToken, ICTEState, IWhereState, IFromState, IReturningState, IOrReplaceState, IJoinState { _updateTable: IContainsTable; _setValues: ISetValue[]; set(...args: ISetArgType[]): IUpdateStatement; } declare type ISetArgType = ISqlAdapter | { [key: string]: ISqlAdapter | IBaseToken | IPrimitiveValue | ISelectStatement | IValuesStatement; } | IBaseToken; export declare const update: (tbl: string | IContainsTable) => IUpdateStatement; export {};