/**
 * Data quality scorer — evaluates session quality for training purposes.
 *
 * Scores sessions on multiple dimensions:
 * - Coherence: alternating user/assistant turns, no missing turns
 * - Informativeness: content length, variety
 * - Tool richness: diversity and success rate of tool calls
 * - Completeness: session reached a natural end (not abandoned)
 * - Complexity: from trace-analyzer
 *
 * Returns a 0-100 score with dimension breakdown.
 */
import type { Session } from '../history/sessions.js';
export interface QualityScore {
    /** Overall quality (0-100) */
    overall: number;
    /** Dimension scores (0-1 each) */
    dimensions: {
        coherence: number;
        informativeness: number;
        toolRichness: number;
        completeness: number;
        complexity: number;
    };
    /** Reasons for low scores */
    issues: string[];
}
/**
 * Score a session's quality for training purposes.
 */
export declare function scoreSession(session: Session): QualityScore;
export interface QualityReport {
    totalSessions: number;
    scoredSessions: number;
    averageQuality: number;
    medianQuality: number;
    distribution: {
        excellent: number;
        good: number;
        fair: number;
        poor: number;
    };
    averageDimensions: {
        coherence: number;
        informativeness: number;
        toolRichness: number;
        completeness: number;
        complexity: number;
    };
    topIssues: Array<{
        issue: string;
        count: number;
    }>;
}
export declare function aggregateQualityReport(scores: QualityScore[]): QualityReport;
