export interface EmailConfig { host: string; port: number; secure: boolean; auth: { user: string; pass: string; }; senderEmail: string; senderName: string; subject: string; reciever: string; } export interface Config { path: string; email?: EmailConfig; } export interface AuditOutput { error?: string; auditReportVersion: number; vulnerabilities: object; metadata: { vulnerabilities: { info: number; low: number; moderate: number; high: number; critical: number; total: number; }; dependencies: { prod: number; dev: number; optional: number; peer: number; peerOptional: number; total: number; }; }; } export interface ProjectAudit extends AuditOutput { status?: string; value?: {}; projectName: string; } export interface ProjectFix extends FixOutput { projectName: string; } export interface FixOutput { error?: string; add: any[]; added: number; audited: number; change: any[]; changed: number; funding: number; remove: any[]; removed: number; audit: { auditReportVersion: number; vulnerabilities: {}; metadata: { vulnerabilities: { info: number; low: number; moderate: number; high: number; critical: number; total: number; }; dependencies: { prod: number; dev: number; optional: number; peer: number; peerOptional: number; total: number; }; }; }; }