import type { BeliefShadowProbeInput } from './shadow-probe';
import type { BeliefDecisionKind, BeliefDecisionOutcome, BeliefDecisionPoint, BeliefEvidenceQuality } from './types';
export interface RuntimeBeliefDecisionEvidenceRef {
    source: string;
    id: string;
    detail?: string;
    quality?: BeliefEvidenceQuality;
    metadata?: Record<string, unknown>;
}
export interface RuntimeBeliefDecisionPoint {
    id: string;
    runId: string;
    scenarioId?: string;
    stepIndex: number;
    kind: string;
    candidateActions?: string[];
    context?: string;
    evidence?: RuntimeBeliefDecisionEvidenceRef[];
    metadata?: Record<string, unknown>;
}
export interface RuntimeBeliefHookEvent {
    id: string;
    runId: string;
    scenarioId?: string;
    target: string;
    phase: string;
    timestamp: number;
    stepIndex?: number;
    parentId?: string;
    payload?: unknown;
    metadata?: Record<string, unknown>;
}
export interface RuntimeBeliefHookContext {
    signal?: AbortSignal;
}
export interface RuntimeBeliefHooks {
    onEvent?: (event: RuntimeBeliefHookEvent, context: RuntimeBeliefHookContext) => void | Promise<void>;
    onDecisionPoint?: (point: RuntimeBeliefDecisionPoint, context: RuntimeBeliefHookContext) => void | Promise<void>;
}
export interface RuntimeBeliefConversionDiagnostic {
    decisionId: string;
    severity: 'warning' | 'error';
    reason: string;
}
export interface RuntimeBeliefShadowProbeInputOptions {
    probeId: string;
    decisionKind?: BeliefDecisionKind;
    includeEvidenceDetail?: boolean;
    includeLifecycleEvidence?: boolean;
    lifecycleEvents?: RuntimeBeliefHookEvent[];
    maxContextChars?: number;
}
export interface RuntimeBeliefDecisionPointOptions {
    chosenAction?: string;
    decisionKind?: BeliefDecisionKind;
    confidence?: number;
    behaviorProb?: number;
    targetProb?: number;
    qHat?: number | null;
    costUsd?: number;
    outcome?: BeliefDecisionOutcome;
    metadata?: Record<string, unknown>;
    includeLifecycleEvidence?: boolean;
    lifecycleEvents?: RuntimeBeliefHookEvent[];
}
export interface RuntimeBeliefShadowProbeInputReport {
    input?: BeliefShadowProbeInput;
    diagnostics: RuntimeBeliefConversionDiagnostic[];
}
export interface RuntimeBeliefDecisionPointReport {
    point?: BeliefDecisionPoint;
    diagnostics: RuntimeBeliefConversionDiagnostic[];
}
export interface BeliefRuntimeHookCollector {
    hooks: RuntimeBeliefHooks;
    decisions: RuntimeBeliefDecisionPoint[];
    events: RuntimeBeliefHookEvent[];
    toShadowProbeInputs(options?: Partial<RuntimeBeliefShadowProbeInputOptions>): {
        inputs: BeliefShadowProbeInput[];
        diagnostics: RuntimeBeliefConversionDiagnostic[];
    };
    clear(): void;
}
export declare function runtimeDecisionPointToBeliefShadowProbeInput(point: RuntimeBeliefDecisionPoint, options: RuntimeBeliefShadowProbeInputOptions): RuntimeBeliefShadowProbeInputReport;
export declare function runtimeDecisionPointToBeliefDecisionPoint(point: RuntimeBeliefDecisionPoint, options: RuntimeBeliefDecisionPointOptions): RuntimeBeliefDecisionPointReport;
export declare function createBeliefRuntimeHookCollector(defaults: RuntimeBeliefShadowProbeInputOptions): BeliefRuntimeHookCollector;
//# sourceMappingURL=runtime-hooks.d.ts.map