import type { RunSplitTag } from '../run-record';
import { type BeliefDecisionResearchEvidencePacket, type BuildBeliefDecisionResearchEvidencePacketOptions } from './research-evidence';
import { type RuntimeBeliefDecisionPoint, type RuntimeBeliefHookEvent } from './runtime-hooks';
import type { BeliefDecisionOutcome, BeliefDecisionPoint } from './types';
export interface RuntimeBeliefPhase0RunRecord {
    runId: string;
    scenarioId?: string;
    splitTag: RunSplitTag;
}
export interface RuntimeBeliefDecisionLabel {
    decisionId: string;
    chosenAction: string;
    outcome: BeliefDecisionOutcome;
    confidence?: number;
    behaviorProb?: number;
    targetProb?: number;
    qHat?: number | null;
    costUsd?: number;
    splitTag?: RunSplitTag;
    metadata?: Record<string, unknown>;
}
export interface BuildRuntimeBeliefPhase0MeasurementOptions extends Omit<BuildBeliefDecisionResearchEvidencePacketOptions, 'points'> {
    runs: RuntimeBeliefPhase0RunRecord[];
    decisions: RuntimeBeliefDecisionPoint[];
    events?: RuntimeBeliefHookEvent[];
    labels: RuntimeBeliefDecisionLabel[];
    baselinePolicyId?: string;
}
export interface RuntimeBeliefPhase0MeasurementSummary {
    runCount: number;
    producerDecisionCount: number;
    lifecycleEventCount: number;
    labelCount: number;
    completedPointCount: number;
    runJoinRate: number;
    labelJoinRate: number;
    missingRunRecordCount: number;
    missingLabelCount: number;
    withEvidence: number;
    withOutcome: number;
    withSplit: number;
    withBehaviorProb: number;
    withTargetProb: number;
    baselinePolicyId: string;
    packetStatus: BeliefDecisionResearchEvidencePacket['status'];
    claimScope: BeliefDecisionResearchEvidencePacket['claimScope'];
}
export interface RuntimeBeliefPhase0Measurement {
    points: BeliefDecisionPoint[];
    packet: BeliefDecisionResearchEvidencePacket;
    summary: RuntimeBeliefPhase0MeasurementSummary;
    diagnostics: string[];
}
export declare function buildRuntimeBeliefPhase0Measurement(options: BuildRuntimeBeliefPhase0MeasurementOptions): RuntimeBeliefPhase0Measurement;
//# sourceMappingURL=phase0-measurement.d.ts.map