import type { ParseConformance } from './parseConformance'; import type { ParsedProperty } from "./model/parsed-property"; export interface ValidatorOptions { errorOnUnexpected?: boolean; onBeforeValidateResource?: (resource: any) => ValidatorMessage[]; onBeforeValidateProperty?: (resource: any, property: ParsedProperty, treeDisplay: string, value: any) => ValidatorMessage[]; onError?: (message: ValidatorMessage) => void; beforeCheckCode?: (valueSetUrl: string, code: string, system?: string) => boolean; skipCodeValidation?: boolean; } export interface ValidatorMessage { location?: string; resourceId?: string; severity?: Severities; message?: string; } export interface ValidatorResponse { valid: boolean; messages: ValidatorMessage[]; } export declare enum Severities { Fatal = "fatal", Error = "error", Warning = "warning", Information = "info" } export declare class Validator { private isXml; private obj; private resourceId?; readonly parser: ParseConformance; readonly options: ValidatorOptions; response: ValidatorResponse; constructor(parser: ParseConformance, options: ValidatorOptions, resourceId?: string, isXml?: boolean, obj?: any); validate(input: any): ValidatorResponse; static getTreeDisplay(tree: any, isXml?: any, leaf?: any): string; private checkCode; private addError; private addFatal; private addWarn; private addInfo; private validateNext; validateProperties(obj: any, properties: any, tree: any): void; }