import type { Database } from 'better-sqlite3'; import type { IContainer } from 'node-cqrs'; import type { IObjectStorage, Identifier } from '../interfaces/index.ts'; import { AbstractSqliteAccessor } from './AbstractSqliteAccessor.ts'; export declare class SqliteObjectStorage extends AbstractSqliteAccessor implements IObjectStorage { #private; constructor(o: Pick & { tableName: string; }); protected initialize(db: Database): void; get(id: Identifier): Promise; getSync(id: Identifier): TRecord | undefined; create(id: Identifier, data: TRecord): Promise; update(id: Identifier, update: (r: TRecord) => TRecord): Promise; updateEnforcingNew(id: Identifier, update: (r?: TRecord) => TRecord): Promise; delete(id: Identifier): Promise; }