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 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; }; action_toggle_speaker: { enabled: boolean; }; 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; }; query_mode: {}; query_connection_state: {}; query_bookmarks: {}; query_away_state: {}; query_microphone_state: {}; query_speaker_state: {}; 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_speaker_state: { enabled: boolean; }; 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: {}; }