import type { Pail } from "@visulima/pail";
import type { InternalStyleOptions } from "../types.d.cts";
import type { Loader, LoaderContext, Payload } from "./types.d.cts";
/** Options for {@link Loaders} class */
interface LoadersOptions {
    /** @see {@link Options.extensions} */
    extensions: string[];
    /** @see {@link Options.loaders} */
    loaders: Loader[];
    logger: Pail;
    options: InternalStyleOptions;
}
declare class LoaderManager {
    private readonly test;
    private readonly loaders;
    private readonly options;
    private workQueue?;
    private readonly logger;
    constructor({ extensions, loaders, logger, options }: LoadersOptions);
    add<T extends Record<string, unknown>>(...loaders: Loader<T>[]): void;
    isSupported(file: string): boolean;
    process(payload: Payload, context: LoaderContext): Promise<Payload>;
}
export = LoaderManager;
