import { type FormatConfig, type InputDeviceConfig, type OutputConfig, type MultimodalMessageInput } from "@elevenlabs/client"; import type { HookOptions } from "./types.js"; export type ConversationControlsValue = { startSession: (options?: HookOptions) => void; endSession: () => void; sendUserMessage: (text: string) => void; sendMultimodalMessage: (options: MultimodalMessageInput) => void; sendContextualUpdate: (text: string) => void; sendUserActivity: () => void; sendMCPToolApprovalResult: (toolCallId: string, isApproved: boolean) => void; setVolume: (options: { volume: number; }) => void; changeInputDevice: (config: Partial & InputDeviceConfig) => Promise; changeOutputDevice: (config: Partial & OutputConfig) => Promise; /** Returns byte frequency data (0-255) for the input, focused on 100-8000 Hz. */ getInputByteFrequencyData: () => Uint8Array; /** Returns byte frequency data (0-255) for the output, focused on 100-8000 Hz. */ getOutputByteFrequencyData: () => Uint8Array; getInputVolume: () => number; getOutputVolume: () => number; getId: () => string; }; export declare const ConversationControlsContext: import("react").Context; /** * Reads from `ConversationContext` and provides stable action references to * `ConversationControlsContext`. Must be rendered inside a `ConversationProvider`. */ export declare function ConversationControlsProvider({ children, }: React.PropsWithChildren): import("react/jsx-runtime").JSX.Element; /** * Returns stable action references for controlling the conversation. * All function references are stable and will never cause re-renders. * * Must be used within a `ConversationProvider`. */ export declare function useConversationControls(): ConversationControlsValue; //# sourceMappingURL=ConversationControls.d.ts.map