///
interface ImportMetaEnv {
readonly VITE_BACKEND_PORT?: string;
}
interface ImportMeta {
readonly env: ImportMetaEnv;
}
interface ModelInfo {
name: string;
path: string;
size_bytes: number;
kind: string;
}
interface DesktopAPI {
openFile: (options?: Record) => Promise;
saveFile: (options?: Record) => Promise;
openProject: () => Promise;
saveProject: () => Promise;
getBackendUrl: () => Promise;
encryptString: (data: string) => Promise;
decryptString: (encrypted: string) => Promise;
ensureModel: (modelName: string) => Promise;
transcribe: (filePath: string, modelName: string, language?: string) => Promise;
readFile: (path: string) => Promise;
writeFile: (path: string, content: string) => Promise;
activateLicense: (key: string) => Promise;
getAppStatus: () => Promise;
verifyLicense: (key: string) => Promise;
deactivateLicense: () => Promise;
hasLicenseFeature: (feature: string) => Promise;
listModels: () => Promise;
deleteModel: (path: string) => Promise;
logError: (message: string, stack: string, componentStack: string) => Promise;
writeAutosave: (data: string) => Promise;
readAutosave: () => Promise;
deleteAutosave: () => Promise;
}
interface Window {
electronAPI: DesktopAPI;
}