/** * FrameworkRegistry — resolves which FrameworkBuilder handles an application. * * Builders are registered with a priority (lower = higher precedence) and * checked in order. The first builder whose `detect()` returns `detected: true` * wins. A config override bypasses detection and forces selection by name. */ import type { FrameworkBuilder, FrameworkDetection, DetectionContext } from "../../types/frameworkBuilder.js"; /** Result of resolving a builder for an application */ export interface ResolvedBuilder { readonly builder: FrameworkBuilder; readonly detection: FrameworkDetection; } export declare class FrameworkRegistry { private readonly builders; private constructor(); /** Resolve which builder handles this app */ resolve(context: DetectionContext, configOverride?: string): ResolvedBuilder | null; /** Create a registry with all built-in builders */ static createDefault(): FrameworkRegistry; /** Create with custom builders (for testing) */ static create(builders: FrameworkBuilder[]): FrameworkRegistry; }