import type { InferCustomEventPayload } from './customEvent' export type ModuleNamespace = Record & { [Symbol.toStringTag]: 'Module' } export interface ViteHotContext { readonly data: any accept(): void accept(cb: (mod: ModuleNamespace | undefined) => void): void accept(dep: string, cb: (mod: ModuleNamespace | undefined) => void): void accept( deps: readonly string[], cb: (mods: Array) => void, ): void acceptExports( exportNames: string | readonly string[], cb?: (mod: ModuleNamespace | undefined) => void, ): void dispose(cb: (data: any) => void): void prune(cb: (data: any) => void): void invalidate(message?: string): void on( event: T, cb: (payload: InferCustomEventPayload) => void, ): void send(event: T, data?: InferCustomEventPayload): void }