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

/**
 * ALTER TABLE statement
 */
export type AlterTable = { name: TableRef, actions: Array<AlterTableAction>, 
/**
 * IF EXISTS clause
 */
if_exists: boolean, 
/**
 * MySQL: ALGORITHM=INPLACE|COPY|DEFAULT|INSTANT
 */
algorithm?: string | null, 
/**
 * MySQL: LOCK=NONE|SHARED|DEFAULT|EXCLUSIVE
 */
lock?: string | null, 
/**
 * TSQL: WITH CHECK / WITH NOCHECK modifier before ADD CONSTRAINT
 */
with_check?: string | null, 
/**
 * Hive: PARTITION clause before actions (e.g., ALTER TABLE x PARTITION(y=z) ADD COLUMN ...)
 */
partition?: Array<[Identifier, Expression]> | null, 
/**
 * ClickHouse: ON CLUSTER clause for distributed DDL
 */
on_cluster?: OnCluster | null, };
