import { Asset, IInitOptions, IPluginConfig, Resolver } from 'jgb-shared/lib';
import AwaitEventEmitter from 'jgb-shared/lib/awaitEventEmitter';
import { ICompiler } from 'jgb-shared/lib/pluginDeclare';
declare type TypeAsset = typeof Asset;
export default class Compiler extends AwaitEventEmitter implements ICompiler {
    private options;
    private extensions;
    resolver: Resolver;
    constructor(options: IInitOptions);
    /**
     * 预加载插件等信息
     */
    preload(options: IInitOptions): Promise<void>;
    init(resolver: Resolver): Promise<void>;
    /**
     * 加载插件
     * @param plugins
     */
    loadPlugins(plugins?: IPluginConfig[]): Promise<void>;
    /**
     * 加载预设配置
     * @param presets
     */
    loadPresets(presets: IPluginConfig[]): Promise<void>;
    /**
     * addAssetsType 时会自动添加parentCompiler
     * @param exts
     * @param asset
     */
    addAssetsType(exts: string | string[], asset: string | TypeAsset): void;
    findParser(fileName: string, fromPipeline?: boolean): TypeAsset;
    getAsset(fileName: string): Asset;
}
export {};
