import type { VoiceServerEvent } from '@xopcai/realtime-protocol/voice'; export type VoiceEventSink = (type: T, payload: Extract['payload']) => void; export interface VoiceEngine { start(): Promise; appendAudio(bytes: Uint8Array): void; setInputMuted(muted: boolean): void | Promise; commit(): Promise; cancel(responseId: string, reason: 'client_cancelled' | 'barge_in'): boolean; acknowledge(responseId: string, playedBytes: number): void; close(): void | Promise; }