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[]): void acceptExports( exportNames: string | readonly string[], cb: (mod: ModuleNamespace | undefined) => void ): void dispose(cb: (data: any) => void): void decline(): void invalidate(): void on( event: T, cb: (payload: InferCustomEventPayload) => void ): void send(event: T, data?: InferCustomEventPayload): void }