/** * @license * Copyright 2025 Steven Roussey * SPDX-License-Identifier: Apache-2.0 */ import { type DeleteSearchCriteria, type ValueOptionType } from "../tabular/ITabularStorage"; import type { ISqlDialect } from "./Dialect"; /** * Result of {@link buildSearchWhere} — a parameterized WHERE-clause body * (without the leading `WHERE` keyword) and its ordered parameters. */ export interface BuiltWhereClause { readonly whereClause: string; readonly params: ValueOptionType[]; } /** * Builds a parameterized AND-joined WHERE clause from a {@link DeleteSearchCriteria}. * Used by every SQL tabular backend so the operator handling stays consistent. * * @param dialect Identifier-quoting + placeholder rules for the target DB. * @param criteria Per-column equality value or {@link SearchOperator} condition. * @param schemaProps Schema property bag — unknown columns throw, preventing * callers from accidentally letting user input pick a column. * @param convertValue Backend-specific JS-to-SQL coercion (e.g. boolean → 0/1). * @param startIndex 1-based starting parameter index (defaults to 1). * PostgreSQL callers use this when other params have already * been bound; SQLite ignores it because placeholders are positional. */ export declare function buildSearchWhere(dialect: ISqlDialect, criteria: DeleteSearchCriteria, schemaProps: Record, convertValue: (column: string, value: Entity[keyof Entity]) => ValueOptionType, startIndex?: number): BuiltWhereClause; //# sourceMappingURL=PredicateBuilder.d.ts.map