/** * @file version-resolver.ts * @description Resolves semver ranges to concrete versions using the npm registry API. */ import type { EsmRegistryAuth } from './esm-auth.types'; import type { ParsedPackageSpecifier } from './package-specifier'; /** * Result of a version resolution. */ export interface VersionResolutionResult { /** The concrete version that was resolved */ resolvedVersion: string; /** All available versions from the registry */ availableVersions: string[]; /** When the resolved version was published (ISO string) */ publishedAt?: string; } /** * Options for the version resolver. */ export interface VersionResolverOptions { /** Authentication for private registries */ registryAuth?: EsmRegistryAuth; /** Request timeout in milliseconds (default: 15000) */ timeout?: number; } /** * Resolves semver ranges to concrete versions by querying the npm registry API. */ export declare class VersionResolver { private readonly registryAuth?; private readonly timeout; constructor(options?: VersionResolverOptions); /** * Resolve a package specifier's semver range to a concrete version. * * @param specifier - Parsed package specifier with range * @returns Resolution result with concrete version * @throws Error if the package is not found or no version matches the range */ resolve(specifier: ParsedPackageSpecifier): Promise; /** * Resolve version from already-fetched registry data. */ private resolveFromRegistryData; } //# sourceMappingURL=version-resolver.d.ts.map