import type { QueryWhere } from "./types.ts"; type ExistsClause = { sql: string; params: readonly unknown[]; not?: boolean; }; type WhereNode = { kind: "and" | "or"; where: QueryWhere; } | { kind: "and" | "or"; group: WhereNode[]; } | { kind: "and" | "or"; exists: ExistsClause; }; declare class WhereBuilder { readonly nodes: WhereNode[]; where(where: QueryWhere): this; orWhere(where: QueryWhere): this; whereGroup(fn: (builder: WhereBuilder) => void): this; orWhereGroup(fn: (builder: WhereBuilder) => void): this; } export type { ExistsClause, WhereNode }; export { WhereBuilder };