// Type definitions for sqlite3 2.2.3 // Project: https://github.com/mapbox/node-sqlite3 // Definitions by: Nick Malaguti // Definitions: https://github.com/borisyankov/DefinitelyTyped /// /// declare module 'sqlite3' { import events = require('events'); export var OPEN_READONLY: number; export var OPEN_READWRITE: number; export var OPEN_CREATE: number; export var cached: { Database(filename: string, callback?: (err: Error) => void): Database; Database(filename: string, mode?: number, callback?: (err: Error) => void): Database; }; export interface RunResult { lastID: number; changes: number; } export class Statement { bind(callback?: (err: Error) => void): Statement; bind(...params: any[]): Statement; reset(callback?: (err: Error) => void): Statement; finalize(callback?: (err: Error) => void): Statement; run(callback?: (err: Error) => void): Statement; run(...params: any[]): Statement; get(callback?: (err: Error, row: any) => void): Statement; get(...params: any[]): Statement; all(callback?: (err: Error, rows: any[]) => void): Statement; all(...params: any[]): Statement; each(callback?: (err: Error, row: any) => void, complete?: (err: Error, count: number) => void): Statement; each(...params: any[]): Statement; } export class Database extends events.EventEmitter { constructor(filename: string, callback?: (err: Error) => void); constructor(filename: string, mode?: number, callback?: (err: Error) => void); close(callback?: (err: Error) => void): void; closeAsync(): Promise; run(sql: string, callback?: (err: Error) => void): Database; run(sql: string, ...params: any[]): Database; runAsync(sql: string, ...params: any[]): Promise; get(sql: string, callback?: (err: Error, row: any) => void): Database; get(sql: string, ...params: any[]): Database; getAsync(sql: string, ...params: any[]): Promise; all(sql: string, callback?: (err: Error, rows: any[]) => void): Database; all(sql: string, ...params: any[]): Database; allAsync(sql: string, ...params: any[]): Promise; each(sql: string, callback?: (err: Error, row: any) => void, complete?: (err: Error, count: number) => void): Database; each(sql: string, ...params: any[]): Database; exec(sql: string, callback?: (err: Error) => void): Database; execAsync(sql: string): Promise; prepare(sql: string, callback?: (err: Error) => void): Statement; prepare(sql: string, ...params: any[]): Statement; serialize(callback?: () => void): void; parallelize(callback?: () => void): void; on(event: 'trace', listener: (sql: string) => void): Database; on(event: 'profile', listener: (sql: string, time: number) => void): Database; on(event: 'error', listener: (err: Error) => void): Database; on(event: 'open', listener: () => void): Database; on(event: 'close', listener: () => void): Database; on(event: string, listener: Function): Database; } function verbose(): void; }