/** * @angular-modernizer/plugin-angular - Static Extract Transform Orchestrator */ import type { TransformContext } from '@angular-modernizer/plugin-system'; import type { PublicApi } from '@angular-modernizer/api'; export interface StaticExtractResult { extractedCount: number; inFileRefsUpdated: number; crossFileCallersUpdated: number; skipped: boolean; skipReason?: string; } /** * StaticExtractTransformOrchestrator * * For each class in the file that mixes public static methods with instance * state, extracts the public static methods to module-level functions inserted * immediately above the class, then removes them from the class body. * * Intra-file ClassName.method() references are rewritten to bare method(). * * Idempotency: After extraction the class no longer has static methods, so a * second run finds no violations and makes no changes. */ export declare class StaticExtractTransformOrchestrator { run(context: TransformContext): StaticExtractResult; private isEligible; private methodToFunction; private rewriteIntraFileRefs; /** Low-level: rewrites `ClassName.name` → `name` for all names in the set. */ private rewritePropertyAccesses; /** * Updates all other project files that import ClassName from the transformed file: * - Removes the `ClassName` named import. * - Adds a named import for each extracted function. * - Rewrites `ClassName.method` call sites to bare `method` references. * * Skips aliased imports (`import { Cls as Alias }`) and .d.ts files. */ private rewriteCrossFileCallers; } //# sourceMappingURL=static-extract-transform.orchestrator.d.ts.map