import { IPackagistPackageVersionDetails } from '../../plugins/php/php-interfaces'; export interface ComposerSupport { email?: string; issues?: string; forum?: string; wiki?: string; irc?: string; source?: string; docs?: string; rss?: string; chat?: string; } export interface Composer { name: string; type: string; version?: string; description?: string; repository?: string; keywords?: string[]; require?: { [key: string]: string; }; 'require-dev'?: { [key: string]: string; }; conflict?: { [key: string]: string; }; replace?: { [key: string]: string; }; provide?: { [key: string]: string; }; suggest?: { [key: string]: string; }; homepage?: string; readme?: string; license?: string; support?: ComposerSupport; time?: string; } export interface ComposerLock { packages: ComposerPackage[]; 'packages-dev': ComposerPackage[]; _readme: string; 'minimum-stability': string; } export interface ComposerPackageLocation { type: string; url: string; reference: string; } export interface ComposerPackage extends Composer { source?: ComposerPackageLocation; dist?: ComposerPackageLocation; versions: { [version: string]: IPackagistPackageVersionDetails; }; github_stars?: 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; vulnerabilities?: any[]; allVulnerabilities?: any[]; } export declare function parseComposerFile(file: string): Composer; export declare function parseComposerLockFile(file: string): ComposerLock; export declare function getAllDependenciesFromLock(deps: ComposerPackage[]): Promise; export declare function getAllDependenciesFromComposerJson(deps: string[]): Promise;