import { type InterventionCapabilityDeclaration, type InterventionSourceKind, type NormalizedInterventionRecord } from './types/intervention-evidence-contract.js'; export interface NormalizedInterventionBatch { evidenceScopeId: string; sourceKind: InterventionSourceKind; adapterVersion: string; recordedAt: string; records: NormalizedInterventionRecord[]; capabilityDeclarations: InterventionCapabilityDeclaration[]; } export type InterventionNormalization = { ok: true; batch: NormalizedInterventionBatch; } | { ok: false; reason: string; }; /** Deterministic key minting for producers: joins parts with '|', mapping absent parts to '-'. */ export declare function mintObservationKey(parts: readonly (string | undefined)[]): string; /** Canonical JSON: recursively key-sorted, no whitespace — stable across replays. */ export declare function canonicalJson(value: unknown): string; export declare function computeEvidenceId(sourceKind: string, sourceLocator: string, observationKey: string): string; export declare function computeRecordDigest(record: Omit): string; /** * Validate and normalize one evidence batch. Never throws; the first * validation failure is returned as a stable reason string. */ export declare function normalizeInterventionEvidenceBatch(raw: unknown): InterventionNormalization; //# sourceMappingURL=intervention-evidence-normalizer.d.ts.map