import type { HookOptions } from "./types.js"; export type UseConversationOptions = HookOptions & { micMuted?: boolean; volume?: number; }; /** * Convenience hook that combines all granular conversation hooks into a single * return value. Less performant than using individual hooks because any state * change in any sub-context triggers a re-render of the consuming component. * * Accepts optional `micMuted`, `volume`, session config, and callback props. * Session config and callbacks passed here are used as defaults when calling * `startSession()` without arguments. Callbacks are also registered with the * provider so they stay up-to-date across re-renders. * * Must be used within a `ConversationProvider`. */ export declare function useConversation(props?: UseConversationOptions): { startSession: (options?: HookOptions) => void; status: import("./ConversationStatus.js").ConversationStatus; message: string | undefined; isMuted: boolean; setMuted: (isMuted: boolean) => void; mode: "speaking" | "listening"; isSpeaking: boolean; isListening: boolean; canSendFeedback: boolean; sendFeedback: (like: boolean) => void; endSession: () => void; sendUserMessage: (text: string) => void; sendMultimodalMessage: (options: import("@elevenlabs/client").MultimodalMessageInput) => void; sendContextualUpdate: (text: string) => void; sendUserActivity: () => void; sendMCPToolApprovalResult: (toolCallId: string, isApproved: boolean) => void; setVolume: (options: { volume: number; }) => void; changeInputDevice: (config: Partial & import("@elevenlabs/client").InputDeviceConfig) => Promise; changeOutputDevice: (config: Partial & import("@elevenlabs/client").OutputConfig) => Promise; getInputByteFrequencyData: () => Uint8Array; getOutputByteFrequencyData: () => Uint8Array; getInputVolume: () => number; getOutputVolume: () => number; getId: () => string; }; //# sourceMappingURL=useConversation.d.ts.map