/** * Per-participant control panel. * * Takes a `participant-id` and looks up the participant. * Shows mute audio, mute video, volume, pin, and remove actions based on * the `capabilities` list from the call state. * * Input precedence (most specific wins): `.call` > context. * * @prop {string} participantId - ID of the participant to control * @prop {Call} call - explicit Call object (overrides context) * @prop {boolean} showVolume - show volume slider * @prop {boolean} showPin - show pin/spotlight button * * @fires sw-participant-volume-change - Volume slider changed. Detail: `{ participantId: string, volume: number }`. * @fires sw-participant-pin-toggle - Pin/unpin clicked. Detail: `{ participantId: string, pinned: boolean }`. * * Themed via the SignalWire DTCG tokens (`--bg-page`, `--bg-surface`, `--bg-surface-raised`, * `--fg-default`, `--border-default`, `--radius-md`, `--shadow-md`, `--type-family-body`, * `--type-size-small`, `--interactive-button-destructive-bg`, * `--interactive-button-destructive-hover`, `--transition-fast`). */ import { LitElement } from 'lit'; import type { Call } from '../types/index.js'; import './UI/icons/sw-ui-icon.js'; export declare class SwParticipantControls extends LitElement { static styles: import("lit").CSSResult[]; participantId: string; showVolume: boolean; showPin: boolean; private _callState?; /** Explicit Call — when set, subscribes directly and bypasses context. */ call?: Call; private _directParticipants; private _directCapabilities; private _directSubscriptions; private _volume; private _isPinned; protected updated(changed: Map): void; disconnectedCallback(): void; private get _participant(); private get _capabilities(); private get _canMuteAudio(); private get _canMuteVideo(); private get _canRemove(); private _toggleAudioMute; private _toggleVideoMute; private _remove; private _onVolumeChange; private _togglePin; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'sw-participant-controls': SwParticipantControls; } } //# sourceMappingURL=sw-participant-controls.d.ts.map