import { ILog } from '@aiot-toolkit/shared-utils/lib/interface/ILog';
import FileLaneTriggerType from '../enum/FileLaneTriggerType';
/**
 * IFileLaneEvents
 */
export default interface IFileLaneEvents {
    /**
     * 开始转换
     * @returns
     */
    onBuildStart?: () => void;
    /**
     * 转换成功
     * @param data
     * @returns
     */
    onBuildSuccess?: (data: IFileLaneSuccessData) => void;
    /**
     * 转换失败
     * @default 错误消息打印到控制台
     * @param error
     * @returns
     */
    onBuildError?: (error: unknown) => void;
    /**
     * 日志触发的方法，打包过程中可能多次触发
     * @default 日志打印到控制台
     * @param logs
     * @returns
     */
    onLog?: (logs: ILog[]) => void;
}
export interface IFileLaneSuccessData {
    /**
     * 耗时(毫秒)
     */
    costTime: number;
    info?: {
        /**
         * 触发类型
         */
        trigger: FileLaneTriggerType;
        /**
         * rpk 文件绝对路径
         */
        rpk?: string;
        /**
         * 差异文件列表
         */
        diffList?: string[];
        /**
         * 差异文件压缩包
         */
        diffFile?: string;
        [key: string]: any;
    };
}
