import type { NonEmptyReadonlyArray } from "effect-app/Array"; import * as Effect from "effect-app/Effect"; import type { FilterResult } from "../../Model/filter/filterApi.js"; import type { AggregateIrExpression, ComputedProjectionIrExpression } from "../../Model/query.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, namespace?: string): { sql: string; params: unknown[]; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnkuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9TdG9yZS9TUUwvcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3RCxPQUFPLEtBQUssTUFBTSxNQUFNLG1CQUFtQixDQUFBO0FBRzNDLE9BQU8sS0FBSyxFQUFXLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzVFLE9BQU8sS0FBSyxFQUFFLHFCQUFxQixFQUFFLDhCQUE4QixFQUFzQyxNQUFNLHNCQUFzQixDQUFBO0FBR3JJLE1BQU0sV0FBVyxVQUFVO0lBQ3pCLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxLQUFLLE1BQU0sQ0FBQTtJQUM5QyxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUE7SUFDbEQsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEtBQUssTUFBTSxDQUFBO0lBQy9DLFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLE1BQU0sS0FBSyxNQUFNLENBQUE7SUFDL0UsUUFBUSxDQUFDLG9CQUFvQixFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxLQUFLLE1BQU0sQ0FBQTtJQUNsRixRQUFRLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxTQUFTLE1BQU0sRUFBRSxLQUFLLE1BQU0sQ0FBQTtJQUM5RixRQUFRLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxTQUFTLE1BQU0sRUFBRSxLQUFLLE1BQU0sQ0FBQTtJQUNqRyxRQUFRLENBQUMsb0JBQW9CLEVBQUUs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