import Database from "libsql";
export interface IStorage {
    put(key: string, value: string): Promise<void>;
    get(key: string): Promise<string | undefined>;
    getMany(keys: string[]): Promise<(string | undefined)[]>;
    del(key: string): Promise<void>;
    clear(): Promise<void>;
}
export interface IAccountStorage {
    get(): Promise<string | undefined>;
    put(data: string): Promise<void>;
    clear(): Promise<void>;
}
export declare class SQLiteStorage implements IStorage {
    private _db;
    private _dbSource;
    constructor(db?: Database.Database);
    private get db();
    get(key: string): Promise<string | undefined>;
    getMany(keys: string[]): Promise<(string | undefined)[]>;
    put(key: string, value: string): Promise<void>;
    putMany(items: {
        key: string;
        value: string;
    }[]): Promise<void>;
    del(key: string): Promise<void>;
    clear(): Promise<void>;
}
export declare class SQLiteAccountStorage implements IAccountStorage {
    private _db;
    private _dbSource;
    constructor(db?: Database.Database);
    private get db();
    get(): Promise<string | undefined>;
    put(data: string): Promise<void>;
    clear(): Promise<void>;
}
export declare function resetAllDbConnections(): void;
export declare function resetAllStorage(): void;
export declare const defaultStorage: SQLiteStorage;
export declare const defaultAccountStorage: SQLiteAccountStorage;
