// 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";

/**
 * Represent an aliased expression (`expr AS name`).
 *
 * Used for column aliases in select-lists, table aliases on subqueries,
 * and column alias lists on table-valued expressions (e.g. `AS t(c1, c2)`).
 */
export type Alias = { 
/**
 * The expression being aliased.
 */
this: Expression, 
/**
 * The alias name (required for simple aliases, optional when only column aliases provided)
 */
alias: Identifier, 
/**
 * Optional column aliases for table-valued functions: AS t(col1, col2) or AS (col1, col2)
 */
column_aliases: Array<Identifier>, 
/**
 * Comments that appeared between the expression and AS keyword
 */
pre_alias_comments: Array<string>, 
/**
 * Trailing comments that appeared after the alias
 */
trailing_comments: Array<string>, };
