import { FileMatch } from './match'; export interface FileLoaderOptions { /** * The priority of the loader, used to resolve load order if multiple * loaders are available. * * The higher the priority the earlier the load order. */ priority?: number; match?: FileMatch; } export declare abstract class FileLoader { #private; static DEFAULT_PRIORITY: number; protected fileMatcher: FileMatch; constructor(options?: FileLoaderOptions); /** * The priority of the loader, used to resolve load order if multiple * loaders are available. */ get priority(): number; /** * Checks whether the FileLoader can be used for a file path. * * @param filePath The file path to evaluate. * @returns Whether the FileLoader is authoritative for the file path. */ isAuthoritativeFor(filePath: string): boolean; /** * Loads a file. * * @param filePath The path to load the file from. * @returns The unmodified exports of the file. */ abstract loadFile(filePath: string): Promise; } /** * Error thrown when a FileLoader is authoritative for a file path but * fails to load it. */ export declare class UnsupportedFileLoaderError extends Error { constructor(message?: string, options?: ErrorOptions); }