import { IScriptOptimizerOptions } from "../i-script-optimizer-options";
import { IBabelMinifyOptimizer } from "./i-babel-minify-optimizer";
import { OptimizerResult } from "../../i-optimizer-result";
import { IBabelMinifyOptions } from "../../../minify/i-babel-minify-options";
/**
 * A minifier that uses babel as its' underlying implementation
 */
export declare class BabelMinifyOptimizer implements IBabelMinifyOptimizer {
    private readonly minifyOptions;
    constructor(minifyOptions: IBabelMinifyOptions);
    /**
     * Optimizes a Script using babel.
     * If the script format is unsupported, an un-manipulated Buffer will be returned.
     * @param {IScriptOptimizerOptions} options
     * @returns {Promise<OptimizerResult>}
     */
    optimize(options: IScriptOptimizerOptions): Promise<OptimizerResult>;
    /**
     * Qualifies optimizing the given input paths depending on its' kind
     * @param {IScriptOptimizerOptions} options
     * @returns {Promise<OptimizerResult>}
     */
    private qualifyOptimization(options);
    /**
     * Optimizes (minifies) a Script using babel
     * @param {IScriptOptimizerOptions} options
     * @returns {Promise<Buffer>}
     */
    private runOptimizer(options);
}
