interface ElectronWindowControl { minimize: () => Promise; maximize: () => Promise; close: () => Promise; } interface ElectronWindowState { onMaximized: (callback: () => void) => void; onUnmaximized: (callback: () => void) => void; removeMaximizedListener: () => void; removeUnmaximizedListener: () => void; } interface ElectronAppInfo { isElectron: boolean; version: string; } interface ElectronAPI { windowControl: { minimize: () => Promise; maximize: () => Promise; close: () => Promise; }; windowState: { onMaximized: (callback: () => void) => void; onUnmaximized: (callback: () => void) => void; removeMaximizedListener: () => void; removeUnmaximizedListener: () => void; }; appInfo: { isElectron: boolean; version: string; }; } declare global { interface Window { electron?: ElectronAPI; } }