/**
 * THIS IS GENERATED CODE!
 * PLEASE DO NOT MODIFY - ALL YOUR WORK WOULD BE LOST!
 */
export declare const typescriptDeclarationFixConstant = 1;
import { UiEvent } from "./UiEvent";
import { TeamAppsEvent } from "../modules/util/TeamAppsEvent";
import { UiComponentConfig } from "./UiComponentConfig";
import { UiColorConfig } from "./UiColorConfig";
import { UiMediaSoupPublishingParametersConfig } from "./UiMediaSoupPublishingParametersConfig";
import { UiMediaSoupPlaybackParamatersConfig } from "./UiMediaSoupPlaybackParamatersConfig";
import { WebRtcClientSpinnerPolicy } from "./WebRtcClientSpinnerPolicy";
import { WebRtcPublishingFailureReason } from "./WebRtcPublishingFailureReason";
import { UiMulticastPlaybackProfile } from "./UiMulticastPlaybackProfile";
import { UiComponentCommandHandler } from "./UiComponentConfig";
export interface UiMediaSoupV2WebRtcClientConfig extends UiComponentConfig {
    _type?: string;
    initialPlaybackOrPublishParams?: any;
    displayAreaAspectRatio?: number;
    activityLineVisible?: boolean;
    activityInactiveColor?: UiColorConfig;
    activityActiveColor?: UiColorConfig;
    active?: boolean;
    icons?: string[];
    caption?: string;
    noVideoImageUrl?: string;
    spinnerPolicy?: WebRtcClientSpinnerPolicy;
    playbackVolume?: number;
    contextMenuEnabled?: boolean;
}
export interface UiMediaSoupV2WebRtcClientCommandHandler extends UiComponentCommandHandler {
    update(config: UiMediaSoupV2WebRtcClientConfig): void;
    setActive(active: boolean): void;
    publish(parameters: UiMediaSoupPublishingParametersConfig): void;
    playback(parameters: UiMediaSoupPlaybackParamatersConfig): void;
    stop(): void;
    setContextMenuContent(requestId: number, component: unknown): void;
    closeContextMenu(requestId: number): void;
}
export interface UiMediaSoupV2WebRtcClientEventSource {
    onPublishingSucceeded: TeamAppsEvent<UiMediaSoupV2WebRtcClient_PublishingSucceededEvent>;
    onPublishingFailed: TeamAppsEvent<UiMediaSoupV2WebRtcClient_PublishingFailedEvent>;
    onPublishedStreamEnded: TeamAppsEvent<UiMediaSoupV2WebRtcClient_PublishedStreamEndedEvent>;
    onPublishedStreamsStatusChanged: TeamAppsEvent<UiMediaSoupV2WebRtcClient_PublishedStreamsStatusChangedEvent>;
    onConnectionStateChanged: TeamAppsEvent<UiMediaSoupV2WebRtcClient_ConnectionStateChangedEvent>;
    onPlaybackSucceeded: TeamAppsEvent<UiMediaSoupV2WebRtcClient_PlaybackSucceededEvent>;
    onPlaybackFailed: TeamAppsEvent<UiMediaSoupV2WebRtcClient_PlaybackFailedEvent>;
    onPlaybackProfileChanged: TeamAppsEvent<UiMediaSoupV2WebRtcClient_PlaybackProfileChangedEvent>;
    onVoiceActivityChanged: TeamAppsEvent<UiMediaSoupV2WebRtcClient_VoiceActivityChangedEvent>;
    onClicked: TeamAppsEvent<UiMediaSoupV2WebRtcClient_ClickedEvent>;
    onContextMenuRequested: TeamAppsEvent<UiMediaSoupV2WebRtcClient_ContextMenuRequestedEvent>;
}
export interface UiMediaSoupV2WebRtcClient_PublishingSucceededEvent extends UiEvent {
}
export interface UiMediaSoupV2WebRtcClient_PublishingFailedEvent extends UiEvent {
    reason: WebRtcPublishingFailureReason;
    errorMessage: string;
}
export interface UiMediaSoupV2WebRtcClient_PublishedStreamEndedEvent extends UiEvent {
    isDisplay: boolean;
}
export interface UiMediaSoupV2WebRtcClient_PublishedStreamsStatusChangedEvent extends UiEvent {
    audio: boolean;
    video: boolean;
}
export interface UiMediaSoupV2WebRtcClient_ConnectionStateChangedEvent extends UiEvent {
    connected: boolean;
}
export interface UiMediaSoupV2WebRtcClient_PlaybackSucceededEvent extends UiEvent {
}
export interface UiMediaSoupV2WebRtcClient_PlaybackFailedEvent extends UiEvent {
}
export interface UiMediaSoupV2WebRtcClient_PlaybackProfileChangedEvent extends UiEvent {
    profile: UiMulticastPlaybackProfile;
}
export interface UiMediaSoupV2WebRtcClient_VoiceActivityChangedEvent extends UiEvent {
    active: boolean;
}
export interface UiMediaSoupV2WebRtcClient_ClickedEvent extends UiEvent {
}
export interface UiMediaSoupV2WebRtcClient_ContextMenuRequestedEvent extends UiEvent {
    requestId: number;
}
