import { Awaitable } from '@flowr/types'; import { e as Piece, b as ILoaderStrategy, F as FilterResult, M as ModuleData, A as AsyncPreloadResult, i as Store, H as HydratedModuleData, a as ILoaderResult, g as StoreLogger } from '../../ILoaderStrategy-6DjCiyDx.js'; import '../utils.js'; import '@flowr/utilities/collection'; import '../structures/PieceLocation.js'; /** * A multi-purpose feature-complete loader strategy supporting multi-piece modules as well as supporting both ECMAScript * Modules and CommonJS with reloading support. */ declare class LoaderStrategy implements ILoaderStrategy { clientUsesESModules: boolean; supportedExtensions: string[]; private readonly filterDtsFiles; constructor(); filter(path: string): FilterResult; preload(file: ModuleData): AsyncPreloadResult; load(store: Store, file: HydratedModuleData): ILoaderResult; onLoad(_store: Store, _piece: T): Awaitable; onLoadAll(_store: Store): Awaitable; onUnload(_store: Store, _piece: T): Awaitable; onUnloadAll(_store: Store): Awaitable; onError(error: Error, path: string): void; walk(store: Store, path: string, logger?: StoreLogger | null): AsyncIterableIterator; } export { LoaderStrategy };