import {IpcRegistryDescription, Registry} from "tc-shared/events"; import {PrivateConversationUIEvents} from "tc-shared/ui/frames/side/PrivateConversationDefinitions"; import {ClientInfoEvents} from "tc-shared/ui/frames/side/ClientInfoDefinitions"; import {SideHeaderEvents} from "tc-shared/ui/frames/side/HeaderDefinitions"; import {ChannelBarUiEvents} from "tc-shared/ui/frames/side/ChannelBarDefinitions"; import {MusicBotUiEvents} from "tc-shared/ui/frames/side/MusicBotDefinitions"; import {MusicPlaylistUiEvents} from "tc-shared/ui/frames/side/MusicPlaylistDefinitions"; import {ChannelConversationUiEvents} from "tc-shared/ui/frames/side/ChannelConversationDefinitions"; export type SideBarType = "none" | "server" | "channel" | "private-chat" | "client-info" | "music-manage"; export interface SideBarTypeData { "none": {}, "channel": { events: IpcRegistryDescription }, "private-chat": { events: IpcRegistryDescription, handlerId: string }, "client-info": { events: IpcRegistryDescription, }, "music-manage": { botEvents: IpcRegistryDescription, playlistEvents: IpcRegistryDescription }, "server": { handlerId: string, chatEvents: IpcRegistryDescription } } export type SideBarNotifyContentData = { content: T, data: SideBarTypeData[T] } export interface SideBarEvents { query_content: {}, query_content_data: { content: SideBarType }, notify_content: { content: SideBarType }, notify_content_data: SideBarNotifyContentData, }