Files
corsair-lcd-control/src/electron-api.d.ts
2026-06-09 02:51:52 -06:00

49 lines
1.2 KiB
TypeScript

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<CpuTempResult>;
systemRam: () => Promise<RamResult>;
systemGpu: () => Promise<GpuController[] | { error: string }>;
usbListDevices: () => Promise<DeviceEntry[] | { error: string }>;
usbConnect: (vendorId: number, productId: number) => Promise<{ success: boolean } | { error: string }>;
prefsGet: (key?: string) => Promise<unknown>;
prefsSet: (key: string, value: unknown) => Promise<unknown>;
prefsDelete: (key: string) => Promise<unknown>;
dialogOpenFile: (options?: unknown) => Promise<{ canceled: boolean; filePaths: string[] }>;
dialogSaveFile: (options?: unknown) => Promise<{ canceled: boolean; filePath: string }>;
}
interface Window {
electronAPI: ElectronAPI;
}