import { type SchemaChange } from '../../../../constants/cdkSchemaChanges'; import type { AnalysisResults, CloudFormationStack, CreateFindingFunction } from '../../../../types/analysis.types'; import type { RuleRegistry } from '../../../../types/rules.types'; type RuleRegistryLike = RuleRegistry; type SchemaChangeRegistry = Record; /** * Two finding kinds share the same registry and traversal: * - `regression`: a previously-readable property was removed or renamed, * so an existing rule may have silently lost coverage. * - `coverage-gap`: a new property was added on a resource type we already * have rules for, so a maintainer should *consider* whether a rule should * evaluate it. Lower urgency, lower noise — only fires for resource types * already on our radar. */ export type SchemaDriftKind = 'regression' | 'coverage-gap'; /** * Inner function exposed for unit tests so cdkVersion and the registries can be * injected directly. Production callers should use the named wrapper for the * specific finding kind they want to surface. * * @param kind - Which finding category to emit. Defaults to `regression` for * backwards compatibility with the original single-kind behaviour. */ export declare const findSchemaDriftFindings: (template: CloudFormationStack, createFinding: CreateFindingFunction, cdkVersion: string | null, kind?: SchemaDriftKind, schemaChanges?: SchemaChangeRegistry, rules?: RuleRegistryLike) => AnalysisResults; /** * Template-level check: surface known L1 schema-drift events that may have * silently invalidated rule coverage in the user's CDK version (removed or * renamed properties on covered resource types). * * Silent fallback when the user's aws-cdk-lib version cannot be resolved. */ export declare const checkSchemaDrift: (template: CloudFormationStack, createFinding: CreateFindingFunction) => AnalysisResults; /** * Template-level check: surface newly-added L1 properties on resource types * already covered by cdk-insights rules. Hint to maintainers/users that a new * rule may be worth opening — not a regression. * * Silent fallback when the user's aws-cdk-lib version cannot be resolved. */ export declare const checkSchemaDriftCoverageGaps: (template: CloudFormationStack, createFinding: CreateFindingFunction) => AnalysisResults; export {};