import Twm from '../TwmWatcher';
import { ContextResource, FileResource } from '../resource';
import { TwmExtension } from '../translate';
import { TwmMiddleware } from '.';
/**
 * @param { string } path 解析的路径 文件 和 目录两种情况
 * @param { string } ext  解析文件的扩展名 .js
 * @param { function } translate  解析的具体步骤，怎么解析
 */
export declare class TranslatePlugin implements TwmMiddleware {
    apply(twm: Twm): void;
    /**
     * 解析翻译的文件
     * @param { ContextResource } context       上下文对象
     * @param { FileResource[] }  changeFiles 修改的文件列表
     */
    resolveTranslateFile(context: ContextResource, changeFilesMap: Map<FileResource, FileResource>): Promise<void>;
    /**
     * 翻译具体文件
     * @param { ContextResource } context    上下文对象
     * @param { FileResource }    source     源文件
     * @param { FileResource }    target     目标文件
     * @param { TwmExtension[] }    extensions 扩展列表
     */
    _translateFile(context: ContextResource, translateFileMap: Map<FileResource, FileResource>, extensions: TwmExtension): Promise<void>;
}
