/**
 * Weight Adjuster (ADR-031 Phase 2)
 *
 * Calculates adjusted agent weights from telemetry outcome records.
 * Uses exponential moving average (EMA) for gradual weight adaptation.
 *
 * Weight adjustments are written to a separate overlay file
 * (docs/ecosystem.graph.weights.json) that does not modify the
 * curated base graph.
 */
import type { OutcomeRecord } from './outcome-recorder.js';
import type { WeightedAgent } from './weighted-resolver.js';
export interface WeightOverlay {
    readonly generated_at: string;
    readonly total_outcomes: number;
    readonly adjustments: readonly WeightAdjustment[];
}
export interface WeightAdjustment {
    readonly capability: string;
    readonly agent: string;
    readonly original_weight: number;
    readonly adjusted_weight: number;
    readonly success_rate: number;
    readonly usage_rate: number;
    readonly sample_count: number;
}
/**
 * Calculate adjusted weights for agents in a capability based on outcomes.
 *
 * Uses exponential moving average:
 *   new_weight = old_weight * (1 - alpha) + observed_score * alpha
 *
 * Requires minimum sample count before adjusting.
 */
export declare function calculateAdjustedWeights(capability: string, agents: readonly WeightedAgent[], outcomes: readonly OutcomeRecord[]): WeightAdjustment[];
/**
 * Write weight adjustments to the overlay file.
 * Does NOT modify the base ecosystem.graph.json.
 */
export declare function writeWeightOverlay(adjustments: readonly WeightAdjustment[], totalOutcomes: number, options?: {
    basePath?: string;
}): string;
/**
 * Load weight adjustments from the overlay file.
 * Returns null if the file doesn't exist.
 */
export declare function loadWeightOverlay(options?: {
    basePath?: string;
}): WeightOverlay | null;
/**
 * Apply weight overlay adjustments to a set of agents.
 * Returns agents with updated weights from the overlay.
 */
export declare function applyWeightOverlay(capability: string, agents: readonly WeightedAgent[], overlay: WeightOverlay): WeightedAgent[];
/**
 * Format weight adjustments as a human-readable report.
 */
export declare function formatAdjustmentReport(adjustments: readonly WeightAdjustment[]): string;
//# sourceMappingURL=weight-adjuster.d.ts.map