export type PageType = "home" | "directory" | "collection" | "record" | "content" | "empty" | "404"; export type Profile = "mobile" | "desktop"; export interface PageManifestEntry { path: string; type: PageType; label: string; /** * @deprecated No-op. Declared since the audit manifest was added but * never read by `runAudit` or `parseAuditBlock`. Kept so removing it * is not a breaking type change; drop it in the next major. */ sample?: Record; } export interface LighthouseScores { performance: number; accessibility: number; bestPractices: number; seo: number; } export interface LighthouseMetrics { lcp: number; cls: number; tbt: number; } export interface AuditResult { url: string; type: PageType; profile: Profile; scores: LighthouseScores; metrics: LighthouseMetrics; runs: number; durationMs: number; } export interface BudgetConfig { scores: LighthouseScores; metrics: LighthouseMetrics; } export interface BudgetViolation { page: PageManifestEntry; profile: Profile; category: "score" | "metric"; name: keyof LighthouseScores | keyof LighthouseMetrics; expected: number; actual: number; } export declare const DEFAULT_BUDGET: BudgetConfig; export declare function evaluateBudget(result: AuditResult, page: PageManifestEntry, budget?: BudgetConfig): BudgetViolation[]; //# sourceMappingURL=audit.d.ts.map