import { ClassificationEvaluationConfig } from '../classification/classification-evaluator.js'; import { ClassificationMetrics, GraphClass } from '../classification/graph-classifier.js'; import { ConstrainedGeneratorConfig, GeneratedGraph } from './constrained-generator.js'; /** * Configuration for the generation evaluation. */ export interface GenerationEvaluationConfig { /** Number of graphs to generate per class (default: 20) */ graphsPerClass?: number; /** Constrained generator configuration */ generatorConfig?: ConstrainedGeneratorConfig; /** Classification training configuration */ classifierConfig?: ClassificationEvaluationConfig; } /** * Per-class generation metrics. */ export interface PerClassGenerationMetrics { /** Number of graphs generated */ total: number; /** Number correctly classified as target */ accepted: number; /** Acceptance rate (accepted / total) */ acceptanceRate: number; /** Mean classification confidence across all generated graphs */ meanConfidence: number; /** Mean attempts needed for accepted graphs */ meanAttempts: number; } /** * Full generation evaluation result. */ export interface GenerationEvaluationResult { /** Per-class generation metrics */ perClass: Record, PerClassGenerationMetrics>; /** Overall acceptance rate across all classes */ overallAcceptanceRate: number; /** Overall mean confidence */ overallMeanConfidence: number; /** Classification metrics from generated graphs (treated as test set) */ classificationMetrics: ClassificationMetrics; /** All generated graphs for inspection */ generatedGraphs: GeneratedGraph[]; } /** * Run the full generation evaluation pipeline. * * 1. Trains a classifier via the classification evaluation pipeline. * 2. Generates constrained graphs for each synthetic class. * 3. Computes acceptance rates, confidence, and classification metrics. * * @param config - Optional evaluation configuration * @returns Generation evaluation results with per-class and overall metrics */ export declare const runGenerationEvaluation: (config?: GenerationEvaluationConfig) => Promise; //# sourceMappingURL=generation-evaluator.d.ts.map