///
import { IIgnoreOption } from "../utils/FileUtil";
import { EventEmitter } from "events";
import { IPublishVo, IProjectVo } from "../data/Config";
export declare abstract class PublishBase extends EventEmitter {
abstract readonly projDir: string;
protected _publishVo: IPublishVo;
protected mProjectInfo: IProjectVo;
protected _version: string;
protected _checkRes: boolean;
private _logFunc;
protected _complete: Function;
protected _startTime: number;
protected mOutPath: string;
protected mProjPath: string;
protected mTempProjPath: string;
protected mToolPath: string;
protected mFromPath: string;
private _config;
init($publishVo: IPublishVo, projectInfo: IProjectVo): void;
packGame(version: string, checkRes: boolean, logFunc: (log: string) => void, complete: Function): void;
abstract createProject(): any;
abstract doPack(): any;
showPreView(logFunc: Function): void;
packOver(): void;
log(msg: string): void;
debug(msg: string): void;
update(data: any): void;
getConfigName(): string;
readonly config: string;
exec(cmd: string, option?: any): Promise<{}>;
spawn(cmd: string, args: string[], options?: any, updateFunc?: (log: string) => void): import("child_process").ChildProcessWithoutNullStreams;
compressJs(jsList: string[], binPath: string, toPath: string): Promise;
copyDir(dirPath: string, toDirPath: string, hash?: boolean, ignores?: IIgnoreOption): Promise<{}>;
compressImg(dirPath: string, excludeHash?: any): Promise<{}>;
printMsg(msg: string): void;
compressLibs(): void;
}