/** * @fileoverview Controlled Banner Component * * A banner displayed at the top of controlled tabs to indicate they are being * controlled by the Vowel voice agent. Features Paper Design mesh gradient background. * * @module @vowel.to/client/components * @author vowel.to * @license Proprietary */ /** * Voice session state (for color changes) */ export interface VoiceSessionState { /** Whether voice session is connected */ isConnected?: boolean; /** Whether voice session is connecting */ isConnecting?: 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 resuming */ isResuming?: boolean; } /** * ControlledBanner component props */ export interface ControlledBannerProps extends VoiceSessionState { /** Custom className */ className?: string; /** Z-index for positioning */ zIndex?: number; /** Whether to add body padding (to prevent content from being hidden behind banner) */ addBodyPadding?: boolean; /** Mesh gradient colors (optional override - auto-selected based on state if not provided) */ gradientColors?: string[]; /** Gradient distortion (default: 0.8) */ distortion?: number; /** Gradient swirl effect (default: 0.1) */ swirl?: number; /** Animation speed (default: 1) */ speed?: number; /** Banner height (default: "48px") */ height?: string; } /** * ControlledBanner Component * * Displays a banner at the top of the page to indicate it's controlled by Vowel. * Uses Paper Design mesh gradient for the background. * * @example * ```tsx * * ``` */ export declare function ControlledBanner({ isConnected, isConnecting, isUserSpeaking, isAiSpeaking, isAiThinking, isToolExecuting, isResuming, className, zIndex, addBodyPadding, gradientColors, distortion, swirl, speed, height, }: ControlledBannerProps): import("react/jsx-runtime").JSX.Element; //# sourceMappingURL=ControlledBanner.d.ts.map