import type { LLMConfig, DocumentMetadata } from '../electron/types'; interface Directory { name: string; path: string; } declare global { interface Window { electron: { // File System Operations startWatching: (dirPath: string) => Promise; stopWatching: (dirPath: string) => Promise; addExcludedPath: (path: string) => Promise; // LLM Operations queryLLM: (question: string) => Promise<{ answer: string; sources: DocumentMetadata[]; }>; getLLMConfig: () => Promise; meilisearchSearch: (indexName: string, query: string) => Promise<{ success: boolean; data: any[] }>; // Vector Store Operations getDocuments: () => Promise<{ success: boolean; data?: DocumentMetadata[]; error?: string }>; addDocument: (content: string, metadata: DocumentMetadata) => Promise; deleteDocument: (path: string) => Promise; updateDocument: (content: string, metadata: DocumentMetadata) => Promise; // File Processing processFile: (filePath: string) => Promise; // System Paths getUserHome: () => Promise<{ success: boolean; data?: string; error?: string }>; getAppPath: () => Promise; // Directory Operations listDirectories: (dirPath: string) => Promise<{ success: boolean; data?: Directory[]; error?: string }>; // Event Handling on: (channel: string, callback: (event: unknown, ...args: any[]) => void) => void; off: (channel: string, callback: (event: unknown, ...args: any[]) => void) => void; // Window Controls minimizeWindow: () => Promise; maximizeWindow: () => Promise; closeWindow: () => Promise; // Ollama Operations checkOllama: () => Promise<{ installed: boolean; running: boolean }>; openExternal: (url: string) => Promise; // Model Operations checkModel: (modelName: string) => Promise<{ installed: boolean; installing: boolean }>; pullModel: (modelName: string, onProgress: (status: string) => void) => Promise; }; } } export {};