import type { CalibrationReport } from '../meta-eval/calibration';
import type { OffPolicyEstimate } from '../rl/off-policy';
export declare const BELIEF_DECISION_KINDS: readonly ["continue", "verify", "ask", "retry", "stop", "memory-write", "memory-read", "tool-select", "skill-select", "workflow-select", "surface-promote"];
export type BeliefDecisionKind = (typeof BELIEF_DECISION_KINDS)[number];
export declare const BELIEF_EVIDENCE_SOURCES: readonly ["run", "span", "event", "finding", "memory", "knowledge", "policy"];
export type BeliefEvidenceSource = (typeof BELIEF_EVIDENCE_SOURCES)[number];
export declare const BELIEF_EVIDENCE_QUALITIES: readonly ["direct", "derived", "self-reported", "unverified", "stale", "contradicted"];
export type BeliefEvidenceQuality = (typeof BELIEF_EVIDENCE_QUALITIES)[number];
export declare const BELIEF_EVALUATION_CRITERIA: readonly [{
    readonly id: "capture-integrity";
    readonly label: "Capture integrity";
    readonly reasonCodes: readonly ["trace-missing", "run-record-missing", "backend-integrity-missing"];
}, {
    readonly id: "decision-completeness";
    readonly label: "Decision completeness";
    readonly reasonCodes: readonly ["candidate-actions-missing", "chosen-action-missing", "decision-evidence-missing"];
}, {
    readonly id: "evidence-quality";
    readonly label: "Evidence quality";
    readonly reasonCodes: readonly ["evidence-stale", "evidence-contradictory", "evidence-unverified", "evidence-self-reported"];
}, {
    readonly id: "outcome-quality";
    readonly label: "Outcome quality";
    readonly reasonCodes: readonly ["outcome-missing", "outcome-delayed", "cost-missing"];
}, {
    readonly id: "calibration";
    readonly label: "Calibration";
    readonly reasonCodes: readonly ["confidence-missing", "calibration-unsupported", "calibration-gap-high"];
}, {
    readonly id: "accepted-region-risk";
    readonly label: "Accepted-region risk";
    readonly reasonCodes: readonly ["accepted-error-high", "coverage-too-low"];
}, {
    readonly id: "policy-value";
    readonly label: "Policy value";
    readonly reasonCodes: readonly ["utility-lift-missing", "baseline-dominates", "cost-too-high"];
}, {
    readonly id: "ope-support";
    readonly label: "OPE support";
    readonly reasonCodes: readonly ["behavior-propensity-missing", "behavior-propensity-invalid", "target-propensity-missing", "target-propensity-invalid", "effective-sample-size-low", "importance-weight-high"];
}, {
    readonly id: "memory-health";
    readonly label: "Memory health";
    readonly reasonCodes: readonly ["memory-stale", "memory-poisoning-risk", "context-bloat", "memory-write-unverified"];
}, {
    readonly id: "surface-attribution";
    readonly label: "Surface attribution";
    readonly reasonCodes: readonly ["surface-claim-unsupported", "causal-attribution-missing"];
}, {
    readonly id: "generalization";
    readonly label: "Generalization";
    readonly reasonCodes: readonly ["split-missing", "holdout-regression", "task-family-coverage-low", "leakage-risk"];
}, {
    readonly id: "promotion";
    readonly label: "Promotion";
    readonly reasonCodes: readonly ["negative-control-failed", "promotion-gate-failed", "human-review-required"];
}];
export type BeliefEvaluationCriterionId = (typeof BELIEF_EVALUATION_CRITERIA)[number]['id'];
export type BeliefDecisionReasonCode = (typeof BELIEF_EVALUATION_CRITERIA)[number]['reasonCodes'][number];
export interface BeliefDecisionReason {
    code: BeliefDecisionReasonCode;
    criterion?: BeliefEvaluationCriterionId;
    detail?: string;
    evidenceIds?: string[];
    metadata?: Record<string, unknown>;
}
export declare function isBeliefDecisionKind(value: unknown): value is BeliefDecisionKind;
export declare function isBeliefEvidenceSource(value: unknown): value is BeliefEvidenceSource;
export interface BeliefEvidenceRef {
    source: BeliefEvidenceSource;
    id: string;
    runId?: string;
    spanId?: string;
    eventId?: string;
    detail?: string;
    quality?: BeliefEvidenceQuality;
    observedAt?: string;
    metadata?: Record<string, unknown>;
}
export interface BeliefDecisionOutcome {
    success?: boolean;
    score?: number;
    reward?: number;
    costUsd?: number;
    observedAt?: string;
    metadata?: Record<string, unknown>;
}
export interface BeliefDecisionPoint {
    id: string;
    runId: string;
    scenarioId?: string;
    stepIndex: number;
    kind: BeliefDecisionKind;
    chosenAction: string;
    candidateActions?: string[];
    confidence?: number;
    behaviorProb?: number;
    targetProb?: number;
    qHat?: number | null;
    costUsd?: number;
    evidence: BeliefEvidenceRef[];
    outcome?: BeliefDecisionOutcome;
    reasons?: BeliefDecisionReason[];
    metadata?: Record<string, unknown>;
}
export interface BeliefDecisionExtractionDiagnostic {
    runId: string;
    eventId?: string;
    severity: 'info' | 'warning' | 'error';
    reason: string;
}
export interface BeliefDecisionExtractionReport {
    decisions: BeliefDecisionPoint[];
    diagnostics: BeliefDecisionExtractionDiagnostic[];
}
export type BeliefPolicyAction = 'accept' | 'defer' | 'verify' | 'ask' | 'retry' | 'stop';
export interface BeliefPolicyDecision {
    action: BeliefPolicyAction;
    confidence?: number;
    targetProb?: number;
    qHat?: number | null;
    reason?: string;
    reasons?: BeliefDecisionReason[];
}
export interface BeliefSelectivePolicy {
    id: string;
    decide(point: BeliefDecisionPoint): BeliefPolicyDecision;
}
export interface BeliefOpeTargetPolicy {
    id: string;
    targetProbOf(point: BeliefDecisionPoint): number | null | undefined;
    qHatOf?(point: BeliefDecisionPoint): number | null | undefined;
}
export interface BeliefUtilityOptions {
    successUtility?: number;
    failureUtility?: number;
    deferUtility?: number;
    verifyCost?: number;
    askCost?: number;
    retryCost?: number;
    stopUtility?: number;
    costWeight?: number;
}
export interface BeliefSelectivePolicyMetrics {
    policyId: string;
    n: number;
    accepted: number;
    rejected: number;
    coverage: number;
    acceptedErrorRate: number;
    baselineUtility: number;
    policyUtility: number;
    utilityDelta: number;
    utilityCi95: {
        mean: number;
        lower: number;
        upper: number;
    };
    rejectedMeanReward: number | null;
    recommendation: 'ship' | 'hold' | 'need_more_data';
    reasons: string[];
}
export interface BeliefOpeSupportDiagnostics {
    supported: boolean;
    n: number;
    dropped: number;
    effectiveSampleSize: number;
    effectiveSampleRatio: number;
    maxImportanceWeight: number;
    reasons: string[];
}
export interface BeliefOpeReport {
    targetPolicyId: string;
    ips: OffPolicyEstimate;
    snips: OffPolicyEstimate;
    dr: OffPolicyEstimate;
    support: BeliefOpeSupportDiagnostics;
}
export type BeliefEvaluationStatus = 'ship' | 'hold' | 'need_more_data';
export type BeliefCalibrationStatus = 'supported' | 'unsupported';
export type BeliefOpeStatus = 'supported' | 'unsupported' | 'not_requested';
export interface BeliefPolicyEvaluationReport {
    policyId: string;
    n: number;
    status: BeliefEvaluationStatus;
    selectiveStatus: BeliefEvaluationStatus;
    calibrationStatus: BeliefCalibrationStatus;
    opeStatus: BeliefOpeStatus;
    opeTargetPolicyId?: string;
    selective: BeliefSelectivePolicyMetrics;
    calibration?: CalibrationReport;
    ope?: BeliefOpeReport;
    diagnostics: string[];
}
//# sourceMappingURL=types.d.ts.map