import type { ValidationIssue } from '../../types'; import type { StructureDefinition } from '../structure-definition-types'; import type { CardinalityValidator } from '../../validators/cardinality-validator'; import type { TypeValidator } from '../../validators/type-validator'; import type { ElementRulesValidator } from '../../validators/element-rules-validator'; import type { ComplexTypeValidator } from '../../validators/complex-type-validator'; import type { MustSupportValidator } from '../../validators/must-support-validator'; import type { ReferenceFormatValidator } from '../../validators/reference-format-validator'; import type { ReferenceTargetValidator } from '../../validators/reference-target-validator'; import type { BundleValidator } from '../../validators/bundle-validator'; import type { QuestionnaireValidator } from '../../validators/questionnaire-validator'; type FhirVersion = 'R4' | 'R5' | 'R6'; interface StructuralSnapshotDeps { cardinalityValidator: CardinalityValidator; typeValidator: TypeValidator; elementRulesValidator: ElementRulesValidator; complexTypeValidator: ComplexTypeValidator; mustSupportValidator: MustSupportValidator; referenceFormatValidator: ReferenceFormatValidator; referenceTargetValidator: ReferenceTargetValidator; bundleValidator: BundleValidator; questionnaireValidator: QuestionnaireValidator; detectUnknownElements(resource: any, structureDef: StructureDefinition, resourceType: string, fhirVersion: FhirVersion): Promise; } interface StructuralSnapshotParams { resource: any; structureDef: StructureDefinition; effectiveProfileUrl?: string; getValueAtPath: (resource: any, path: string) => any; fhirVersion: FhirVersion; deps: StructuralSnapshotDeps; /** Resolves contained / bundle-entry references for reference-target typing. */ resolveReference?: (reference: string) => any; } export declare function validateStructuralSnapshot(params: StructuralSnapshotParams): Promise; export {}; //# sourceMappingURL=structural-snapshot-validation.d.ts.map