import * as chromeLauncher from "chrome-launcher"; import { LighthouseResult, LighthouseAuditResult } from "./types.js"; export declare function launchChrome(): Promise; export declare function getScreenEmulation(device: "desktop" | "mobile"): { mobile: boolean; width: 1350 | 360; height: 940 | 640; deviceScaleFactor: number; disabled: boolean; }; declare const LOG_LEVELS: readonly ["silent", "error", "info", "verbose"]; type LogLevel = (typeof LOG_LEVELS)[number]; /** * Lighthouse logs to stderr, which for a stdio MCP server is the user's log output. At * "info" a single audit emits hundreds of lines, so default to errors only and let * LIGHTHOUSE_LOG_LEVEL turn the detail back on when debugging a failing launch. */ export declare function getLogLevel(): LogLevel; export declare function buildLighthouseOptions(port: number, device: "desktop" | "mobile", categories?: string[], throttling?: boolean, disableStorageReset?: boolean): { disableStorageReset?: boolean | undefined; logLevel: "silent" | "error" | "info" | "verbose"; output: "json"; onlyCategories: string[] | undefined; port: number; formFactor: "desktop" | "mobile"; screenEmulation: { mobile: boolean; width: 1350 | 360; height: 940 | 640; deviceScaleFactor: number; disabled: boolean; }; throttling: { readonly rttMs: 150; readonly throughputKbps: 1638.4; readonly cpuSlowdownMultiplier: 4; } | { readonly rttMs: 0; readonly throughputKbps: number; readonly cpuSlowdownMultiplier: 1; }; }; export declare function runRawLighthouseAudit(url: string, categories?: string[], device?: "desktop" | "mobile", throttling?: boolean): Promise; export declare function filterAuditsByCategory(lhr: LighthouseResult["lhr"], categoryKey: string): { id: string; title: string; description: string | undefined; score: number | null; scoreDisplayMode: string | undefined; displayValue: string | undefined; }[]; export declare function formatCategoryScores(lhr: LighthouseResult["lhr"]): Record; export declare function extractKeyMetrics(lhr: LighthouseResult["lhr"]): Record; export declare function runLighthouseAudit(url: string, categories?: string[], device?: "desktop" | "mobile", throttling?: boolean): Promise; export declare function getDetailedAuditResults(url: string, category: string, device: "desktop" | "mobile"): Promise<{ lhr: { finalDisplayedUrl: string; fetchTime: string; lighthouseVersion: string; userAgent: string; categories: Record; audits: Record; runtimeError?: { code: string; message: string; }; }; audits: { id: string; title: string; description: string | undefined; score: number | null; scoreDisplayMode: string | undefined; displayValue: string | undefined; }[]; }>; export {};