import { SelectQuery } from "../models/SelectQuery"; import { SqlParameterValue } from "../models/ValueComponent"; /** * Represents an EXISTS / NOT EXISTS instruction derived from filter metadata. */ export interface ExistsInstruction { mode: "exists" | "notExists"; anchorColumns: string[]; sql: string; params?: Record; } /** * Configuration that controls how EXISTS predicates are injected. */ export interface ExistsPredicateOptions { tableColumnResolver?: (tableName: string) => string[]; strict?: boolean; } /** * Describes a correlated subquery that renders an EXISTS/NOT EXISTS predicate. */ export interface ExistsSubqueryDefinition { /** SQL that references the `$c#` placeholders for the anchor columns. */ sql: string; /** Optional named parameters that the subquery requires. */ params?: Record; } /** * Injects EXISTS/NOT EXISTS predicates into the provided SelectQuery. * Each instruction is evaluated independently so failures can be skipped * when `strict` is false. */ export declare function injectExistsPredicates(query: SelectQuery, instructions: ExistsInstruction[], options?: ExistsPredicateOptions): SelectQuery;