import type { StructureDefinition } from './structure-definition-types'; import type { PackageDownloader } from '../package/package-downloader.js'; import type { PackageRegistryClient } from '../package/package-registry-client.js'; import type { ProfileSourcesConfig } from '../types'; export interface AutoDownloadContext { registryClient: PackageRegistryClient; packageDownloader: PackageDownloader; allowedPackages: string[]; packageVersionPins?: Record; packageSources: string[]; cache: Map; availableProfiles: Set; /** Profile sources settings (optional - defaults to all enabled) */ profileSourcesConfig?: ProfileSourcesConfig; /** FHIR version for package filtering (defaults to R4) */ fhirVersion?: 'R4' | 'R5' | 'R6'; } /** * Clear negative cache for a specific URL (for testing or manual refresh) */ export declare function clearNotFoundCacheEntry(url: string): void; /** * Clear all caches (for testing) */ export declare function clearAllCaches(): void; /** * Attempt to auto-download a package for a profile URL * Implements request deduplication and negative caching to improve performance */ export declare function attemptAutoDownload(url: string, context: AutoDownloadContext): Promise; /** * Check if a profile URL is public (eligible for auto-download) * * Returns true for any https:// URL - these can be fetched via Simplifier or direct HTTP. * Returns false for internal/urn:uuid: style URLs. */ export declare function isPublicProfile(url: string): boolean; //# sourceMappingURL=sd-loader-auto-download.d.ts.map