import { type EntityFields } from '../database/entity'; import { type EntityClass } from '../database/metadata'; import type { FilterRecord, FilterValue, PatchRecord, QueryMutationResult } from '../database/query'; import type { ClassType } from '../types'; export declare class SqlTestingHelper { private rows; mockEntity(entityClass: ClassType, data: Partial>[] | Partial>): void; clearMocks(): void; hasMock(entityClass: ClassType): boolean; createQuery(entityClass: EntityClass): InMemoryQueryBuilder; } declare class InMemoryQueryBuilder { private readonly entityClass; private readonly rows; private filters; private selected?; private order; private limitValue?; private offsetValue?; constructor(entityClass: EntityClass, rows: Record[]); filter(filter: FilterRecord): this; filterField(field: keyof T | string, value: FilterValue): this; select(...fields: string[]): this; orderBy(field: string, direction?: 'asc' | 'desc' | 'ASC' | 'DESC' | 1 | -1): this; sort(field: string | Record, direction?: 'asc' | 'desc' | 'ASC' | 'DESC' | 1 | -1): this; limit(limit: number): this; offset(offset: number): this; skip(offset: number): this; find(): Promise; findField(field: K): Promise; findOneFieldOrUndefined(field: K): Promise; findOneField(field: K): Promise; findOneOrUndefined(): Promise; findOne(): Promise; has(): Promise; count(): Promise; patchMany(patch: PatchRecord): Promise; patchOne(patch: PatchRecord): Promise; deleteMany(): Promise; deleteOne(): Promise; private applyPatch; private requirePrimaryKeyFilter; private applyQuery; private hydrate; } export {}; //# sourceMappingURL=sql.d.ts.map