import { Compiler } from '@rspack/core';
import { type FilepathList, type PluginInterface } from '../../webpack-types';
import { DevOptions } from '../../../develop-lib/config-types';
/**
 * ManifestPlugin is responsible for handling the manifest.json file.
 * It ensures that the files defined in the manifest have valid paths,
 * throwing errors if they don't. It also ensures the manifest is emitted
 * to the assets bundle, so other plugins can modify it, and stored
 * as file dependency so webpack can watch and trigger changes.
 *
 * The plugin also has a guard against recompiling entrypoints
 * at runtime, throwing an error if any of those files change.
 */
export declare class ManifestPlugin {
    readonly manifestPath: string;
    readonly browser: DevOptions['browser'];
    readonly includeList?: FilepathList;
    readonly excludeList?: FilepathList;
    constructor(options: PluginInterface & {
        browser: DevOptions['browser'];
    });
    apply(compiler: Compiler): void;
}
