import { Effect, type NonEmptyReadonlyArray } from "effect-app"; import type { FilterResult } from "../../Model/filter/filterApi.js"; export interface SQLDialect { readonly jsonExtract: (path: string) => string; readonly jsonExtractJson: (path: string) => string; readonly placeholder: (index: number) => string; readonly jsonArrayContains: (arrPath: string, valPlaceholder: string) => string; readonly jsonArrayNotContains: (arrPath: string, valPlaceholder: string) => string; readonly jsonArrayContainsAny: (arrPath: string, valPlaceholders: readonly string[]) => string; readonly jsonArrayNotContainsAny: (arrPath: string, valPlaceholders: readonly string[]) => string; readonly jsonArrayContainsAll: (arrPath: string, valPlaceholders: readonly string[]) => string; readonly jsonArrayNotContainsAll: (arrPath: string, valPlaceholders: readonly string[]) => string; readonly caseInsensitiveLike: (expr: string, valPlaceholder: string) => string; readonly caseInsensitiveNotLike: (expr: string, valPlaceholder: string) => string; readonly jsonColumnType: "JSON" | "JSONB"; readonly arrayLength: (path: string) => string; readonly jsonEachFrom: (arrPath: string, alias: string) => string; readonly jsonExtractElement: (alias: string, subPath: string) => string; readonly serializeJsonValue: (v: unknown) => unknown; readonly serializeScalar: (v: unknown) => unknown; } export declare const sqliteDialect: SQLDialect; export declare const pgDialect: SQLDialect; export declare function logQuery(q: { sql: string; params: unknown[]; }): Effect.Effect; export declare function buildWhereSQLQuery(dialect: SQLDialect, idKey: PropertyKey, filter: readonly FilterResult[], tableName: string, defaultValues: Record, select?: NonEmptyReadonlyArray, order?: NonEmptyReadonlyArray<{ key: string; direction: "ASC" | "DESC"; }>, skip?: number, limit?: number): { sql: string; params: unknown[]; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9TdG9yZS9TUUwvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLHFCQUFxQixFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRy9ELE9BQU8sS0FBSyxFQUFXLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBRzVFLE1BQU0sV0FBVyxVQUFVO0lBQ3pCLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLE1BQU0sQ0FBQTtJQUM5QyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUE7SUFDbEQsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEtBQUssTUFBTSxDQUFBO0lBQy9DLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUE7SUFDL0UsUUFBUSxDQUFDLG9CQUFvQixFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxLQUFLLE1BQU0sQ0FBQTtJQUNsRixRQUFRLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxTQUFTLE1BQU0sRUFBRSxLQUFLLE1BQU0sQ0FBQTtJQUM5RixRQUFRLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxTQUFTLE1BQU0sRUFBRSxLQUFLLE1BQU0sQ0FBQTtJQUNqRyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxTQUFTLE1BQU0sRUFBRSxLQUFLLE1BQU0sQ0FBQTtJQUM5RixRQUFRLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxTQUFTLE1BQU0sRUFBRSxLQUFLLE1BQU0sQ0FBQTtJQUNqRyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLEtBQUssTUFBTSxDQUFBO0lBQzlFLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUE7SUFDakYsUUFBUSxDQUFDLGNBQWMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFBO0lBQ3pDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLE1BQU0sQ0FBQTtJQUM5QyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxLQUFLLE1BQU0sQ0FBQTtJQUNqRSxRQUFRLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEtBQUssTUFBTSxDQUFBO0lBQ3ZFLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLEtBQUssT0FBTyxDQUFBO0lBQ3BELFFBQVEsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxLQUFLLE9BQU8sQ0FBQTtDQUNsRDtBQUVELGVBQU8sTUFBTSxhQUFhLEVBQUUsVUE0QjNCLENBQUE7QUFFRCxlQUFPLE1BQU0sU0FBUyxFQUFFLFVBMkV2QixDQUFBO0FBRUQsd0JBQWdCLFFBQVEsQ0FBQyxDQUFDLEVBQUU7SUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDO0lBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFBO0NBQUUscUNBTzdEO0FBUUQsd0JBQWdCLGtCQUFrQixDQUNoQyxPQUFPLEVBQUUsVUFBVSxFQUNuQixLQUFLLEVBQUUsV0FBVyxFQUNsQixNQUFNLEVBQUUsU0FBUyxZQUFZLEVBQUUsRUFDL0IsU0FBUyxFQUFFLE1BQU0sRUFDakIsYUFBYSxFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQ3RDLE1BQU0sQ0FBQyxFQUFFLHFCQUFxQixDQUFDLE1BQU0sR0FBRztJQUFFLEdBQUcsRUFBRSxNQUFNLENBQUM7SUFBQyxPQUFPLEVBQUUsU0FBUyxNQUFNLEVBQUUsQ0FBQTtDQUFFLENBQUMsRUFDcEYsS0FBSyxDQUFDLEVBQUUscUJBQXFCLENBQUM7SUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDO0lBQUMsU0FBUyxFQUFFLEtBQUssR0FBRyxNQUFNLENBQUE7Q0FBRSxDQUFDLEVBQ3pFLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFDYixLQUFLLENBQUMsRUFBRSxNQUFNOzs7RUEwUGYifQ==