import type { IssueGroup, Severity } from '../../types/analysis.types'; import { type ValidationReportFinding } from '../parseValidationReport/parseValidationReport'; /** * Pure severity normalisation from the report's plugin-defined string to the * canonical `Severity` union. Reports vary: CDK Insights' plugin emits the * union directly, `Construct Annotations` uses 'error'/'warning', third-party * plugins may use anything. */ export declare const normaliseReportSeverity: (raw: string | undefined) => Severity; /** * True when a validation-report finding belongs to the named stack. Prefers * `templatePath` (canonical when the plugin reports against CFN templates), * falls back to `constructPath` which always starts with the enclosing * stack's construct ID for native annotations and construct-aware plugins. */ export declare const validationFindingMatchesStack: (stackName: string, finding: ValidationReportFinding) => boolean; export interface ApplyValidationReportFindingsParams { stackName: string; validationReportFindings: ValidationReportFinding[]; recommendationMap: Record; createIssueGroup: (resourceId: string) => IssueGroup; } /** * Folds CDK's validation-report findings into the in-progress recommendation * map for a single stack. Mutates `recommendationMap` in place. * * - CDK Insights' own plugin output is deduped against local rule findings: * matching local issues get `seenInSynth: true`. No new Issue is added — * the post-synth pipeline already produced the same finding. * - Findings from any other plugin (including the synthetic * `Construct Annotations` plugin that captures user-written * `Annotations.of(...).addError/Warning(...)` calls) become standalone * Issues in `sources.validationReport`. */ export declare const applyValidationReportFindings: ({ stackName, validationReportFindings, recommendationMap, createIssueGroup, }: ApplyValidationReportFindingsParams) => void;