using MeetingAssistant.Transcription; using MeetingAssistant.MeetingNotes; namespace MeetingAssistant.Recording; public interface ITranscriptStore { Task CreateSessionAsync(CancellationToken cancellationToken); Task AppendAsync(TranscriptSession session, TranscriptionSegment segment, CancellationToken cancellationToken); Task ReplaceAsync( TranscriptSession session, IReadOnlyList replacementSegments, CancellationToken cancellationToken); Task UpdateMetadataAsync( TranscriptSession session, MeetingSessionArtifacts artifacts, MeetingNote meetingNote, CancellationToken cancellationToken); } public sealed record TranscriptSession(string TranscriptPath);