import type { BeliefDecisionKind, BeliefDecisionOutcome, BeliefDecisionPoint, BeliefEvidenceQuality } from './types';
export interface BeliefShadowProbeInput {
    probeId: string;
    decisionId: string;
    runId: string;
    scenarioId?: string;
    stepIndex: number;
    decisionKind: BeliefDecisionKind;
    candidateActions: string[];
    observedAction?: string;
    evidence: BeliefShadowProbeEvidenceRef[];
    context?: string;
    metadata?: Record<string, unknown>;
}
export interface BeliefShadowProbeEvidenceRef {
    id: string;
    source: string;
    detail?: string;
    quality?: BeliefEvidenceQuality;
}
export interface BeliefShadowProbeResponse {
    predictedAction: string;
    confidence: number;
    beliefSummary?: string;
    uncertainty?: string[];
    evidenceRefs?: string[];
    wouldChangeMindIf?: string[];
    targetProb?: number;
    qHat?: number | null;
    metadata?: Record<string, unknown>;
}
export interface BeliefShadowProbeRecord extends BeliefShadowProbeResponse {
    probeId: string;
    decisionId: string;
    runId: string;
    scenarioId?: string;
    stepIndex: number;
    decisionKind: BeliefDecisionKind;
    candidateActions: string[];
    observedAction: string;
    agreesWithObservedAction: boolean;
    outcome?: BeliefDecisionOutcome;
}
export interface BeliefShadowProbeDiagnostic {
    decisionId: string;
    severity: 'warning' | 'error';
    reason: string;
}
export interface BeliefShadowProbeSummary {
    attempted: number;
    completed: number;
    dropped: number;
    withOutcome: number;
    withTargetProb: number;
    meanConfidence: number | null;
    observedAgreementRate: number | null;
}
export interface BeliefShadowProbeRun {
    probeId: string;
    records: BeliefShadowProbeRecord[];
    diagnostics: BeliefShadowProbeDiagnostic[];
    summary: BeliefShadowProbeSummary;
}
export interface RunBeliefShadowProbeOptions {
    probeId: string;
    points: BeliefDecisionPoint[];
    probe: (input: BeliefShadowProbeInput) => BeliefShadowProbeResponse | Promise<BeliefShadowProbeResponse>;
    contextOf?: (point: BeliefDecisionPoint) => string | undefined | Promise<string | undefined>;
    metadataOf?: (point: BeliefDecisionPoint) => Record<string, unknown> | undefined | Promise<Record<string, unknown> | undefined>;
    includeObservedAction?: boolean;
    includeEvidenceDetail?: boolean;
    includeOutcomeInRecord?: boolean;
    requireCandidateActions?: boolean;
    allowOutOfSetActions?: boolean;
    concurrency?: number;
    maxContextChars?: number;
}
export declare function runBeliefShadowProbe(options: RunBeliefShadowProbeOptions): Promise<BeliefShadowProbeRun>;
export declare function formatBeliefShadowProbePrompt(input: BeliefShadowProbeInput): string;
//# sourceMappingURL=shadow-probe.d.ts.map