import { CreateInput, CreateManyInput } from '../input/createInput.js'; import { QueryBuilder } from 'squel'; import { FindInput, FindUniqueInput } from '../input/findInput.js'; import { UpdateInput, UpdateManyInput } from '../input/updateInput.js'; import { DeleteInput, DeleteManyInput } from '../input/deleteInput.js'; import { ExtendedTableSchema } from './schema.js'; import { HKT } from '../util/hkt.js'; import { Dialect } from '../../migrators/query-builder/builder.js'; type AnyFindInput = FindInput; export declare class Builder { private _tableName; private _fields; private _tableDescription; dialect: Dialect; private _quotedTableName; constructor(_tableName: string, _fields: string[], _tableDescription: ExtendedTableSchema, dialect: Dialect); create(i: CreateInput): QueryBuilder; createMany(i: CreateManyInput): QueryBuilder; findUnique(i: FindUniqueInput): QueryBuilder; findFirst(i: AnyFindInput): QueryBuilder; findMany(i: AnyFindInput): QueryBuilder; findWithoutAutoSelect(i: AnyFindInput): QueryBuilder; update(i: UpdateInput): QueryBuilder; updateMany(i: UpdateManyInput): QueryBuilder; delete(i: DeleteInput): QueryBuilder; deleteMany(i: DeleteManyInput): QueryBuilder; private deleteInternal; private updateInternal; /** * Creates a `SELECT fields FROM table WHERE conditions` query. * @param i Object containing optional `where` and `selection` fields. * @param idRequired If true, will throw an error if no fields are provided in the `where` argument. * @param selectWhereFields By default, `findWhere` selects the fields provided in the `where` argument. By providing `false` it will not automatically select those fields. */ private findWhere; private addFieldSelection; /** * Casts a field to TEXT if it is of type BigInt * because not all adapters deal well with BigInts * (e.g. better-sqlite3 requires BigInt support to be enabled * but then all integers are returned as BigInt...) * The DAL will convert the string into a BigInt in the `fromSqlite` function from `../conversions/sqlite.ts`. */ private castBigIntToText; private addOrderBy; private getFields; private returnAllFields; } export declare function makeFilter(fieldValue: unknown, fieldName: string, prefixFieldsWith?: string): Array<{ sql: string; args?: unknown[]; }>; export {};