import { c as LHCIOptions, a as LHCIConfig, P as PerformanceThresholds } from '../index-E8nKfSHH.js'; import '../index-CBmIhSX_.js'; /** * @silverassist/performance-toolkit * * Lighthouse CI runner - wrapper for @lhci/cli with fluent API. * * @module lighthouse * @author Miguel Colmenares * @license PolyForm-Noncommercial-1.0.0 */ /** * Lighthouse CI Runner for programmatic execution */ declare class LighthouseRunner { private config; /** * Creates a new Lighthouse runner * @param options - Runner options */ constructor(options: LHCIOptions); /** * Builds LHCI configuration from options */ private buildConfig; /** * Gets the generated configuration * @returns LHCI configuration object */ getConfig(): LHCIConfig; /** * Adds assertion thresholds to the configuration * @param thresholds - Performance thresholds to assert * @returns This runner instance for chaining */ withAssertions(thresholds: PerformanceThresholds): this; /** * Configures upload to temporary public storage * @returns This runner instance for chaining */ withTemporaryStorage(): this; /** * Configures upload to LHCI server * @param serverBaseUrl - LHCI server URL * @param token - Build token * @returns This runner instance for chaining */ withLHCIServer(serverBaseUrl: string, token: string): this; /** * Runs Lighthouse CI with the configured options * @returns Promise resolving to exit code (0 for success) */ run(): Promise; /** * Generates a lighthouserc.js configuration file content * @returns Configuration file content as string */ generateConfigFile(): string; } /** * Creates a Lighthouse runner for staging/internal URLs (uses local Chrome) * @param urls - URLs to analyze * @param options - Additional options * @returns Configured LighthouseRunner */ declare function createNodeRunner(urls: string[], options?: Partial>): LighthouseRunner; /** * Creates a Lighthouse runner for production URLs (uses PageSpeed API) * @param urls - URLs to analyze * @param psiApiKey - PageSpeed Insights API key * @param options - Additional options * @returns Configured LighthouseRunner */ declare function createPSIRunner(urls: string[], psiApiKey: string, options?: Partial>): LighthouseRunner; /** * Creates a hybrid runner that uses node for staging and PSI for production * @param config - Configuration with staging and production URLs * @returns Object with staging and production runners */ declare function createHybridRunners(config: { stagingUrls: string[]; productionUrls: string[]; psiApiKey: string; thresholds?: PerformanceThresholds; }): { staging: LighthouseRunner; production: LighthouseRunner; }; /** * Generates default performance thresholds based on Core Web Vitals * @param strict - Whether to use stricter thresholds * @returns Performance thresholds object */ declare function getDefaultThresholds(strict?: boolean): PerformanceThresholds; export { LighthouseRunner, createHybridRunners, createNodeRunner, createPSIRunner, getDefaultThresholds };