drizzle-orm
Version:
Drizzle ORM package for SQL databases
30 lines (29 loc) • 1.62 kB
TypeScript
import { entityKind } from "../../entity.js";
import type { WithSubqueryWithSelection } from "../subquery.js";
import type { TypedQueryBuilder } from "../../query-builders/query-builder.js";
import type { ColumnsSelection } from "../../sql/sql.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;
$with<TAlias extends string>(alias: TAlias): {
as<TSelection extends ColumnsSelection>(qb: TypedQueryBuilder<TSelection, unknown> | ((qb: QueryBuilder) => TypedQueryBuilder<TSelection, unknown>)): WithSubqueryWithSelection<TSelection, TAlias>;
};
with(...queries: WithSubquery[]): {
select: {
(): MySqlSelectBuilder<undefined, never, 'qb'>;
<TSelection extends SelectedFields>(fields: TSelection): MySqlSelectBuilder<TSelection, never, "qb">;
};
selectDistinct: {
(): MySqlSelectBuilder<undefined, never, 'qb'>;
<TSelection_1 extends SelectedFields>(fields: TSelection_1): MySqlSelectBuilder<TSelection_1, never, "qb">;
};
};
select(): MySqlSelectBuilder<undefined, never, 'qb'>;
select<TSelection extends SelectedFields>(fields: TSelection): MySqlSelectBuilder<TSelection, never, 'qb'>;
selectDistinct(): MySqlSelectBuilder<undefined, never, 'qb'>;
selectDistinct<TSelection extends SelectedFields>(fields: TSelection): MySqlSelectBuilder<TSelection, never, 'qb'>;
private getDialect;
}