import type { Result } from "@tff/core"; import type { DomainError } from "../../infrastructure/errors/generic-domain-error.js"; import type { JournalEntry } from "../../shared/value-objects/journal-entry.js"; export interface JournalRepository { append(sliceId: string, entry: Omit): Result; readAll(sliceId: string): Result; readSince(sliceId: string, afterSeq: number): Result; count(sliceId: string): Result; }