// 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 { Identifier } from "./Identifier";
import type { IndexColumn } from "./IndexColumn";
import type { TableRef } from "./TableRef";

/**
 * CREATE INDEX statement
 */
export type CreateIndex = { name: Identifier, table: TableRef, columns: Array<IndexColumn>, unique: boolean, if_not_exists: boolean, using: string | null, 
/**
 * TSQL CLUSTERED/NONCLUSTERED modifier
 */
clustered: string | null, 
/**
 * PostgreSQL CONCURRENTLY modifier
 */
concurrently: boolean, 
/**
 * PostgreSQL WHERE clause for partial indexes
 */
where_clause: Expression | null, 
/**
 * PostgreSQL INCLUDE columns
 */
include_columns?: Array<Identifier>, 
/**
 * TSQL WITH options (e.g., allow_page_locks=on)
 */
with_options?: Array<[string, string]>, 
/**
 * TSQL ON filegroup or partition scheme (e.g., ON PRIMARY, ON X([y]))
 */
on_filegroup: string | null, };
