export declare interface ReleaseNote { version: string date: string title: string body: string htmlUrl: string compareUrl?: string author?: string isPrerelease: boolean assets?: ReleaseAsset[] } export declare interface ReleaseAsset { name: string downloadUrl: string size: number contentType: string } export declare interface ChangelogEntry { version: string date: string changes: { added?: string[] changed?: string[] deprecated?: string[] removed?: string[] fixed?: string[] security?: string[] } notes?: string } export declare interface PackageInfo { name: string description?: string homepage?: string repository?: { type: string url: string directory?: string } license?: string author?: string | { name: string, email?: string, url?: string } keywords?: string[] weeklyDownloads?: number lastPublish?: string maintainers?: Array<{ name: string, email?: string }> } export declare class ReleaseNotesFetcher { readonly private userAgent: any; fetchPackageInfo(packageName: string, currentVersion: string, newVersion: string): Promise<{ packageInfo: PackageInfo releaseNotes: ReleaseNote[] changelog: ChangelogEntry[] compareUrl?: string }>; private fetchNpmPackageInfo(packageName: string): Promise; private parseGitHubUrl(repositoryUrl: string): { owner: string, repo: string } | null; private fetchGitHubReleases(owner: string, repo: string, currentVersion: string, newVersion: string): Promise; private fetchChangelog(owner: string, repo: string): Promise; private parseChangelog(content: string): ChangelogEntry[]; private generateCompareUrl(owner: string, repo: string, fromVersion: string, toVersion: string): string; private isVersionBetween(version: string, current: string, target: string): boolean; generatePackageBadges(packageInfo: PackageInfo, currentVersion: string, newVersion: string): { age: string adoption: string passing: string confidence: string }; fetchComposerPackageInfo(packageName: string): Promise; generateComposerBadges(packageInfo: PackageInfo, currentVersion: string, newVersion: string): { age: string adoption: string passing: string confidence: string }; private normalizeVersionForBadges(version: string): string; }