import type { QueryStage } from "./query-stage.js"; import { type ComplexLookupBodyInput, default as QueryStep, type SimpleLookupBodyInput } from "./query-step.js"; export type SQLPreparedStatement = { where: string; join: string[]; parameters: (string | number)[]; }; export declare class Query { steps: QueryStep[]; body: any; constructor(); lookup(body: SimpleLookupBodyInput | ComplexLookupBodyInput): string; match(body: { [key: string]: unknown; }): void; dump(): QueryStep[]; toPipeline(): QueryStage[]; toPreparedStatement(): SQLPreparedStatement; static fromSingleMatch(body: any): Query; static fromCustomPipeline(stages: QueryStage[], rehash?: boolean): Query; _isUnwindStage(stages: QueryStage[], i: number): boolean; prefix(prefix: string): Query; }