export interface FrameworkPattern {
    framework: string;
    files: string[];
    dependencies?: string[];
    devDependencies?: string[];
    content?: ContentPattern[];
    structure?: string[];
    priority: number;
    variants?: VariantPattern[];
}
export interface ContentPattern {
    file: string;
    pattern: RegExp;
    weight: number;
}
export interface VariantPattern {
    name: string;
    dependencies?: string[];
    files?: string[];
    content?: ContentPattern[];
}
export interface DetectedFramework {
    framework: string;
    version?: string;
    variant?: string;
    confidence: number;
}
export interface FrameworkDetectionResult {
    primary?: DetectedFramework;
    secondary: DetectedFramework[];
    allDetected: DetectedFramework[];
}
export declare class FrameworkDetector {
    private projectPath;
    private patterns;
    constructor(projectPath: string);
    private initializePatterns;
    detectFrameworks(): Promise<FrameworkDetectionResult>;
    private calculateConfidence;
    private detectVersion;
    private detectVariant;
    private fileExists;
    private directoryExists;
    private readPackageJson;
    private readLockFile;
    private checkContentPattern;
    private cleanVersion;
    private extractVersionFromLock;
}
//# sourceMappingURL=frameworkDetector.d.ts.map