import { MiniProgramCI, MiniProgramCore } from '../../../types';
import { BaseConditionCompiler } from './compiler/base';
import { IConsoleDisplay, IMessageHub } from '../../../utils/messageHub';
interface IConditionCompiler {
    targetPlatform: MiniProgramCore.ITargetPlatform;
    targetPlatformDefines?: MiniProgramCore.ITargetPlatformDefine;
}
export declare class ConditionCompiler {
    extToCompiler: {
        [ext: string]: BaseConditionCompiler;
    };
    project: MiniProgramCI.IProject;
    devtoolMessagehub?: IMessageHub;
    consoleDisplay?: IConsoleDisplay;
    constructor(project: MiniProgramCI.IProject, devtoolMessagehub: IMessageHub | undefined, consoleDisplay: IConsoleDisplay | undefined);
    getCompiler(extname: string, opts: IConditionCompiler): BaseConditionCompiler;
    shouldCompile(filePath: string): boolean;
    compileFile(filePath: string, opts?: IConditionCompiler): Buffer;
    compileProject(opts?: IConditionCompiler): {
        [key: string]: Buffer;
    };
    filterResourceByPlatfrom(opts?: MiniProgramCore.IConditionCompileInfo): string[];
}
export {};
