// 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 { Limit } from "./Limit";

/**
 * SHOW statement - displays database objects
 */
export type Show = { 
/**
 * The thing to show (DATABASES, TABLES, SCHEMAS, etc.)
 */
this: string, 
/**
 * Whether TERSE was specified
 */
terse: boolean, 
/**
 * Whether HISTORY was specified
 */
history: boolean, 
/**
 * LIKE pattern
 */
like: Expression | null, 
/**
 * IN scope kind (ACCOUNT, DATABASE, SCHEMA, TABLE)
 */
scope_kind: string | null, 
/**
 * IN scope object
 */
scope: Expression | null, 
/**
 * STARTS WITH pattern
 */
starts_with: Expression | null, 
/**
 * LIMIT clause
 */
limit: Limit | null, 
/**
 * FROM clause (for specific object)
 */
from: Expression | null, 
/**
 * WHERE clause (MySQL: SHOW STATUS WHERE ...)
 */
where_clause?: Expression | null, 
/**
 * FOR target (MySQL: SHOW GRANTS FOR user, SHOW PROFILE ... FOR QUERY n)
 */
for_target?: Expression | null, 
/**
 * Second FROM clause (MySQL: SHOW COLUMNS FROM tbl FROM db)
 */
db?: Expression | null, 
/**
 * Target identifier (MySQL: engine name in SHOW ENGINE, table in SHOW COLUMNS FROM)
 */
target?: Expression | null, 
/**
 * MUTEX flag for SHOW ENGINE (true=MUTEX, false=STATUS, None=neither)
 */
mutex?: boolean | null, 
/**
 * WITH PRIVILEGES clause (Snowflake: SHOW ... WITH PRIVILEGES USAGE, MODIFY)
 */
privileges?: Array<string>, };
