import type { MemoryEntryRecord, MemoryEntrySearchInput, MemoryEntryUpsertInput } from './memory-entry-models.js'; type DbModel = { select(...fields: string[]): { where(condition: Record): Promise[]>; }; create(data: Record): Promise; update(data: Record): { where(condition: Record): Promise; }; }; export interface MemoryEntryRepository { upsert(input: MemoryEntryUpsertInput): Promise; get(id: string): Promise; search(input: MemoryEntrySearchInput): Promise; delete(id: string): Promise; } export declare class InMemoryMemoryEntryRepository implements MemoryEntryRepository { private entries; upsert(input: MemoryEntryUpsertInput): Promise; get(id: string): Promise; search(input: MemoryEntrySearchInput): Promise; delete(id: string): Promise; } export declare class DatabaseMemoryEntryRepository implements MemoryEntryRepository { private readonly model; constructor(model: DbModel); upsert(input: MemoryEntryUpsertInput): Promise; get(id: string): Promise; search(input: MemoryEntrySearchInput): Promise; delete(id: string): Promise; } export {}; //# sourceMappingURL=memory-entry-repository.d.ts.map