import { ProjectIntelligence } from "../intelligence/ProjectIntelligence";
export interface CrossProjectLearning {
    patterns: LearnedPattern[];
    bestPractices: BestPractice[];
    commonIssues: CommonIssue[];
    recommendations: Recommendation[];
}
export interface LearnedPattern {
    id: string;
    name: string;
    description: string;
    frequency: number;
    confidence: number;
    projects: string[];
    context: string[];
    benefits: string[];
    implementation: PatternImplementation;
    related: string[];
}
export interface PatternImplementation {
    code: string;
    dependencies: string[];
    setup: string[];
    examples: string[];
}
export interface BestPractice {
    id: string;
    category: "performance" | "security" | "accessibility" | "maintainability" | "testing";
    title: string;
    description: string;
    evidence: Evidence[];
    adoptionRate: number;
    impact: "low" | "medium" | "high";
    difficulty: "easy" | "medium" | "hard";
}
export interface Evidence {
    projectId: string;
    metrics: Record<string, number>;
    outcome: string;
    timestamp: string;
}
export interface CommonIssue {
    id: string;
    type: "bug" | "performance" | "security" | "accessibility";
    pattern: string;
    frequency: number;
    severity: "low" | "medium" | "high" | "critical";
    solutions: Solution[];
    prevention: string[];
}
export interface Solution {
    approach: string;
    successRate: number;
    timeToResolve: string;
    code: string;
    notes: string;
}
export interface Recommendation {
    id: string;
    type: "pattern" | "tool" | "practice" | "architecture";
    title: string;
    description: string;
    reasoning: string;
    confidence: number;
    urgency: "low" | "medium" | "high";
    context: string[];
}
export declare class CrossProjectLearningEngine implements CrossProjectLearning {
    patterns: LearnedPattern[];
    bestPractices: BestPractice[];
    commonIssues: CommonIssue[];
    recommendations: Recommendation[];
    private learningDatabase;
    private projectId;
    constructor(projectPath?: string);
    learnFromCommunity(): Promise<CrossProjectLearning>;
    contributeToNetwork(projectIntelligence: ProjectIntelligence): Promise<void>;
    private loadLearningDatabase;
    private initializeLearningDatabase;
    private analyzePatterns;
    private generateBestPractices;
    private identifyCommonIssues;
    private generateRecommendations;
    private getCurrentProjectPatterns;
    private generateToolRecommendations;
    private extractPatternsFromProject;
    private updatePatternStatistics;
    private recordProjectOutcomes;
    private calculateAverageComplexity;
    private projectImplementsPractice;
    private generateProjectId;
    private saveLearningDatabase;
    getRecommendationsForProject(): Promise<Recommendation[]>;
    getPatternSuggestions(category?: string): Promise<LearnedPattern[]>;
    getBestPracticesFor(category: BestPractice["category"]): Promise<BestPractice[]>;
    getCommonIssuesPreventionList(): Promise<string[]>;
    generateLearningReport(): Promise<string>;
}
//# sourceMappingURL=CrossProjectLearning.d.ts.map