const { contextBridge, ipcRenderer } = require('electron'); contextBridge.exposeInMainWorld('electronAPI', { detectVideos: (url) => ipcRenderer.invoke('detect-videos', url), startDownload: (url, formatId, extractAudio, audioFormat, title, downloadPlaylist) => ipcRenderer.invoke('start-download', { url, formatId, extractAudio, audioFormat, title, downloadPlaylist }), cancelDownload: () => ipcRenderer.invoke('cancel-download'), onProgress: (callback) => ipcRenderer.on('download-progress', (event, data) => callback(data)), onComplete: (callback) => ipcRenderer.on('download-complete', (event, data) => callback(data)), onError: (callback) => ipcRenderer.on('download-error', (event, message) => callback(message)), onStatus: (callback) => ipcRenderer.on('download-status', (event, data) => callback(data)) });