import { ColumnRefNode } from './ast/column-ref.js'; import { ExprNode, SQLNode } from './ast/node.js'; import { TableRefNode } from './ast/table-ref.js'; import { Query } from './ast/query.js'; import { WithClauseNode } from './ast/with.js'; /** * Interface representing a dynamic parameter value. */ export interface ParamLike { /** The current parameter value. */ value: unknown; /** Add an event listener callback. */ addEventListener(type: string, callback: EventCallback): void; /** Remove an event listener callback. */ removeEventListener(type: string, callback: EventCallback): void; } /** * Expression value input to SQL builder method. */ export type ExprValue = ExprNode | ParamLike | string | number | boolean | Date | null; /** * Expression values that may be nested in arrays. */ export type ExprVarArgs = MaybeArray; /** * String-typed expression value. */ export type StringValue = ExprNode | ParamLike | string; /** * Number-typed expression value. */ export type NumberValue = ExprNode | ParamLike | number; /** * Event listener callback function. */ export type EventCallback = (value: unknown) => Promise | undefined; /** Valid window function names. */ export type WindowFunctionName = 'cume_dist' | 'dense_rank' | 'first_value' | 'lag' | 'last_value' | 'lead' | 'nth_value' | 'ntile' | 'percent_rank' | 'rank_dense' | 'rank' | 'row_number'; export type MaybeArray = T | T[]; export type SelectEntry = null | string | ColumnRefNode | [string, ExprNode] | Record; export type SelectExpr = MaybeArray; export type WithEntry = WithClauseNode | Record; export type WithExpr = MaybeArray; export type FromEntry = string | TableRefNode | SQLNode | [string, SQLNode] | Record; export type FromExpr = MaybeArray; export type FilterExpr = MaybeArray; export type GroupByExpr = MaybeArray; export type OrderByExpr = MaybeArray; //# sourceMappingURL=types.d.ts.map