import { LitElement, nothing } from 'lit'; import { LogLevel } from '@ariontalk/core'; import type { SupportedLang, BargeInPlugin } from '../types.js'; import './widget-fab.js'; import './widget-session.js'; import './widget-minimized.js'; import './widget-voice-settings.js'; /** * — Root component that embeds the full voice chat experience. * Toggles between a FAB (idle), settings panel, and session panel (active). */ export declare class ArionTalk extends LitElement { static styles: import("lit").CSSResult[]; /** Initial language: "auto" (detect from user speech), or a BCP-47 code like "en", "es", etc. */ lang: SupportedLang; position: string; theme: string; /** When set, skips browser support check and always shows the widget UI. */ force: boolean; /** When set, shows a settings gear icon next to the FAB for pre-session configuration. */ settings: boolean; /** Registered barge-in plugins. Each provides a factory for creating detector instances. */ bargeInPlugins: BargeInPlugin[]; /** Log level: 'disabled' | 'error' | 'warning' | 'info' | 'debug'. Disabled by default. */ logLevel: LogLevel; /** Engine type: 'local' (browser-based) or 'gemini' (cloud-based). */ engine: 'local' | 'gemini'; /** URL of the token server for Gemini engine authentication. */ tokenServer: string; /** Site key for hosted ArionTalk service (alternative to token-server). */ siteKey: string; /** Base URL of the cloud service. When set, /api/token and /api/sessions/end are derived from it. * Defaults to https://api.ariontalk.com when site-key is present. */ serviceUrl: string; /** Gemini model identifier (e.g. 'gemini-2.0-flash-exp'). */ geminiModel: string; /** Gemini voice name for TTS output. */ geminiVoice: string; /** When set, enables interactive scroll-and-highlight during Gemini speech. */ interactiveHighlights: boolean; /** Visible label text on the idle FAB (default variant) or aria-label (compact variant). */ label: string; /** FAB variant: "default" pill-with-text or "compact" icon-only circle. */ variant: 'default' | 'compact'; /** Icon to display in the FAB: "mic" | "wave". */ icon: 'mic' | 'wave'; private supported; private active; private showSettings; private muted; private minimized; private savedSettings; private controller; /** Resolves the effective engine: site-key implies gemini unless engine is explicitly set. */ private get effectiveEngine(); private get resolvedServiceUrl(); private get tokenServerUrl(); private get sessionMeterUrl(); connectedCallback(): void; updated(changed: Map): void; render(): import("lit").TemplateResult<1> | typeof nothing; private checkSupport; private get currentSettings(); private loadSettings; private saveSettings; private initEngine; private handleFabClick; private handleGearClick; private handleSettingsApply; private handleSettingsBack; private handleMuteToggle; private handleMinimize; private handleRestore; private handleEnd; } declare global { interface HTMLElementTagNameMap { 'ariontalk-widget': ArionTalk; } }