import { contextBridge, ipcRenderer } from 'electron'; contextBridge.exposeInMainWorld( 'tunnelAPI', { login: ( email: string, password: string ) => ipcRenderer.invoke( 'auth:login', email, password ), loginSuccess: () => ipcRenderer.send( 'auth:login-success' ), listTunnels: () => ipcRenderer.invoke( 'tunnels:list' ), connectTunnel: ( id: string ) => ipcRenderer.invoke( 'tunnel:connect', id ), disconnectTunnel:( id: string ) => ipcRenderer.invoke( 'tunnel:disconnect', id ), addTunnel: ( data: object )=> ipcRenderer.invoke( 'tunnel:add', data ), deleteTunnel: ( id: string ) => ipcRenderer.invoke( 'tunnel:delete', id ), onStatusChange: ( cb: ( id: string, active: boolean ) => void ) => ipcRenderer.on( 'tunnel:status', ( _e, id, active ) => cb( id, active ) ), } );