export interface Database { exec(sql: string): void; prepare(sql: string): Statement; transaction(fn: () => T): T; close(): void; } export interface Statement { run(...params: any[]): RunResult; get(...params: any[]): any; all(...params: any[]): any[]; } export interface RunResult { changes: number; lastInsertRowid: number | bigint; }