/** * Validation Utilities * * Shared utilities for validation operations. * Extracted from validator-engine.ts to comply with global.mdc guidelines. */ import type { ValidationIssue } from '../types'; /** * Helper: Get value at FHIRPath-like path * Simplified path resolution (e.g., "Patient.name" -> resource.name) */ export declare function getValueAtPath(resource: any, path: string): any; /** * Create a validation error issue */ export declare function createValidationErrorIssue(aspect: ValidationIssue['aspect'], code: string, message: string, details?: Record, path?: string): ValidationIssue; /** * Create a validation information issue (for system messages, not user errors) * Used for things like profile-not-found, which are system-level messages * rather than validation errors in the user's data */ export declare function createValidationInfoIssue(aspect: ValidationIssue['aspect'], code: string, message: string, details?: Record, path?: string): ValidationIssue; export { dedupeExactIssues, dedupeIssues, dedupeIssuesWithTrace, dedupeResourceTreeIssues, type DedupeIssuesResult, type DedupeSuppressionTrace, } from './validation-issue-dedupe'; /** * Suppress terminology binding warnings on paths where a structural * type-mismatch error already fires. When the element value is the wrong * FHIR type entirely (e.g. `valueString` where a profile requires * `valueQuantity`), the code-in-valueset check on that same path is * noise — the value isn't even parseable as the expected type. The * reference Java validator likewise emits just the type error, not the * binding warning on a broken value. * * Conservative: only suppresses extensible / preferred / example bindings * (i.e. non-required). A required binding that fires alongside a type * mismatch is still worth surfacing in case the user switches to the * correct type — the two errors describe independent problems. */ export declare function suppressRedundantBindingWarnings(issues: ValidationIssue[]): ValidationIssue[]; export declare function aggregateRemoteCodeSystemBudgetIssues(issues: ValidationIssue[]): ValidationIssue[]; //# sourceMappingURL=validation-utils.d.ts.map