/** * @angular-modernizer/plugin-angular - Promise vs Observable Anti-Pattern Rule * * Detects anti-patterns where Angular code converts RxJS Observables to Promises, * losing reactive programming benefits (cancellation, retry, composition). * * * Detection targets: * 1. .toPromise() calls in any class * 2. async component methods (async keyword on @Component methods) * 3. @Injectable methods returning Promise wrapping HttpClient * 4. Sequential awaits in the same method (parallelizable with combineLatest) */ import type { AnalysisRule, AnalysisContext, AnalysisResult } from '@angular-modernizer/plugin-system'; /** * Promise vs Observable Anti-Pattern Analysis Rule * * @example * ```typescript * const rule = new PromiseObservableAnalysisRule(); * const violations = await rule.analyze(context); * ``` */ export declare class PromiseObservableAnalysisRule implements AnalysisRule { readonly id = "angular:promise-vs-observable-anti-pattern"; readonly name = "Promise vs Observable Anti-Pattern"; readonly description = "Detects anti-patterns where Observables are converted to Promises, causing memory leaks and lost cancellation"; readonly severity: "warning"; readonly category = "rxjs"; readonly tags: string[]; analyze(context: AnalysisContext): Promise; private analyzeClass; private detectToPromiseCalls; private methodBodyContains; private countAwaitExpressions; private hasDecorator; } //# sourceMappingURL=promise-observable.analysis.rule.d.ts.map