import { HMRPayload, Plugin } from 'vite'; import { EventEmitter } from 'node:events'; import { C as CustomEventMap, a as ViteNodeRunner, H as HMRPayload$1, b as HotContext } from './index.d-CWZbpOcv.js'; import './trace-mapping.d-DLVdEqOp.js'; type EventType = string | symbol; type Handler = (event: T) => void; interface Emitter> { on: (type: Key, handler: Handler) => void; off: (type: Key, handler?: Handler) => void; emit: ((type: Key, event: Events[Key]) => void) & ((type: undefined extends Events[Key] ? Key : never) => void); } type HMREmitter = Emitter<{ message: HMRPayload }> & EventEmitter; declare module "vite" { interface ViteDevServer { emitter: HMREmitter; } } declare function createHmrEmitter(): HMREmitter; declare function viteNodeHmrPlugin(): Plugin; type ModuleNamespace = Record & { [Symbol.toStringTag]: "Module" }; type InferCustomEventPayload = T extends keyof CustomEventMap ? CustomEventMap[T] : any; interface HotModule { id: string; callbacks: HotCallback[]; } interface HotCallback { deps: string[]; fn: (modules: (ModuleNamespace | undefined)[]) => void; } interface CacheData { hotModulesMap: Map; dataMap: Map; disposeMap: Map void | Promise>; pruneMap: Map void | Promise>; customListenersMap: Map void)[]>; ctxToListenersMap: Map void)[]>>; messageBuffer: string[]; isFirstUpdate: boolean; pending: boolean; queued: Promise<(() => void) | undefined>[]; } declare function getCache(runner: ViteNodeRunner): CacheData; declare function sendMessageBuffer(runner: ViteNodeRunner, emitter: HMREmitter): void; declare function reload(runner: ViteNodeRunner, files: string[]): Promise; declare function handleMessage(runner: ViteNodeRunner, emitter: HMREmitter, files: string[], payload: HMRPayload$1): Promise; declare function createHotContext(runner: ViteNodeRunner, emitter: HMREmitter, files: string[], ownerPath: string): HotContext; export { createHmrEmitter, createHotContext, getCache, handleMessage, reload, sendMessageBuffer, viteNodeHmrPlugin }; export type { Emitter, EventType, HMREmitter, Handler, HotCallback, HotModule, InferCustomEventPayload, ModuleNamespace };