import { InteractionMode, MonitorState } from '../types/enums'; import type { EventBus } from '../core/EventBus'; import type { WidgetAppearance } from '../types/config'; export declare class Renderer { private bus; private onStart; private onEnd; private onMute; private onInput; private onMode; private onSendText?; private onSendMedia?; private root; private host; private panel; private body; private fab; private fabPulse; private headerTitle; private controls; private endedBar; private muteBtn; private timer; private versionEl; private open; private state; private agentName; private version; private idleText; private secs; private tick; private muted; private input; private modes; private monitorState; private displayPhone; private waNumber; private waAgentId; private agentPhone; private agentWaNumber; private headerActsCaps; private headerActsCbs; private headerActsEl; private watermark; private camToggleBtn; private chatToggleBtn; private voiceChatOpen; private vision; private transcript; private chatBar; constructor(bus: EventBus, onStart: () => void, onEnd: () => void, onMute: (m: boolean) => void, onInput: (id: string, val: string) => void, onMode: (mode: InteractionMode) => void, onSendText?: (text: string) => void, onSendMedia?: (file: File) => void); mount(idleText: string, modes?: InteractionMode[], appearance?: WidgetAppearance): void; private buildControls; updateModes(modes: InteractionMode[]): void; setModeSelect(): void; prepareTerms(agentName: string, onAccept: () => void, onDecline: () => void): void; setTerms(agentName: string, onAccept: () => void, onDecline: () => void): void; showHeaderActions(capabilities: { whatsapp?: boolean; phone?: boolean; }, onWa: () => void, onPhone: () => void): void; private renderTerms; setVerifying(): void; getBody(): HTMLElement; setConnecting(): void; setChatMode(active: boolean): void; setLive(): void; setCallMeWaiting(): void; setShowNumber(phoneNum: string): void; setWhatsAppLink(number: string, agentId: string): void; setMonitoring(status: MonitorState): void; setEnded(): void; setTransferring(): void; setTransferred(): void; setError(msg: string): void; setVisionCapable(enabled: boolean): void; setPreviewVideo(videoEl: HTMLVideoElement): void; enableVision(videoEl: HTMLVideoElement, onCameraToggle?: (off: boolean) => void): void; disableVision(): void; drawFaceLandmarks(landmarks: Array<{ x: number; y: number; }>): void; setAgentName(name: string): void; setAgentPhone(phone: string): void; setAgentWaNumber(number: string): void; setVersion(v: string): void; private reset; private hasPhone; private hasWhatsApp; private hasBrowser; private hasChat; private renderBody; private renderFileCard; private renderChannelCards; private initDrag; toggle(open: boolean): void; el(tag: string, cls: string, parent: HTMLElement): HTMLElement; private applyAppearance; appendFileUploading(filename: string): void; appendFileError(filename: string, error: string): void; destroy(): void; }