import type { ValidationIssue, ValidationSettings } from '../types'; import type { ProfileCache } from '../cache/profile-cache'; import type { BestPracticeValidator } from '../validators/best-practice-validator'; import type { StructureDefinitionLoader } from './structure-definition-loader'; import type { SnapshotGenerator } from './snapshot-generator'; import type { QuestionnaireContextRegistry } from './questionnaire-context-registry'; import { type FhirClientLike } from './profile-loader-utils'; import { CustomRuleExecutor, InvariantExecutor, MetadataExecutor, ProfileExecutor, ReferenceExecutor, StructuralExecutor, TerminologyExecutor } from './executors'; import type { ReferenceResolver } from '../validators/slicing-validator'; interface RecordsSingleResourceValidationInput { resource: any; profileUrl?: string; fhirVersion: 'R4' | 'R5' | 'R6'; settings?: ValidationSettings; fhirClient?: FhirClientLike; referenceResolver?: ReferenceResolver | null; organizationId?: number; serverId?: number; } interface RecordsSingleResourceValidationContext { sdLoader: StructureDefinitionLoader; profileCache: ProfileCache; snapshotGenerator: SnapshotGenerator; structuralExecutor: StructuralExecutor; profileExecutor: ProfileExecutor; terminologyExecutor: TerminologyExecutor; invariantExecutor: InvariantExecutor; customRuleExecutor: CustomRuleExecutor; metadataExecutor: MetadataExecutor; referenceExecutor: ReferenceExecutor; bestPracticeValidator: BestPracticeValidator; questionnaireRegistry?: QuestionnaireContextRegistry; strictMode: boolean; validateBundleEntriesIfNeeded(resource: any, fhirVersion: 'R4' | 'R5' | 'R6'): Promise; validateContainedResourcesIfNeeded(resource: any): Promise; } export declare function validateRecordsResource(input: RecordsSingleResourceValidationInput, context: RecordsSingleResourceValidationContext): Promise; export {}; //# sourceMappingURL=validator-single-resource-validation.d.ts.map