import type { InferCustomEventPayload } from './custom-event'; 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; off( event: T, cb: (payload: InferCustomEventPayload) => void ): void; send(event: T, data?: InferCustomEventPayload): void; }