49 lines
1.2 KiB
TypeScript
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;
|
|
}
|