import { AbstractUiComponent } from "../../AbstractUiComponent";
import { TeamAppsUiContext } from "../../TeamAppsUiContext";
import { UiMediaSoupPlaybackParamatersConfig } from "../../../generated/UiMediaSoupPlaybackParamatersConfig";
import { UiMediaSoupPublishingParametersConfig } from "../../../generated/UiMediaSoupPublishingParametersConfig";
import { TeamAppsEvent } from "../../util/TeamAppsEvent";
import { UiMediaSoupV3WebRtcClient_ClickedEvent, UiMediaSoupV3WebRtcClient_VoiceActivityChangedEvent, UiMediaSoupV3WebRtcClientCommandHandler, UiMediaSoupV3WebRtcClientConfig, UiMediaSoupV3WebRtcClientEventSource } from "../../../generated/UiMediaSoupV3WebRtcClientConfig";
export declare class UiMediaSoupV3WebRtcClient extends AbstractUiComponent<UiMediaSoupV3WebRtcClientConfig> implements UiMediaSoupV3WebRtcClientCommandHandler, UiMediaSoupV3WebRtcClientEventSource {
    readonly onVoiceActivityChanged: TeamAppsEvent<UiMediaSoupV3WebRtcClient_VoiceActivityChangedEvent>;
    readonly onClicked: TeamAppsEvent<UiMediaSoupV3WebRtcClient_ClickedEvent>;
    private sender;
    private receiver;
    private $main;
    private $video;
    private $profileDisplay;
    private $icon;
    private $caption;
    private voiceActivityDetectionHandle;
    private multiStreamMixer;
    constructor(config: UiMediaSoupV3WebRtcClientConfig, context: TeamAppsUiContext);
    doGetMainElement(): HTMLElement;
    publish(parameters: UiMediaSoupPublishingParametersConfig): Promise<void>;
    private getUserMedia;
    playback(parameters: UiMediaSoupPlaybackParamatersConfig): void;
    stop(): void;
    update(config: UiMediaSoupV3WebRtcClientConfig): void;
    setActive(active: boolean): void;
    private isVideoShown;
    onResize(): void;
    private static createVideoConstraints;
}
