import type { StructureDefinitionLoader } from './structure-definition-loader'; import type { SnapshotGenerator } from './snapshot-generator'; import type { ProfileCache } from '../cache/profile-cache'; import type { FhirClientLike } from './profile-loader-utils'; import type { StructuralExecutor, ProfileExecutor, TerminologyExecutor, ReferenceExecutor, InvariantExecutor, CustomRuleExecutor, MetadataExecutor } from './executors'; import type { BestPracticeValidator } from '../validators/best-practice-validator'; import type { ReferenceResolver } from '../validators/slicing-validator'; import type { MultiAspectValidateResult } from './multi-aspect-types'; interface MultiAspectDeps { sdLoader: StructureDefinitionLoader; snapshotGenerator: SnapshotGenerator; profileCache?: ProfileCache; fhirClient?: FhirClientLike; structuralExecutor: StructuralExecutor; profileExecutor: ProfileExecutor; terminologyExecutor: TerminologyExecutor; referenceExecutor: ReferenceExecutor; invariantExecutor: InvariantExecutor; customRuleExecutor: CustomRuleExecutor; metadataExecutor: MetadataExecutor; bestPracticeValidator: BestPracticeValidator; strictMode: boolean; } export declare function buildMultiAspectValidateCallback(deps: MultiAspectDeps, aspects: string[], settings: unknown, organizationId?: number, shouldStop?: () => boolean, onEmbeddedResourceValidated?: (resource: Record, result: MultiAspectValidateResult) => void | Promise, externalReferenceResolver?: ReferenceResolver, serverId?: number): (resource: unknown, profileUrl: string, fhirVersion: 'R4' | 'R5' | 'R6') => Promise; export {}; //# sourceMappingURL=multi-aspect-validate-callback.d.ts.map