interface DeviceEntry { vendorId: number; productId: number; displayName: string; manufacturer: string; product: string; serialNumber: string; } interface CpuTempResult { main: number; cores: number[]; max: number; error?: string; } interface RamResult { total: number; free: number; used: number; usedPercent: string; error?: string; } interface GpuController { vendor: string; model: string; temperatureGpu: number | null; memoryUsed: number | null; memoryTotal: number | null; } interface ElectronAPI { systemCpuTemp: () => Promise; systemRam: () => Promise; systemGpu: () => Promise; usbListDevices: () => Promise; usbConnect: (vendorId: number, productId: number) => Promise<{ success: boolean } | { error: string }>; prefsGet: (key?: string) => Promise; prefsSet: (key: string, value: unknown) => Promise; prefsDelete: (key: string) => Promise; dialogOpenFile: (options?: unknown) => Promise<{ canceled: boolean; filePaths: string[] }>; dialogSaveFile: (options?: unknown) => Promise<{ canceled: boolean; filePath: string }>; } interface Window { electronAPI: ElectronAPI; }