1export interface DatabaseCallback {
2    (database: Database): void;
3}
4export interface Database {
5    version: string;
6    transaction(callback: SQLTransactionCallback, errorCallback?: SQLTransactionErrorCallback, successCallback?: SQLVoidCallback): void;
7    readTransaction(callback: SQLTransactionCallback, errorCallback?: SQLTransactionErrorCallback, successCallback?: SQLVoidCallback): void;
8}
9export interface SQLVoidCallback {
10    (): void;
11}
12export interface SQLTransactionCallback {
13    (transaction: SQLTransaction): void;
14}
15export interface SQLTransactionErrorCallback {
16    (error: SQLError): void;
17}
18export interface SQLTransaction {
19    executeSql(sqlStatement: string, args?: any[], callback?: SQLStatementCallback, errorCallback?: SQLStatementErrorCallback): void;
20}
21export interface SQLStatementCallback {
22    (transaction: SQLTransaction, resultSet: SQLResultSet): void;
23}
24export interface SQLStatementErrorCallback {
25    (transaction: SQLTransaction, error: SQLError): boolean;
26}
27export interface SQLResultSet {
28    insertId: number;
29    rowsAffected: number;
30    rows: SQLResultSetRowList;
31}
32export interface SQLResultSetRowList {
33    length: number;
34    item(index: number): any;
35}
36export declare class SQLError {
37    static UNKNOWN_ERR: number;
38    static DATABASE_ERR: number;
39    static VERSION_ERR: number;
40    static TOO_LARGE_ERR: number;
41    static QUOTA_ERR: number;
42    static SYNTAX_ERR: number;
43    static CONSTRAINT_ERR: number;
44    static TIMEOUT_ERR: number;
45    code: number;
46    message: string;
47}
48export interface WebSQLDatabase extends Database {
49    exec(queries: Query[], readOnly: boolean, callback: SQLiteCallback): void;
50}
51export declare type Query = {
52    sql: string;
53    args: unknown[];
54};
55export interface ResultSetError {
56    error: Error;
57}
58export interface ResultSet {
59    insertId?: number;
60    rowsAffected: number;
61    rows: {
62        [column: string]: any;
63    }[];
64}
65export declare type SQLiteCallback = (error?: Error | null, resultSet?: (ResultSetError | ResultSet)[]) => void;
66