export interface ProjectIntelligence {
    codebaseAwareness: CodebaseMap;
    architecturalPatterns: ArchitecturalPattern[];
    domainKnowledge: DomainKnowledge;
    historicalDecisions: DecisionRecord[];
}
export interface CodebaseMap {
    files: FileMetadata[];
    dependencies: DependencyGraph;
    componentHierarchy: ComponentHierarchy;
    apiEndpoints: APIEndpoint[];
}
export interface ArchitecturalPattern {
    id: string;
    name: string;
    pattern: string;
    frequency: number;
    confidence: number;
    examples: string[];
    context: string;
}
export interface DomainKnowledge {
    businessTerms: BusinessTerm[];
    userPersonas: UserPersona[];
    workflows: BusinessWorkflow[];
    rules: BusinessRule[];
}
export interface DecisionRecord {
    id: string;
    decision: string;
    reasoning: string;
    alternatives: string[];
    timestamp: Date;
    context: Record<string, any>;
    outcome?: string;
}
export interface FileMetadata {
    path: string;
    type: "component" | "page" | "api" | "utility" | "test" | "config";
    language: string;
    complexity: number;
    dependencies: string[];
    exports: string[];
    patterns: string[];
    lastModified: Date;
}
export declare class ProjectIntelligenceEngine {
    private projectPath;
    private intelligence;
    constructor(projectPath?: string);
    analyzeProject(): Promise<ProjectIntelligence>;
    private analyzeCodebase;
    private analyzeFile;
    private detectFileType;
    private detectLanguage;
    private calculateComplexity;
    private extractDependencies;
    private extractExports;
    private detectPatterns;
    private analyzeAPIRoutes;
    private extractHTTPMethods;
    private convertFilePathToRoute;
    private extractMiddleware;
    private extractParameters;
    private extractPatterns;
    private findPatternExamples;
    private determinePatternContext;
    private extractDomainKnowledge;
    private extractFromPRD;
    private extractFromTypes;
    private extractFromBrand;
    private loadHistoricalDecisions;
    recordDecision(decision: Omit<DecisionRecord, "id" | "timestamp">): Promise<void>;
    private saveHistoricalDecisions;
    private saveIntelligenceCache;
    getRecommendations(): Promise<string[]>;
}
interface APIEndpoint {
    path: string;
    methods: string[];
    file: string;
    middleware: string[];
    parameters: string[];
}
interface ComponentHierarchy {
    [componentName: string]: {
        children: string[];
        parent?: string;
        props: string[];
    };
}
interface DependencyGraph {
    [fileName: string]: string[];
}
interface BusinessTerm {
    term: string;
    definition: string;
    context: string;
    aliases: string[];
}
interface UserPersona {
    name: string;
    description: string;
    needs: string[];
    behaviors: string[];
}
interface BusinessWorkflow {
    id: string;
    name: string;
    steps: WorkflowStep[];
    actors: string[];
}
interface WorkflowStep {
    id: string;
    action: string;
    actor: string;
    condition?: string;
}
interface BusinessRule {
    id: string;
    rule: string;
    description: string;
    scope: string;
    priority: "low" | "medium" | "high";
}
export {};
//# sourceMappingURL=ProjectIntelligence.d.ts.map