/** * @angular-modernizer/plugin-angular - Type Safety Transform Rule * * Automatically adds missing type annotations to parameters, return types, * and class properties, replacing implicit `any` with `unknown`. * * This transformation follows the "Thin Rule, Thick Orchestrator" pattern: * - Rule: Thin wrapper (≤50 lines) delegating to orchestrator * - Orchestrator: Contains all business logic for transformation * * Guarantees: * - Idempotent: Safe to run multiple times (guards via getTypeNode() checks) * - Atomic: All or nothing per source file * - Reversible: Can be undone via git reset */ import type { TransformRule, TransformContext, TransformResult } from '@angular-modernizer/plugin-system'; import type { PublicApi } from '@angular-modernizer/api'; /** * Type Safety Transform Rule - adds missing type annotations. * * This is a thin wrapper that delegates all business logic to the * TypeSafetyTransformOrchestrator following the recommended pattern. * * @example * ```typescript * const rule = new TypeSafetyTransformRule(); * const context = ContextFactory.createTransformContext({ sourceFile, project, api }); * const result = await rule.transform(context); * * if (result.modified) { * console.info('Added missing type annotations'); * console.info(`Changes: ${result.changeCount}`); * } * ``` */ export declare class TypeSafetyTransformRule implements TransformRule { readonly id = "angular:type-safety-transform"; readonly name = "Type Safety Transform"; readonly description = "Adds missing type annotations to parameters, return types, and class properties"; readonly category = "modernization"; readonly tags: string[]; /** * Orchestrator instance containing all transformation business logic. * @private */ private readonly orchestrator; /** * Transforms source file by adding missing type annotations. * * @param context - Transform context with source file and PublicApi * @returns Transform result with modification status */ transform(context: TransformContext): Promise; } //# sourceMappingURL=type-safety.transform.rule.d.ts.map