/**
 * Architecture Evidence Collection System for Epic 2: Smart Platform Detection Engine
 * Specialized evidence collection and reasoning for platform architecture detection
 * Part of Task 2.1.4: Add architecture-specific evidence collection and reasoning
 */
import { ArchitectureEvidence, DetectionAnalysisContext, PlatformFeature } from './detection-types';
/**
 * Evidence collection configuration
 */
export interface EvidenceCollectionConfig {
    /** Whether to collect detailed table analysis evidence */
    detailedTableAnalysis: boolean;
    /** Whether to analyze column naming patterns */
    analyzeColumnPatterns: boolean;
    /** Whether to examine relationship patterns */
    analyzeRelationships: boolean;
    /** Whether to inspect business logic functions */
    analyzeBusinessLogic: boolean;
    /** Maximum evidence items to collect per type */
    maxEvidencePerType: number;
    /** Minimum confidence threshold for evidence inclusion */
    minEvidenceConfidence: number;
}
/**
 * Evidence reasoning and analysis result
 */
export interface EvidenceAnalysisResult {
    /** All collected evidence */
    evidence: ArchitectureEvidence[];
    /** Architecture confidence scores based on evidence */
    architectureScores: {
        individual: number;
        team: number;
        hybrid: number;
    };
    /** Platform features detected from evidence */
    platformFeatures: PlatformFeature[];
    /** Detailed reasoning for architecture determination */
    reasoning: string[];
    /** Confidence in the overall analysis */
    overallConfidence: number;
    /** Warnings about evidence quality or conflicts */
    warnings: string[];
}
/**
 * Individual platform evidence patterns
 */
export declare class IndividualEvidenceCollector {
    /**
     * Collect evidence pointing to individual creator platform architecture
     */
    collectIndividualEvidence(context: DetectionAnalysisContext, config: EvidenceCollectionConfig): Promise<ArchitectureEvidence[]>;
    private collectUserCentricEvidence;
    private collectSimpleAccountEvidence;
    private collectPersonalContentEvidence;
    private collectLimitedCollaborationEvidence;
    private filterAndRankEvidence;
}
/**
 * Team platform evidence patterns
 */
export declare class TeamEvidenceCollector {
    /**
     * Collect evidence pointing to team collaboration platform architecture
     */
    collectTeamEvidence(context: DetectionAnalysisContext, config: EvidenceCollectionConfig): Promise<ArchitectureEvidence[]>;
    private collectTeamStructureEvidence;
    private collectMemberManagementEvidence;
    private collectWorkspaceEvidence;
    private collectPermissionSystemEvidence;
    private filterAndRankEvidence;
}
/**
 * Hybrid platform evidence patterns
 */
export declare class HybridEvidenceCollector {
    /**
     * Collect evidence pointing to hybrid platform architecture
     */
    collectHybridEvidence(context: DetectionAnalysisContext, config: EvidenceCollectionConfig): Promise<ArchitectureEvidence[]>;
    private collectFlexibleAccountEvidence;
    private collectMixedOwnershipEvidence;
    private collectScalablePermissionEvidence;
    private collectDualCapabilityEvidence;
    private filterAndRankEvidence;
}
/**
 * Main evidence collection orchestrator
 */
export declare class ArchitectureEvidenceCollector {
    private individualCollector;
    private teamCollector;
    private hybridCollector;
    constructor();
    /**
     * Collect comprehensive evidence for all architecture types
     */
    collectAllEvidence(context: DetectionAnalysisContext, config?: Partial<EvidenceCollectionConfig>): Promise<EvidenceAnalysisResult>;
    /**
     * Calculate architecture confidence scores based on collected evidence
     */
    private calculateArchitectureScores;
    /**
     * Extract platform features from evidence
     */
    private extractPlatformFeatures;
    /**
     * Generate human-readable reasoning for architecture determination
     */
    private generateReasoning;
    /**
     * Calculate overall confidence in the analysis
     */
    private calculateOverallConfidence;
    /**
     * Generate warnings about evidence quality or conflicts
     */
    private generateWarnings;
}
/**
 * Default evidence collection configuration
 */
export declare const DEFAULT_EVIDENCE_CONFIG: EvidenceCollectionConfig;
//# sourceMappingURL=evidence-collector.d.ts.map