import ts from "typescript"; import type { LintMessageWithFile } from "../../core/types/index.js"; import { type MsgId } from "./dependency-helpers.js"; /** * Создает TypeScript Program из tsconfig.json. * * @returns TypeScript Program или null при ошибке */ export declare function buildProgram(): ts.Program | null; /** * Строит граф зависимостей между сообщениями. * * CHANGE: Refactored to reduce complexity and line count * WHY: Original function had 87 lines, complexity 14, and max-depth 5 * QUOTE(LINT): "Function has too many lines/complexity/nesting" * REF: ESLint max-lines-per-function, complexity, max-depth * SOURCE: n/a * * @param messages Массив сообщений * @param program TypeScript Program * @returns Массив рёбер графа [from, to] */ export declare function buildDependencyEdges(messages: readonly LintMessageWithFile[], program: ts.Program): readonly (readonly [MsgId, MsgId])[]; /** * Выполняет топологическую сортировку сообщений. * * CHANGE: Refactored to reduce complexity and line count * WHY: Original function had 51 lines and complexity 18 * QUOTE(LINT): "Function has too many lines (51). Maximum allowed is 50" * REF: ESLint max-lines-per-function, complexity * SOURCE: n/a * * @param messages Массив сообщений * @param edges Рёбра графа зависимостей * @returns Карта: MsgId -> ранг в топологическом порядке */ export declare function topologicalSort(messages: readonly LintMessageWithFile[], edges: readonly (readonly [MsgId, MsgId])[]): Map; //# sourceMappingURL=dependencies.d.ts.map