import type { DriverConfig, DriverStatement, RawResultData, Sqlite3, Sqlite3Db, Sqlite3InitModule, Sqlite3StorageType, SQLocalDriver, UserFunction } from '../types.js';
export declare class SQLiteMemoryDriver implements SQLocalDriver {
    protected sqlite3InitModule?: Sqlite3InitModule | undefined;
    protected sqlite3?: Sqlite3;
    protected db?: Sqlite3Db;
    protected config?: DriverConfig;
    protected pointers: number[];
    readonly storageType: Sqlite3StorageType;
    constructor(sqlite3InitModule?: Sqlite3InitModule | undefined);
    init(config: DriverConfig): Promise<void>;
    exec(statement: DriverStatement): Promise<RawResultData>;
    execBatch(statements: DriverStatement[]): Promise<RawResultData[]>;
    isDatabasePersisted(): Promise<boolean>;
    getDatabaseSizeBytes(): Promise<number>;
    createFunction(fn: UserFunction): Promise<void>;
    import(database: ArrayBuffer | Uint8Array | ReadableStream<Uint8Array>): Promise<void>;
    export(): Promise<{
        name: string;
        data: ArrayBuffer | Uint8Array;
    }>;
    clear(): Promise<void>;
    destroy(): Promise<void>;
    protected getFlags(config: DriverConfig): string;
    protected execOnDb(db: Sqlite3Db, statement: DriverStatement): RawResultData;
    protected closeDb(): void;
}
