import { IBundler } from "./i-bundler";
import { IBundlerOptions } from "./i-bundler-options";
import { IRollupService } from "../rollup/rollup-service/i-rollup-service";
import { IFileSaver } from "@wessberg/filesaver";
import { IBuildConfig } from "../build-config/i-build-config";
import { IBundlerResult } from "./i-bundler-result";
/**
 * A class that can generate a bundle
 */
export declare class Bundler implements IBundler {
    private readonly config;
    private readonly rollupService;
    private readonly fileSaver;
    constructor(config: IBuildConfig, rollupService: IRollupService, fileSaver: IFileSaver);
    /**
     * Generates a bundle for an app
     * @param {IBundlerOptions} options
     * @returns {Promise<IBundlerResult>}
     */
    generate(options: IBundlerOptions): Promise<IBundlerResult>;
    /**
     * Write the given bundle to disk
     * @param {string} relativePath
     * @param {string} absolutePath
     * @param {string} code
     * @param {SourceMap} map
     * @returns {Promise<void>}
     */
    private writeBundleToDisk(relativePath, absolutePath, code, map?);
}
