import { type Database as SQLDatabase, type PreparedStatement as SQLStatement } from "@sqlite.org/sqlite-wasm";
import type { BindableValue } from "./schema.js";
import { type Statement as IStatement, type StatementGetResult } from "./types.js";
export declare const encodeName: (name: string) => string;
export declare const decodeName: (name: string) => string;
declare class Statement implements IStatement {
    readonly statement: SQLStatement;
    readonly id: string;
    constructor(statement: SQLStatement, id: string);
    bind(values: any[]): Promise<IStatement>;
    finalize(): Promise<void>;
    get(values?: BindableValue[]): StatementGetResult;
    run(values: BindableValue[]): void;
    reset(): Promise<IStatement>;
    all(values: BindableValue[]): {
        [columnName: string]: import("@sqlite.org/sqlite-wasm").SqlValue;
    }[];
    step(): boolean;
}
declare const create: (directory?: string) => Promise<{
    close: () => Promise<any> | any;
    exec: (sql: string) => SQLDatabase;
    open: () => Promise<SQLDatabase | undefined>;
    drop: () => Promise<void>;
    prepare: (sql: string, id?: string) => Promise<Statement>;
    get(sql: string): SQLDatabase;
    run(sql: string, bind: any[]): SQLDatabase;
    status: () => "open" | "closed";
    statements: Map<string, Statement>;
}>;
export { create };
//# sourceMappingURL=sqlite3.wasm.d.ts.map