import { Kysely, UpdateQueryBuilder, UpdateResult, Updateable } from 'kysely'; import { ParametersObject } from 'kysely-params'; import { SelectionColumn } from '../lib/type-utils.js'; import { MappingUpdateQuery } from './update-query.js'; import { ParameterizableMappingQuery } from './parameterizable-query.js'; import { CompilingMappingUpdateQuery } from './compiling-update-query.js'; import { CountTransform, UpdateTransforms } from '../mappers/table-mapper-transforms.js'; /** * Mapping query for updating rows into a database table, * updating a specified subset of the updateable columns. */ export declare class SubsettingMappingUpdateQuery, UpdatingObject, UpdateReturnColumns extends Readonly[]> | ['*'], ReturnCount, UpdateReturn> extends MappingUpdateQuery implements ParameterizableMappingQuery { protected readonly columnsToUpdate: Readonly<(keyof Updateable & string)[]>; constructor(db: Kysely, qb: QB, columnsToUpdate: Readonly<(keyof Updateable & string)[]>, transforms: Readonly & UpdateTransforms>, returnColumns: Readonly); /** * Returns a compiling query that can be executed multiple times with * different parameters (if any parameters were provided), but which only * compiles the underlying Kysely query builder on the first execution. * Frees the query builder on the first execution to reduce memory usage. * @typeParam Parameters Record characterizing the parameter names and * types that were previously embedded in the query, if any. * @returns A compiling update query. */ compile = {}>(): CompilingMappingUpdateQuery; protected getUpdateColumns(): Readonly<(keyof Updateable & string)[]> | ['*']; protected setColumnValues(qb: UpdateQueryBuilder, obj: Updateable): UpdateQueryBuilder; } //# sourceMappingURL=subsetting-update-query.d.ts.map