/** * Records Validator - Batch Utilities * * Helper functions for batch validation: * - Resource deduplication * - Grouping by profile * - Chunking for parallel processing */ import type { StructureDefinitionLoader } from './structure-definition-loader'; import type { ProfileCache } from '../cache/profile-cache'; import type { SnapshotGenerator } from './snapshot-generator'; import { type ProfileSourceContext } from '../persistence'; /** Reset warmup flag for new validation sessions */ export declare function resetWarmupState(): void; export interface DeduplicationResult { unique: T[]; duplicateMap: Map; } export declare function deduplicateResources(resources: T[]): DeduplicationResult; export declare function groupResourcesByProfile(resources: any[], explicitProfileUrl?: string): Map; export declare function preloadProfiles(sdLoader: StructureDefinitionLoader, profileCache: ProfileCache, snapshotGenerator: SnapshotGenerator, profileUrls: string[], fhirVersion: 'R4' | 'R5' | 'R6', fhirClient?: any, settings?: any, context?: ProfileSourceContext): Promise; export declare function chunkArray(array: T[], chunkSize: number): T[][]; /** * Phase 2 Optimization: Aggressive Warmup * * Pre-loads frequently used profiles from the database into the memory cache. * This eliminates external API calls for profiles that were previously resolved. * * Expected improvement: ~90% reduction in profile loading time */ export declare function warmupProfileCacheFromDatabase(profileCache: ProfileCache, limit?: number, context?: ProfileSourceContext): Promise<{ warmedUp: number; timeMs: number; }>; //# sourceMappingURL=batch-utils.d.ts.map