import type { CompositeFilter, Filter, LeafFilter } from './types.js'; export declare const OPAQUE_FILTER_ERROR = "nested Prisma `where` is not supported by the Drizzle adapter; return a Filter or a flat `{ field: scalar }` map"; export declare const LEAF_OPS: Set<"startsWith" | "eq" | "contains" | "containsExact" | "gte" | "lte" | "lt" | "in" | "isNull" | "isNotNull">; export declare function isCompositeFilter(node: unknown): node is CompositeFilter; export declare function isLeafFilter(node: unknown): node is LeafFilter; /** Flat `{ field: scalar }` map — the 99% listWhere sugar. Empty `{}` is NOT flat (handler throws on listWhere `{}`; other callers keep it opaque). */ export declare function isFlatEqMap(node: unknown): node is Record; /** * Turns a listWhere / relations.where return value into a Filter when we can * do so without guessing. Nested Prisma where objects stay opaque. */ export declare function normalizeScope(scope: Record | Filter | undefined): Filter | Record | undefined;