import { CollectionQuery, Models, PermissionOperations, QueryInclusion, QueryWhere, RefSubquery, RelationSubquery } from '@triplit/db'; import { Session } from './session.js'; type PrepareQueryOptions = { applyPermission: PermissionOperations | undefined; }; export declare function prepareQuery(query: CollectionQuery, schema: Models | undefined, variables: Record, session: Session | undefined, options: PrepareQueryOptions): CollectionQuery; /** * Validates where clauses and transforms them to statements, groups, or subqueries * Applies permissions if specified in options * Replaces static variables, other vars handled by query engine */ export declare function prepareQueryFilters(query: CollectionQuery, schema: Models | undefined, variables: Record, session: Session | undefined, options: PrepareQueryOptions): QueryWhere | undefined; export declare function isQueryInclusionSubquery(inclusion: QueryInclusion): inclusion is RelationSubquery; export declare function isQueryInclusionShorthand(inclusion: QueryInclusion): inclusion is true | null; export declare function isQueryInclusionReference(inclusion: QueryInclusion): inclusion is RefSubquery; export {};