import { atom } from 'nanostores' export type VoicePlaybackSource = 'read-aloud' | 'voice-conversation' export type VoicePlaybackStatus = 'idle' | 'preparing' | 'speaking' export interface VoicePlaybackState { audioElement: HTMLAudioElement | null messageId: string | null sequence: number source: VoicePlaybackSource | null status: VoicePlaybackStatus } export const $voicePlayback = atom({ audioElement: null, messageId: null, sequence: 0, source: null, status: 'idle' }) export function setVoicePlaybackState(next: VoicePlaybackState) { $voicePlayback.set(next) }