import { VowelSettingsModalMock } from './VowelSettingsModal'; import { Vowel } from '../core/VowelClient'; /** * Voice session state (subset used for UI display) */ export interface FloatingMicButtonState { /** Whether voice session is connected */ isConnected?: boolean; /** Whether voice session is connecting */ isConnecting?: boolean; /** Whether voice session is disconnecting */ isDisconnecting?: boolean; /** Whether user is speaking */ isUserSpeaking?: boolean; /** Whether AI is speaking */ isAiSpeaking?: boolean; /** Whether AI is thinking */ isAiThinking?: boolean; /** Whether AI is executing a tool */ isToolExecuting?: boolean; /** Whether session is hibernated (sleeping) */ isHibernated?: boolean; /** Whether session is resuming */ isResuming?: boolean; /** Whether session is paused */ isPaused?: boolean; /** Whether there is an error */ hasError?: boolean; } /** * FloatingMicButton component props */ export interface FloatingMicButtonProps extends FloatingMicButtonState { /** Custom className */ className?: string; /** Position (default: bottom-right) */ position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'; /** Z-index for positioning */ zIndex?: number; /** Click handler */ onClick?: () => void; /** Button title/tooltip */ title?: string; /** If true, don't apply fixed positioning (for inline use) */ inline?: boolean; /** If true, show action icon (what will happen on click) instead of current state */ showActionIcon?: boolean; /** If true, show settings button */ showSettings?: boolean; /** Settings button click handler (optional - if not provided, modal is managed internally) */ onSettingsClick?: () => void; /** Optional Vowel client instance (for settings modal - will use useVowel() hook if not provided) */ client?: Vowel | null; /** @internal Mock data for settings modal in Storybook (not part of public API) */ __mockSettings?: VowelSettingsModalMock; } /** * FloatingMicButton Component * * Displays a floating microphone button that shows voice session state. * * @example * ```tsx * * ``` */ export declare function FloatingMicButton({ isConnected, isConnecting, isDisconnecting, isUserSpeaking, isAiSpeaking, isAiThinking, isToolExecuting, isHibernated, isResuming, isPaused, hasError, className, position, zIndex, onClick, title, inline, showActionIcon, showSettings, onSettingsClick, client, __mockSettings, }: FloatingMicButtonProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=FloatingMicButton.d.ts.map