/** * @angular-modernizer/plugin-angular - Immutable Input Violation Rule * * Detects when @Input properties are mutated in Angular components, which breaks * OnPush change detection. OnPush requires immutable input properties - when inputs * are mutated, change detection won't trigger even though the data has changed. * * Detection Patterns: * - Direct mutation of @Input properties (input.prop = value) * - Nested property mutation of @Input objects (input.nested.prop = value) * - Array mutation of @Input arrays (input.push(), input.splice(), etc.) * - Method calls that mutate @Input properties * * This rule is critical for OnPush change detection to work properly. */ import type { AnalysisRule, AnalysisContext, AnalysisResult } from '@angular-modernizer/plugin-system'; /** * Immutable Input Violation Rule - detects mutation of @Input properties. */ export declare class ImmutableInputViolationRule implements AnalysisRule { readonly id = "angular:immutable-input-violation"; readonly name = "Immutable Input Violation"; readonly description = "Detects when @Input properties are mutated, breaking OnPush change detection"; readonly severity = "error"; readonly category = "angular-performance"; readonly tags: string[]; analyze(context: AnalysisContext): Promise; private analyzeComponent; private isAngularComponent; private getInputProperties; private analyzeMethodForInputMutations; private analyzePropertyForInputMutations; } //# sourceMappingURL=angular-immutable-input-violation.rule.d.ts.map