import { AbstractModuleRecord, NormalCompletion, Realm, ThrowCompletion, type CyclicModuleRecord, type HostHooks, type ModuleCacheKey, type ModuleRecordHostDefined, type ModuleRequestRecord, type ScriptRecord } from '#self'; /** * If finish is called with `undefined`, it will pass the module request to the next loader in the chain. */ export type ModuleLoader = (referrer: CyclicModuleRecord | ScriptRecord | Realm, moduleRequest: ModuleRequestRecord, hostDefined: ModuleRecordHostDefined | undefined, finish: (result: AbstractModuleRecord | NormalCompletion | ThrowCompletion | undefined) => void, suggestError: (error: string) => void) => void; export interface ModuleLoaderResultWithCacheKey { cacheKey: ModuleCacheKey; completion: AbstractModuleRecord | NormalCompletion | ThrowCompletion; } export interface ModuleLoaderResultWithoutCacheKey { cacheKey: ModuleCacheKey | undefined; completion: ThrowCompletion; } export declare function composeModuleLoaders(loaders: readonly ModuleLoader[]): NonNullable; //# sourceMappingURL=module-loader.d.mts.map