/**
 * REPLAY - Comparator
 *
 * Compares replay results with original execution for
 * debugging, compliance audits, and policy impact analysis.
 */
import type { ID, ControlAction, Timestamp } from '../../common/types.js';
import type { ReplayResult, ComparisonReport } from './types.js';
export type { Difference, DifferenceType, DifferenceSeverity, ComparisonReport, PolicyComparison, TimingComparison, } from './types.js';
/**
 * Original execution result for comparison
 */
export interface OriginalExecution {
    intentId: ID;
    action: ControlAction;
    policiesApplied: Array<{
        policyId: ID;
        policyName: string;
        action: ControlAction;
        reason?: string;
    }>;
    trustScore: number;
    trustLevel: number;
    durationMs: number;
    evaluatedAt: Timestamp;
    metadata?: Record<string, unknown>;
}
/**
 * Options for comparison
 */
export interface ComparisonOptions {
    /** Threshold for significant timing difference (percentage) */
    timingThresholdPercent?: number;
    /** Include info-level differences */
    includeInfoDifferences?: boolean;
    /** Generate recommendations */
    generateRecommendations?: boolean;
}
/**
 * ReplayComparator - Compares replay results with original execution
 */
export declare class ReplayComparator {
    private readonly defaultTimingThreshold;
    /**
     * Compare a replay result with the original execution
     */
    compare(original: OriginalExecution, replay: ReplayResult, options?: ComparisonOptions): Promise<ComparisonReport>;
    /**
     * Compare policy applications
     */
    private comparePolicies;
    /**
     * Compare timing
     */
    private compareTiming;
    /**
     * Assess the impact of a decision change
     */
    private assessDecisionImpact;
    /**
     * Generate recommendations based on differences
     */
    private generateRecommendations;
    /**
     * Generate a summary text from a comparison report
     */
    summarize(report: ComparisonReport): string;
}
/**
 * Create a new ReplayComparator instance
 */
export declare function createReplayComparator(): ReplayComparator;
//# sourceMappingURL=comparator.d.ts.map