/** * @angular-modernizer/plugin-angular - Library Extraction Transform Rule * * Extracts Angular artifacts from shared folders into dedicated Angular libraries * with secondary entry points. Triggered by 'library-extraction' transformation type. * * Rule ID: refactor:library-extraction * Category: refactoring * * This is a thin rule — all business logic lives in LibraryExtractionOrchestrator * and its 5 collaborating classes. * * @example MCP usage: * ```json * { * "transformation": "library-extraction", * "options": { * "libraryName": "ui", * "libraryPrefix": "@myapp", * "artifacts": ["src/shared/ui/button.component.ts"], * "secondaryEntryPoints": ["button"], * "dryRun": false * } * } * ``` */ import type { TransformRule, TransformContext, TransformResult } from '@angular-modernizer/plugin-system'; import type { PublicApi } from '@angular-modernizer/api'; /** * Library Extraction Transform Rule. * * Extracts cohesive artifact groups into dedicated Angular libraries with * secondary entry points, updating all imports and build configs automatically. * * Options (passed via context.config / MCP 'options' field): * - libraryName: string (required) — e.g. 'ui' * - libraryPrefix: string (required) — e.g. '@myapp' * - artifacts: string[] (required) — file paths to migrate * - secondaryEntryPoints?: string[] — sub-library names * - libraryType?: 'angular-library' | 'folder-move' * - outputFolder?: string — default 'projects/' * - dryRun?: boolean — preview only (default false) */ export declare class LibraryExtractionTransformRule implements TransformRule { readonly id = "refactor:library-extraction"; readonly name = "Library Extraction"; readonly description = "Extracts Angular artifacts into dedicated libraries with secondary entry points"; readonly category = "refactoring"; readonly tags: string[]; private readonly orchestrator; transform(context: TransformContext): Promise; } //# sourceMappingURL=library-extraction.transform.rule.d.ts.map