import { type FieldInfo, type ModelMeta } from '../../cross'; /** * Context for visiting */ export type WhereVisitorContext = { /** * Parent data, can be used to replace fields */ parent: any; /** * Current field, undefined if toplevel */ field?: FieldInfo; }; /** * WhereVisitor's callback actions */ export type WhereVisitorCallback = { field?: (field: FieldInfo, data: any) => Promise; }; /** * Recursive visitor for where payload */ export declare class WhereVisitor { private readonly modelMeta; private readonly callback; constructor(modelMeta: ModelMeta, callback: WhereVisitorCallback); /** * Start visiting */ visit(model: string, where: any): Promise; }