// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { Expression } from "./Expression";
import type { From } from "./From";
import type { Identifier } from "./Identifier";
import type { Join } from "./Join";
import type { OrderBy } from "./OrderBy";
import type { OutputClause } from "./OutputClause";
import type { TableRef } from "./TableRef";
import type { Where } from "./Where";
import type { With } from "./With";

/**
 * UPDATE statement
 */
export type Update = { table: TableRef, 
/**
 * Additional tables for multi-table UPDATE (MySQL syntax)
 */
extra_tables: Array<TableRef>, 
/**
 * JOINs attached to the table list (MySQL multi-table syntax)
 */
table_joins: Array<Join>, set: Array<[Identifier, Expression]>, from_clause: From | null, 
/**
 * JOINs after FROM clause (PostgreSQL, Snowflake, SQL Server syntax)
 */
from_joins: Array<Join>, where_clause: Where | null, 
/**
 * RETURNING clause (PostgreSQL, SQLite)
 */
returning: Array<Expression>, 
/**
 * OUTPUT clause (TSQL)
 */
output: OutputClause | null, 
/**
 * WITH clause (CTEs)
 */
with: With | null, 
/**
 * Leading comments before the statement
 */
leading_comments: Array<string>, 
/**
 * LIMIT clause (MySQL)
 */
limit: Expression | null, 
/**
 * ORDER BY clause (MySQL)
 */
order_by: OrderBy | null, 
/**
 * Whether FROM clause appears before SET (Snowflake syntax)
 */
from_before_set: boolean, };
