TeaSpeak-Client/imports/shared-app/ui/frames/control-bar/Definitions.d.ts

140 lines
3.5 KiB
TypeScript

import { RemoteIconInfo } from "tc-shared/file/Icons";
import { VideoBroadcastType } from "tc-shared/connection/VideoConnection";
export declare type ControlBarMode = "main" | "channel-popout";
export declare type ConnectionState = {
currentlyConnected: boolean;
generallyConnected: boolean;
multisession: boolean;
};
export declare type Bookmark = {
uniqueId: string;
label: string;
icon: RemoteIconInfo | undefined;
children?: Bookmark[];
};
export declare type AwayState = {
locallyAway: boolean;
globallyAway: "partial" | "full" | "none";
};
export declare type MicrophoneState = "enabled" | "disabled" | "muted";
export declare type VideoState = "enabled" | "disabled" | "unavailable" | "unsupported" | "disconnected";
export declare type HostButtonInfo = {
title?: string;
target?: string;
url: string;
};
export declare type VideoDeviceInfo = {
name: string;
id: string;
};
export declare type AudioDeviceInfo = {
name: string;
id: string;
driver: string;
selected: boolean;
};
export interface ControlBarEvents {
action_connection_connect: {
newTab: boolean;
};
action_connection_disconnect: {
generally: boolean;
};
action_bookmark_connect: {
bookmarkUniqueId: string;
newTab: boolean;
};
action_bookmark_manage: {};
action_bookmark_add_current_server: {};
action_toggle_away: {
away: boolean;
globally: boolean;
promptMessage?: boolean;
};
action_toggle_microphone: {
enabled: boolean;
targetDeviceId?: string;
};
action_toggle_speaker: {
enabled: boolean;
targetDeviceId?: string;
};
action_toggle_subscribe: {
subscribe: boolean;
};
action_toggle_query: {
show: boolean;
};
action_query_manage: {};
action_toggle_video: {
broadcastType: VideoBroadcastType;
enable: boolean;
quickStart?: boolean;
deviceId?: string;
};
action_manage_video: {
broadcastType: VideoBroadcastType;
};
action_open_microphone_settings: {};
action_open_speaker_settings: {};
query_mode: {};
query_connection_state: {};
query_bookmarks: {};
query_away_state: {};
query_microphone_state: {};
query_microphone_list: {};
query_speaker_state: {};
query_speaker_list: {};
query_subscribe_state: {};
query_query_state: {};
query_host_button: {};
query_video_state: {
broadcastType: VideoBroadcastType;
};
query_camera_list: {};
notify_mode: {
mode: ControlBarMode;
};
notify_connection_state: {
state: ConnectionState;
};
notify_bookmarks: {
marks: Bookmark[];
};
notify_away_state: {
state: AwayState;
};
notify_microphone_state: {
state: MicrophoneState;
};
notify_microphone_list: {
devices: AudioDeviceInfo[];
};
notify_speaker_state: {
enabled: boolean;
};
notify_speaker_list: {
state: "initialized";
devices: AudioDeviceInfo[];
} | {
state: "uninitialized";
};
notify_subscribe_state: {
subscribe: boolean;
};
notify_query_state: {
shown: boolean;
};
notify_host_button: {
button: HostButtonInfo | undefined;
};
notify_video_state: {
broadcastType: VideoBroadcastType;
state: VideoState;
};
notify_camera_list: {
devices: VideoDeviceInfo[];
};
notify_destroy: {};
}