export type DesktopScreenShareSource = { id: string; kind: "screen" | "window"; name: string; subtitle?: string | null; thumbnail?: string | null; }; export type DesktopScreenShareAudioOutput = { id: string; name: string; isDefault: boolean; }; export type DesktopScreenShareCapabilities = { runtime: "electron"; platform: "linux" | "macos" | "windows" | "other"; showAudioOutputSelector: boolean; showAudioSwitch: boolean; hasReliableSystemAudio: boolean; }; export type ReleaseArtifact = { name: string; platform: string; arch: string; url: string; sha256: string; size: number; }; export type ReleaseMetadata = { version: string; tag: string; publishedAt: string; artifacts: ReleaseArtifact[]; }; export type UpdateCheckResult = | { available: false; currentVersion: string; latestVersion: string } | { available: true; currentVersion: string; latestVersion: string; artifact: ReleaseArtifact; }; export const ipcChannels = { listScreenShareSources: "desktopMedia:listScreenShareSources", listScreenShareAudioOutputs: "desktopMedia:listScreenShareAudioOutputs", getScreenShareCapabilities: "desktopMedia:getScreenShareCapabilities", selectScreenShareSource: "desktopMedia:selectScreenShareSource", minimizeWindow: "window:minimize", maximizeWindow: "window:maximize", closeWindow: "window:close", getVersion: "app:getVersion", checkForUpdates: "updates:checkForUpdates", } as const;