/** * Bundle Validator * * Validates FHIR Bundle resources for structural integrity: * - Bundle type validation * - Entry structure validation * - fullUrl uniqueness * - Transaction/batch request requirements * - Internal reference resolution * - fullUrl-based reference consistency (FHIR R4 §2.1.0.5.2) * - fullUrl ↔ resource.id consistency * * Wraps BundleReferenceResolver for integration into the main validation flow. */ import type { ValidationIssue } from '../types'; export type EntryResourceValidator = (resource: Record, entryIndex: number) => Promise; export declare class BundleValidator { private bundleResolver; /** * Validate a Bundle resource. * If entryValidator is provided, each entry.resource is also validated * as a standalone resource (structural, profile, terminology etc.). */ validateBundle(resource: any, entryValidator?: EntryResourceValidator): Promise; /** * Type-specific Bundle validations */ private validateBundleTypeSpecific; private hasDocumentIdentifier; /** * Validate that Bundle entries have fullUrl. * * FHIR R4 rules: * - document/message bundles: fullUrl is REQUIRED (SHALL) on every entry * - transaction/batch bundles: fullUrl is REQUIRED for entries with resources * - other bundle types: fullUrl is RECOMMENDED (SHOULD) but not mandatory */ private validateFullUrlPresence; } export declare const bundleValidator: BundleValidator; //# sourceMappingURL=bundle-validator.d.ts.map