import { ISqliteDatabase, ISqliteStatement } from './types.js';
import { BaseStorageDriver } from '../driver.js';
type MigrationFunction = (db: ISqliteDatabase) => void;
export declare abstract class BaseSqliteStorageDriver extends BaseStorageDriver {
    db: ISqliteDatabase;
    private _pending;
    private _runMany;
    private _cleanup?;
    private _migrations;
    private _maxVersion;
    registerMigration(repo: string, version: number, migration: MigrationFunction): void;
    private _onLoad;
    onLoad(cb: (db: ISqliteDatabase) => void): void;
    _writeLater(stmt: ISqliteStatement, params: unknown[]): void;
    _initialize(): void;
    abstract _createDatabase(): ISqliteDatabase;
    _load(): Promise<void>;
    _save(): void;
    _destroy(): void;
}
export {};
