import { IpcChannelsParams, IpcChannelsReturns } from '@/shared/IpcChannels' import { ElectronLog } from 'electron-log' export {} declare global { interface Window { ipcRenderer?: { sendSync: ( channel: T, params?: IpcChannelsParams[T] ) => IpcChannelsReturns[T] invoke: ( channel: T, params?: IpcChannelsParams[T] ) => Promise send: ( channel: T, params?: IpcChannelsParams[T] ) => void on: ( channel: T, listener: ( event: Electron.IpcRendererEvent, value: IpcChannelsReturns[T] ) => void ) => void } env?: { isElectron: boolean isEnableTitlebar: boolean isLinux: boolean isMac: boolean isWindows: boolean } log?: ElectronLog } } declare module 'valtio' { function useSnapshot(p: T): T }