import { Logger, MedusaContainer } from "@jackchim/types"; import { Dirent } from "fs"; export declare abstract class ResourceLoader { #private; /** * The name of the resource (e.g job, subscriber, workflow) */ protected abstract resourceName: string; protected logger: Logger; constructor(sourceDir: string | string[], container: MedusaContainer); /** * Discover resources from the source directory * @param exclude - custom exclusion regexes * @param customFiltering - custom filtering function * @returns The resources discovered */ protected discoverResources({ exclude, customFiltering, }?: { exclude?: RegExp[]; customFiltering?: (entry: Dirent) => boolean; }): Promise[]>; /** * Called when a file is imported * @param path - The path of the file * @param fileExports - The exports of the file */ protected abstract onFileLoaded(path: string, fileExports: Record): Promise | never; } //# sourceMappingURL=resource-loader.d.ts.map