/** * Validates referenced resources recursively with configurable depth limits. * Prevents infinite loops using circular reference detection. */ export interface RecursiveValidationConfig { enabled: boolean; maxDepth: number; validateExternal: boolean; validateContained: boolean; validateBundleEntries: boolean; excludeResourceTypes?: string[]; maxReferencesPerResource?: number; timeoutMs?: number; } export interface RecursiveValidationContext { currentDepth: number; referenceChain: string[]; validatedResources: Set; startTime: number; config: RecursiveValidationConfig; } export interface RecursiveValidationResult { totalResourcesValidated: number; maxDepthReached: number; referencesFollowed: number; unresolvedReferences: string[]; circularReferences: string[][]; validationTimeMs: number; timedOut: boolean; } export declare class RecursiveReferenceValidator { private circularDetector; private defaultConfig; validateRecursively(resource: any, config?: Partial, resourceFetcher?: (reference: string) => Promise): Promise; private validateResourceRecursively; private processReference; private validateResolvedReference; private fetchAndValidateReference; private createChildContext; estimateValidationCost(resource: any, config?: Partial): { estimatedResources: number; estimatedReferences: number; estimatedTimeMs: number; wouldExceedLimits: boolean; }; getDefaultConfig(): RecursiveValidationConfig; createSafeConfig(config: Partial): RecursiveValidationConfig; } export declare function getRecursiveReferenceValidator(): RecursiveReferenceValidator; export declare function resetRecursiveReferenceValidator(): void; //# sourceMappingURL=recursive-reference-validator.d.ts.map