import type { ErrorPayload, FullReloadPayload, PrunePayload, UpdatePayload, } from './hmrPayload' export interface CustomEventMap { 'vite:beforeUpdate': UpdatePayload 'vite:afterUpdate': UpdatePayload 'vite:beforePrune': PrunePayload 'vite:beforeFullReload': FullReloadPayload 'vite:error': ErrorPayload 'vite:invalidate': InvalidatePayload 'vite:ws:connect': WebSocketConnectionPayload 'vite:ws:disconnect': WebSocketConnectionPayload } export interface WebSocketConnectionPayload { /** * @experimental * We expose this instance experimentally to see potential usage. * This might be removed in the future if we didn't find reasonable use cases. * If you find this useful, please open an issue with details so we can discuss and make it stable API. */ webSocket: WebSocket } export interface InvalidatePayload { path: string message: string | undefined } /** * provides types for built-in Vite events */ export type InferCustomEventPayload = T extends keyof CustomEventMap ? CustomEventMap[T] : any