export interface IPackagistPackageSource { type: string; url: string; reference: string; shasum?: string; } export interface IPackagistPackageVersionDetails { name: string; description: string; time: string; keywords: [string]; homepage: string; version: string; version_normalzed: string; license: string[]; authors: [ { name: string; email: string; homepage?: string; role?: string; } ]; source: IPackagistPackageSource; dist: IPackagistPackageSource; type: string; uid: number; autoload?: { [key: string]: { [key: string]: string; }; }; require?: { [key: string]: string; }; 'require-dev'?: { [key: string]: string; }; suggest?: { [key: string]: string; }; extra?: { [key: string]: string; }; provide?: { [key: string]: string; }; [key: string]: any; } export interface IPackagistMetadataResponse { packages?: { [packageName: string]: { [version: string]: IPackagistPackageVersionDetails; }; }; } export type VendorPackageInput = string | { vendor: string; package: string; }; /** * Checkout "Using the Composer metadata" @ {@link https://packagist.org/apidoc#get-package-data} for more info. * * @param vp VendorPackageInput * @param ifModifiedSince If included the endpoint only returns data * if it has changed since this date stamp in time. * */ export declare function getPackageMetadata(vp: VendorPackageInput, ifModifiedSince?: string): Promise<{ data: IPackagistMetadataResponse; lastModified: string; }>; export interface IPackagistPackageDetails { name: string; description: string; time: string; maintainers: { name: string; avatar_url: string; }; versions: { [version: string]: IPackagistPackageVersionDetails; }; type: string; repository: string; github_starts?: number; github_watchers?: number; github_forks?: number; github_open_issues?: number; language?: string; dependents: number; suggesters: number; downloads: { total: number; monthly: number; daily: number; }; favers: number; } export interface IPackagistPackageDetailResponse { package: IPackagistPackageDetails; } /** * Checkout "Using the API" @ {@link https://packagist.org/apidoc#get-package-data} for more info. */ export declare function getPackageDetails(vp: VendorPackageInput): Promise; export interface IPackagistStatistics { totals: { downloads: number; packages: number; version: number; }; } /** * Checkout {@link https://packagist.org/apidoc#get-statistics} for more info. */ export declare function getPackagistStats(): Promise;