import type { AnalysisResults, CloudFormationStack, CreateFindingFunction, RuleContext } from '../../../../../types/analysis.types'; /** * Flags Lambda functions pinned to a "variable" runtime — `Runtime.NODEJS_LATEST` * or `NodejsFunction`'s `useLatestRuntimeVersion`. These resolve to whatever the * newest runtime is at synth time (e.g. nodejs24.x after aws-cdk-lib 2.259), so a * CDK upgrade silently changes the deployed runtime *in place* on the next * deploy — an unvalidated runtime change teams didn't choose to make. * * The signal (`runtime.isVariable`) lives on the L2 `Function` construct and * never reaches the synthesized template, so this rule reads the * `__usesVariableRuntime` flag captured by the cdk-insights aspect. It therefore * only fires when the aspect is wired (via `cdk-insights setup`); a bare * `cdk synth` + scan has no way to distinguish a variable runtime from a pinned * one. */ export declare const checkLambdaVariableRuntime: (template: CloudFormationStack, createFinding: CreateFindingFunction, ruleContext?: RuleContext) => AnalysisResults;