import { FlushSentinel, voice } from '@livekit/agents'; import type { llm } from '@livekit/agents'; import type { VoiceSpeechCompleteHook, VoiceTurnMetricsHook } from './turn-metrics.js'; /** * Use from a custom Agent.llmNode when using MastraLLM. LiveKit's LLMStream only accepts * ChatChunks; this node translates our boundary metadata into LiveKit's supported marker. */ export declare function mastraLLMNode(agent: voice.Agent, chatCtx: llm.ChatContext, toolCtx: llm.ToolContext, modelSettings: voice.ModelSettings): Promise | null>; export interface ObserveVoiceSessionOptions { onTurnMetrics?: VoiceTurnMetricsHook; onSpeechComplete?: VoiceSpeechCompleteHook; } /** * Attach before session.start(). Observes generation-independent playback completion; * never writes memory. Return value detaches listeners and finalizes pending speech as cancelled. * LiveKit's transcript can be estimated. Server output cannot confirm remote human hearing. */ export declare function observeVoiceSession(session: voice.AgentSession, options: ObserveVoiceSessionOptions): () => void; //# sourceMappingURL=speech.d.ts.map