import SwiftUI
import Observation
import Speech

@Observable class TranscriberData {
   var partialText = AttributedString("")
   var finalText = AttributedString("")

   // Transcriber properties
   var transcriber: DictationTranscriber?
   var analyzer: SpeechAnalyzer?
   var inputSequence: AsyncStream<AnalyzerInput>?
   var inputBuilder: AsyncStream<AnalyzerInput>.Continuation?
   var recognizerTask: Task<(), Error>?

   // Audio Recorder properties
   var analyzerFormat: AVAudioFormat?
   var audioEngine = AVAudioEngine()

   static let shared: TranscriberData = TranscriberData()
   private init() { }
}