///
import { Bundle } from "./Bundle";
import { FuseBox } from "./FuseBox";
import { EventEmitter } from "events";
import { SharedCustomPackage } from "./SharedCustomPackage";
import { BundleRunner } from "./BundleRunner";
import { ServerOptions } from "../devServer/Server";
import { ProducerAbstraction } from "../bundle-abstraction/ProducerAbstraction";
export declare class BundleProducer {
fuse: FuseBox;
bundles: Map;
hmrInjected: boolean;
sharedEvents: EventEmitter;
writeBundles: boolean;
sharedCustomPackages: Map;
runner: BundleRunner;
devServerOptions: ServerOptions;
entryPackageName: string;
entryPackageFile: string;
constructor(fuse: FuseBox);
run(opts: any): Promise;
generateAbstraction(): Promise;
register(packageName: string, opts: any): Promise;
isShared(name: string): SharedCustomPackage;
getSharedPackage(name: string): SharedCustomPackage;
add(name: string, bundle: Bundle): void;
watch(): void;
/** Trigger bundles that are affected */
protected onChanges(settings: Map, path: string): void;
}