import { LitElement } from 'lit'; import type { Call } from '../types/index.js'; /** * Connected control bar that bridges `devicesContext` and `callStateContext` * to the pure `sw-ui-control-bar` UI component. * * Input precedence (most specific wins): `.call` > context. * When `.call` is set, the control bar drives screen-share / hand-raise / * hang-up directly from the Call. Mic/camera/speaker toggles still require * `devicesContext` — without it those buttons render in their default state. * * @prop {Call} call - explicit Call object (overrides context) * @prop {boolean} showScreenShare - show the screen-share button * @prop {boolean} showHandRaise - show the hand-raise button * @prop {boolean} showTranscript - show the transcript toggle button * @prop {boolean} transcriptActive - current transcript panel visibility * * @fires sw-call-hangup - Re-dispatched when the user clicks hang-up so external * consumers (e.g. React parents) can react. No detail. */ export declare class SwCallControls extends LitElement { static styles: import("lit").CSSResult; private _devices; private _callState?; /** Explicit Call — when set, drives call-state actions directly. */ call?: Call; private _directSelf; private _directSubscriptions; private _fullscreen; showScreenShare: boolean; showHandRaise: boolean; showTranscript: boolean; transcriptActive: boolean; showSettings: boolean; showFullscreen: boolean; protected updated(changed: Map): void; disconnectedCallback(): void; private _teardownDirect; private get _effectiveSelf(); private _toDropupOptions; private _onMicToggle; private _onCameraToggle; private _onSpeakerToggle; private _onFullscreenToggle; private _onScreenShareToggle; private _onHandRaiseToggle; private _onHangUp; private _onDeviceChange; private _onSettingsChange; private _buildSettingsItems; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'sw-call-controls': SwCallControls; } } //# sourceMappingURL=sw-call-controls.d.ts.map