import type { MavenRepository } from "../maven/repository.js"; import type { StabilityType } from "../version/types.js"; export interface DependencyHealthInput { dependencies: { groupId: string; artifactId: string; version?: string; }[]; } export interface IssueHealth { /** null when the Search API call failed (rate-limited or network error). */ open: number | null; /** null when the Search API call failed (rate-limited or network error). */ closed: number | null; closeRatio: number | null; medianDaysToClose: number | null; } export interface GitHubHealth { stars: number; forks: number; openIssues: number; archived: boolean; ownerType: string; ownerPublicRepos: number | null; ownerAccountCreatedAt: string | null; lastCommit: string | null; lastRelease: string | null; releaseCount: number; releaseCadenceDays: number | null; license: string | null; createdAt: string | null; issues: IssueHealth | null; } export interface DependencyHealth { groupId: string; artifactId: string; latestVersion?: string; stability?: StabilityType; versionCount: number; lastPublishedToMaven?: string; repository: { owner: string; repo: string; url: string; } | null; scm: { url: string; host: string; } | null; github: GitHubHealth | null; signals: string[]; healthError?: string; } export interface DependencyHealthResult { results: DependencyHealth[]; } export declare function scmHost(url: string): string; export declare function getDependencyHealthHandler(repos: MavenRepository[], input: DependencyHealthInput): Promise;