/** * VoiceAgentWidget - UI widget for Voice.ai * * Features: * - Click to connect/disconnect * - Shape morphs based on state (circle/square) * - Audio bars react to agent speech * - Expandable transcript panel with text input */ import VoiceAI from '../index'; import type { ConnectionOptions } from '../types'; export interface VoiceAgentWidgetTheme { primaryColor?: string; backgroundColor?: string; borderColor?: string; barColor?: string; } export interface VoiceAgentWidgetOptions { sdk: VoiceAI; connectionOptions: ConnectionOptions; position?: 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'; container?: HTMLElement; theme?: VoiceAgentWidgetTheme; size?: number; /** Enable transcript panel (default: true) */ showTranscript?: boolean; } export declare class VoiceAgentWidget { private sdk; private connectionOptions; private position; private container; private theme; private size; private showTranscript; private widgetElement; private buttonElement; private buttonShape; private glowElement; private endButton; private bars; private panelElement; private messagesContainer; private inputElement; private isPanelOpen; private messages; private isConnected; private isConnecting; private agentState; private audioLevel; private animationFrame; private unsubscribeStatus; private unsubscribeAgentState; private unsubscribeAudioLevel; private unsubscribeError; private unsubscribeTranscription; private static readonly DEFAULT_THEME; constructor(options: VoiceAgentWidgetOptions); private init; private createWidget; private createTranscriptPanel; private setupEventListeners; private addMessage; private updateOrAddMessage; private updateMessageElement; private appendMessageElement; private renderMessages; private sendTextMessage; private togglePanel; private startAnimationLoop; private handleClick; private handleConnect; private handleDisconnect; private updateUI; private applyButtonTheme; private applyGlowTheme; setTheme(theme: Partial): void; destroy(): void; } //# sourceMappingURL=VoiceAgentWidget.d.ts.map