import { Kysely, InsertQueryBuilder, InsertResult, Insertable } from 'kysely'; import { SelectionColumn } from '../lib/type-utils.js'; import { MappingInsertQuery } from './insert-query.js'; import { CompilingMappingInsertQuery } from './compiling-insert-query.js'; import { InsertTransforms } from '../mappers/table-mapper-transforms.js'; /** * Mapping query for inserting rows into a database table, * inserting a specified subset of the insertable columns. */ export declare class SubsettingMappingInsertQuery, InsertedObject, InsertReturnColumns extends Readonly[]> | ['*'], InsertReturn> extends MappingInsertQuery { protected readonly columnsToInsert: Readonly<(keyof Insertable & string)[]>; constructor(db: Kysely, qb: QB, columnsToInsert: Readonly<(keyof Insertable & string)[]>, transforms: Readonly>, 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 insert query. */ compile(): CompilingMappingInsertQuery; protected getInsertColumns(): Readonly<(keyof Insertable & string)[]> | ['*']; protected setColumnValues(qb: InsertQueryBuilder, objOrObjs: Insertable | Insertable[]): InsertQueryBuilder; } //# sourceMappingURL=subsetting-insert-query.d.ts.map