import type { Observation, Result } from "@tff/core"; import type { DomainError } from "../../infrastructure/errors/generic-domain-error.js"; import type { Candidate } from "../../shared/value-objects/candidate.js"; import type { Pattern } from "../../shared/value-objects/pattern.js"; export interface ObservationStore { appendObservation(obs: Observation): Promise>; readObservations(): Promise>; writePatterns(patterns: Pattern[]): Promise>; readPatterns(): Promise>; writeCandidates(candidates: Candidate[]): Promise>; readCandidates(): Promise>; }