import { RiddleProofRunState, RiddleProofTerminalMetadata, RiddleProofStatus, RiddleProofEvidenceBundle, RiddleProofRunResult } from './types.js';

declare function isTerminalStatus(status: RiddleProofStatus): boolean;
declare function isSuccessfulStatus(status: RiddleProofStatus): boolean;
declare function compactRecord<T extends Record<string, unknown>>(input: T): Partial<T>;
declare function nonEmptyString(value: unknown): string | undefined;
declare function recordValue(value: unknown): Record<string, unknown> | undefined;
interface TerminalMetadataInput {
    riddleState?: Record<string, unknown> | null;
    engineResult?: Record<string, unknown> | null;
    checkpointDetails?: Record<string, unknown> | null;
}
declare function normalizeTerminalMetadata(input: TerminalMetadataInput): RiddleProofTerminalMetadata;
declare function applyTerminalMetadata<T extends RiddleProofRunState>(state: T, metadata: RiddleProofTerminalMetadata): T;
declare function createRunResult(input: {
    state: RiddleProofRunState;
    status?: RiddleProofStatus;
    state_path?: string | null;
    last_summary?: string | null;
    metadata?: RiddleProofTerminalMetadata;
    evidence_bundle?: RiddleProofEvidenceBundle;
    raw?: Record<string, unknown>;
}): RiddleProofRunResult;

export { type TerminalMetadataInput, applyTerminalMetadata, compactRecord, createRunResult, isSuccessfulStatus, isTerminalStatus, nonEmptyString, normalizeTerminalMetadata, recordValue };
