import type { RecordsValidator } from './core/validator-engine'; import type { FhirClientLike } from './core/profile-loader-utils'; import type { ValidationIssue, ValidationSettings } from './types'; import type { TerminologyResolutionConfig } from './validators/valueset-validator'; import type { AnomalyDetectorConfig, AnomalyFinding } from './validators/anomaly-detector'; import type { PublicBatchValidationOptions, PublicFhirVersion, PublicValidationInput, PublicValidationResult } from './public-validation-api'; interface QuestionnaireLike { item?: unknown; } export interface RecordsValidatorSingleton { validate(resource: unknown, profileUrl?: string, fhirVersion?: PublicFhirVersion, settings?: ValidationSettings, fhirClient?: FhirClientLike, referenceResolver?: Parameters[5], organizationId?: number, runtimeScopeKey?: string, serverId?: number): Promise; validateMetadata(...args: Parameters): ReturnType; validateStructure(...args: Parameters): ReturnType; validateBatch(...args: Parameters): ReturnType; validateAll(inputs: PublicValidationInput[], options?: PublicBatchValidationOptions): Promise; isCreated(): boolean; isInitialized(): Promise; isAvailable(): boolean; isProfileSupported(...args: Parameters): ReturnType; waitForInitialization(): ReturnType; getSdLoader(): Promise>; loadProfileWithSnapshot(...args: Parameters): ReturnType; registerQuestionnaire(questionnaire: QuestionnaireLike): Promise; getQuestionnaire(...args: Parameters): ReturnType; configureTerminologyResolution(config: TerminologyResolutionConfig): Promise>; clearTerminologyCache(): Promise>; getConstraintDiagnostics(): Promise>; clearConstraintDiagnostics(): Promise>; clearProfileCache(): Promise | undefined>; evictProfile(...args: Parameters): ReturnType | undefined; setPinnedCanonicals(...args: Parameters): Promise>; getPinnedCanonicalCount(): ReturnType; detectAnomalies(resources: unknown[], config?: Partial): Promise; } export declare const recordsValidator: RecordsValidatorSingleton; export declare function ensureRecordsValidatorReady(): Promise; export declare function getRecordsValidatorClass(): Promise; export {}; //# sourceMappingURL=validator-singleton.d.ts.map