// 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 { OnCluster } from "./OnCluster";
import type { TableRef } from "./TableRef";
import type { TruncateIdentity } from "./TruncateIdentity";
import type { TruncateTableEntry } from "./TruncateTableEntry";
import type { TruncateTarget } from "./TruncateTarget";

/**
 * TRUNCATE TABLE statement
 */
export type Truncate = { 
/**
 * Target of TRUNCATE (TABLE vs DATABASE)
 */
target: TruncateTarget, table: TableRef, 
/**
 * ClickHouse: ON CLUSTER clause for distributed DDL
 */
on_cluster?: OnCluster | null, cascade: boolean, 
/**
 * Additional tables for multi-table TRUNCATE
 */
extra_tables: Array<TruncateTableEntry>, 
/**
 * RESTART IDENTITY or CONTINUE IDENTITY
 */
identity: TruncateIdentity | null, 
/**
 * RESTRICT option (alternative to CASCADE)
 */
restrict: boolean, 
/**
 * Hive PARTITION clause: PARTITION(key=value, ...)
 */
partition?: Expression | null, };
