import { type Chunk } from '@rspack/binding'; export type Rule = string | RegExp; export type Rules = Rule[] | Rule; export type BannerFunction = (args: { hash: string; chunk: Chunk; filename: string; }) => string; export type BannerContent = string | BannerFunction; export type BannerPluginOptions = { /** Specifies the banner, it will be wrapped in a comment. */ banner: BannerContent; /** If true, the banner will only be added to the entry chunks. */ entryOnly?: boolean; /** Exclude all modules matching any of these conditions. */ exclude?: Rules; /** Include all modules matching any of these conditions. */ include?: Rules; /** If true, banner will not be wrapped in a comment. */ raw?: boolean; /** If true, banner will be placed at the end of the output. */ footer?: boolean; /** * The stage of the compilation in which the banner should be injected. * @default PROCESS_ASSETS_STAGE_ADDITIONS (-100) */ stage?: number; /** Include all modules that pass test assertion. */ test?: Rules; }; export type BannerPluginArgument = BannerContent | BannerPluginOptions; export declare const BannerPlugin: { new (args: BannerPluginArgument): { name: string; _args: [args: BannerPluginArgument]; affectedHooks: keyof import("../index.js").CompilerHooks | undefined; raw(compiler: import("../index.js").Compiler): import("@rspack/binding").BuiltinPlugin; apply(compiler: import("../index.js").Compiler): void; }; };