import { Param, Placeholder, Query, SQL, SQLWrapper } from 'drizzle-orm/sql'; import { SQLiteDialect } from '../dialect'; import { IndexColumn } from '../indexes'; import { SelectFieldsOrdered, SelectResultFields, SQLiteSelectFields } from '../operations'; import { PreparedQuery, SQLiteSession } from '../session'; import { AnySQLiteTable, InferModel } from '../table'; import { SQLiteUpdateSetSource } from './update'; export interface SQLiteInsertConfig { table: TTable; values: Record[]; onConflict?: SQL; returning?: SelectFieldsOrdered; } export declare type SQLiteInsertValue = { [Key in keyof InferModel]: InferModel[Key] | SQL | Placeholder; }; export declare class SQLiteInsertBuilder { protected table: TTable; protected session: SQLiteSession; protected dialect: SQLiteDialect; constructor(table: TTable, session: SQLiteSession, dialect: SQLiteDialect); protected mapValues(values: SQLiteInsertValue[]): Record | SQL>[]; values(...values: SQLiteInsertValue[]): SQLiteInsert; } export interface SQLiteInsert extends SQLWrapper { } export declare class SQLiteInsert implements SQLWrapper { private session; private dialect; protected $table: TTable; private config; constructor(table: TTable, values: SQLiteInsertConfig['values'], session: SQLiteSession, dialect: SQLiteDialect); returning(): Omit>, 'returning' | `onConflict${string}`>; returning(fields: TSelectedFields): Omit>, 'returning' | `onConflict${string}`>; onConflictDoNothing(config?: { target?: IndexColumn | IndexColumn[]; where?: SQL; }): this; onConflictDoUpdate(config: { target?: IndexColumn | IndexColumn[]; where?: SQL; set: SQLiteUpdateSetSource; }): this; toSQL(): Query; prepare(): PreparedQuery<{ type: TResultType; run: TRunResult; all: TReturning extends undefined ? never : TReturning[]; get: TReturning extends undefined ? never : TReturning; values: TReturning extends undefined ? never : any[][]; }>; run: ReturnType['run']; all: ReturnType['all']; get: ReturnType['get']; values: ReturnType['values']; } //# sourceMappingURL=insert.d.ts.map