import type { Configuration, RspackPluginFunction, RspackPluginInstance } from "@rspack/core";
type Condition = () => boolean;
type Entry = Exclude<Configuration["entry"], undefined>;
type EntryRecord = Extract<Entry, Record<string, unknown> | Function>;
type EntryRecordValue = Extract<Entry, Record<string, unknown>>[string];
type EntryStringRecordValue = Extract<EntryRecordValue, string | string[]>;
type EntryStringRecord = Record<string, EntryStringRecordValue>;
type Plugin = RspackPluginInstance | RspackPluginFunction;
type Plugins = Exclude<Configuration["plugins"], undefined>;
export declare class ConfigWrapper {
    private base;
    constructor(base: Configuration);
    get config(): Configuration;
    set(config: Configuration): ConfigWrapper;
    merge(config: Configuration): ConfigWrapper;
    setEntry(input: Entry, condition?: Condition): ConfigWrapper;
    addEntry(input: EntryRecord, condition?: Condition): ConfigWrapper;
    addRelativeEntry(input: EntryStringRecord, condition?: Condition): ConfigWrapper;
    addEntryByName(name: string, value: EntryRecordValue, condition?: Condition): ConfigWrapper;
    addRelativeEntryByName(name: string, value: EntryStringRecordValue, condition?: Condition): ConfigWrapper;
    setPlugins(plugins: Plugins, condition?: Condition): ConfigWrapper;
    addPlugins(plugin: Plugin, condition?: Condition): ConfigWrapper;
    private convertEntryRecord;
}
export {};
//# sourceMappingURL=wrapper.d.ts.map