import type Plugin from 'broccoli-plugin';
import type Splitter from './splitter';
import type Package from './package';
import type BundleConfig from './bundle-config';
import type { BundleName } from './bundle-config';
import type webpack from 'webpack';
import type { V2AddonResolver } from './package';
export interface BundlerOptions {
    consoleWrite: (msg: string) => void;
    environment: 'development' | 'test' | 'production';
    splitter: Splitter;
    packages: Set<Package>;
    bundles: BundleConfig;
    webpack: typeof webpack;
    rootPackage: Package;
    v2AddonResolver: V2AddonResolver;
}
export interface BuildResult {
    entrypoints: Map<BundleName | string, string[]>;
    lazyAssets: string[];
    externalDepsFor(request: string): string[];
}
export type Bundler = Plugin & {
    buildResult: BuildResult;
};
export declare function debugBundler(bundler: Bundler, label: string): Bundler;
