/** * Audit engine types — finding severity, categories, and the audit manifest. */ export declare enum Severity { Critical = "critical", High = "high", Medium = "medium", Low = "low", Advisory = "advisory" } export declare enum Category { Security = "security", Modularity = "modularity", RBAC = "rbac", Errors = "errors", Quality = "quality", UX = "ux", Docs = "docs", Gates = "gates" } export interface Finding { severity: Severity; category: Category; file: string; line?: number; column?: number; message: string; evidence?: string; suggestedFix?: string; rule?: string; } export interface AuditResult { repoName: string; repoPath: string; repoType: 'web' | 'backend' | 'mobile' | 'unknown'; isExistingRepo: boolean; findings: Finding[]; gateResults: GateResult[]; scannedFiles: number; startedAt: string; completedAt: string; } export interface GateResult { name: string; passed: boolean; output?: string; error?: string; } export interface AuditOptions { path: string; type?: 'auto' | 'web' | 'backend' | 'mobile'; reportPath?: string; upload?: boolean; taskId?: string; deep?: boolean; existingRepo?: boolean; /** Skip build/typecheck gates (fast structural-only audit). */ skipGates?: boolean; } export interface CheckerContext { root: string; repoType: 'web' | 'backend' | 'mobile' | 'unknown'; isExistingRepo: boolean; readFile: (relativePath: string) => string | null; listFiles: (glob: string) => string[]; fileExists: (relativePath: string) => boolean; }