export type JSErrorFile = Record<string, any>;
export type SCSSErrorFile = Record<string, any>;
export type FileMap = {
    [k: string]: {
        reg: RegExp;
        lintKeyword: string;
        outputFileName: string;
        outputFile?: string;
        isStyle?: boolean;
        isVue?: boolean;
        /** 全量模式下是否为多类型合并输出文件（需按扩展名过滤） */
        isMerged?: boolean;
        total?: number;
        errorFiles?: JSErrorFile[];
    };
};
/** checkLint 完成后传给 onReport 回调的上报信息 */
export type CheckLintReportInfo = {
    /** 各文件类型的错误总数 */
    totalErrors: number;
    /** 各文件类型的错误详情 */
    errorDetails: Array<{
        fileType: string;
        errorCount: number;
        fileCount: number;
    }>;
    /** 是否全量检查 */
    checkAll: boolean;
    /** MR ID */
    mrId?: string;
    /** 仓库名 */
    repo: string;
    /** 源分支 */
    sourceBranch?: string;
    /** 目标分支 */
    targetBranch?: string;
    /** 是否通过（无错误） */
    passed: boolean;
    /** lint 执行耗时（ms） */
    duration: number;
    /** 检查的文件类型列表 */
    lintFiles: string[];
    /** 完整的 fileMap 结果 */
    fileMap: FileMap;
    /** 自动修复创建的 MR 信息列表（autoFixMR 开启时才有，eslint 和 stylelint 分别创建独立 MR） */
    fixMRList?: Array<{
        /** 修复分支名 */
        fixBranch: string;
        /** 修复 MR 目标分支 */
        fixTargetBranch: string;
        /** createMR 返回的原始数据 */
        mrData?: any;
    }>;
};
