interface ResolveInfo { request: string; resolved?: string; parent?: string; } interface LoadInfo extends ResolveInfo { cacheHit: boolean; moduleSystem: "cjs" | "esm"; } export interface ModuleLoadObserver { onResolve?(info: ResolveInfo): void; onLoadStart?(info: LoadInfo): unknown; onLoadEnd?(info: LoadInfo, token: unknown, error?: unknown): void; onError?(error: unknown): void; } export interface ModuleObserverRegistration { run(action: () => T): T; enter(): () => void; dispose(): void; } declare class ModuleObserverRegistry { private readonly _active; private readonly _insideCommonJsLoad; private _registrationCount; private _originalResolve?; private _originalLoad?; private _installedResolve?; private _installedLoad?; private _commonJsHookState?; private _esmHooks?; register(observer: ModuleLoadObserver): ModuleObserverRegistration; private _appendObserver; private _install; private _installCommonJsHooks; private _installEsmHooks; private _startLoad; private _endLoad; private _notify; private _safe; private _uninstall; } export declare const moduleObserverRegistry: ModuleObserverRegistry; export {};