import { entityKind } from "../../entity.js"; import type { MySqlDialectConfig } from "../dialect.js"; import { MySqlDialect } from "../dialect.js"; import type { WithBuilder } from "../subquery.js"; import { WithSubquery } from "../../subquery.js"; import { MySqlSelectBuilder } from "./select.js"; import type { SelectedFields } from "./select.types.js"; export declare class QueryBuilder { static readonly [entityKind]: string; private dialect; private dialectConfig; constructor(dialect?: MySqlDialect | MySqlDialectConfig); $with: WithBuilder; with(...queries: WithSubquery[]): { select: { (): MySqlSelectBuilder; (fields: TSelection): MySqlSelectBuilder; }; selectDistinct: { (): MySqlSelectBuilder; (fields: TSelection): MySqlSelectBuilder; }; }; select(): MySqlSelectBuilder; select(fields: TSelection): MySqlSelectBuilder; selectDistinct(): MySqlSelectBuilder; selectDistinct(fields: TSelection): MySqlSelectBuilder; private getDialect; }