type DatabaseOptions = { create?: boolean; readonly?: boolean; fileMustExist?: boolean; timeout?: number; verbose?: ((message?: unknown, ...additionalArgs: unknown[]) => void) | undefined; nativeBinding?: string | undefined; }; export type RunResult = { changes: number; lastInsertRowid: number | bigint; }; export interface Statement { run(...params: BindParameters extends unknown[] ? BindParameters : [BindParameters]): RunResult; get(...params: BindParameters extends unknown[] ? BindParameters : [BindParameters]): Result; all(...params: BindParameters extends unknown[] ? BindParameters : [BindParameters]): Result[]; iterate(...params: BindParameters extends unknown[] ? BindParameters : [BindParameters]): IterableIterator; } export interface Database { run(sql: string, ...params: unknown[]): RunResult; prepare(source: string): Statement; close(): void; transaction void>(fn: T): T; } export interface DatabaseConstructor { new (filename?: string | Buffer, options?: DatabaseOptions): Database; prototype: Database; } export declare const Database: DatabaseConstructor; export {}; //# sourceMappingURL=sqlite.d.ts.map