import type { ElementHandle } from 'puppeteer-core';
import type { DevToolsPage } from '../shared/frontend-helper.js';
import type { InspectedPage } from '../shared/target-helper.js';
export declare function navigateToLighthouseTab(path: string | undefined, devToolsPage: DevToolsPage, inspectedPage: InspectedPage): Promise<ElementHandle<Element>>;
/**
 * Instead of watching the worker or controller/panel internals, we wait for the Lighthouse renderer
 * to create the new report DOM. And we pull the LHR and artifacts off the lh-root node.
 **/
export declare function waitForResult(devToolsPage: DevToolsPage, inspectedPage: InspectedPage): Promise<{
    reportEl: ElementHandle<Element>;
    lhr: any;
    artifacts: any;
}>;
/**
 * Set the category checkboxes
 * @param selectedCategoryIds One of 'performance'|'accessibility'|'best-practices'|'seo'|'pwa'
 */
export declare function selectCategories(selectedCategoryIds: string[], devToolsPage: DevToolsPage): Promise<void>;
export declare function selectRadioOption(value: string, optionName: string, devToolsPage: DevToolsPage): Promise<void>;
export declare function selectMode(mode: 'navigation' | 'timespan' | 'snapshot', devToolsPage: DevToolsPage): Promise<void>;
export declare function selectDevice(device: 'mobile' | 'desktop', devToolsPage: DevToolsPage): Promise<void>;
export declare function setToolbarCheckboxWithText(enabled: boolean, textContext: string, devToolsPage: DevToolsPage): Promise<void>;
export declare function setThrottlingMethod(throttlingMethod: 'simulate' | 'devtools', devToolsPage: DevToolsPage): Promise<void>;
export declare function clickStartButton(devToolsPage: DevToolsPage): Promise<void>;
export declare function isGenerateReportButtonDisabled(devToolsPage: DevToolsPage): Promise<boolean>;
export declare function getHelpText(devToolsPage: DevToolsPage): Promise<string>;
export declare function openStorageView(devToolsPage: DevToolsPage): Promise<void>;
export declare function clearSiteData(devToolsPage: DevToolsPage, inspectedPage: InspectedPage): Promise<void>;
export declare function waitForStorageUsage(p: (quota: number) => boolean, devToolsPage: DevToolsPage): Promise<void>;
export declare function waitForTimespanStarted(devToolsPage: DevToolsPage): Promise<void>;
export declare function endTimespan(devToolsPage: DevToolsPage): Promise<void>;
export declare function getAuditsBreakdown(lhr: any, flakyAudits?: string[]): {
    auditResults: any[];
    erroredAudits: any[];
    failedAudits: any[];
};
export declare function getTargetViewport(inspectedPage: InspectedPage): Promise<{
    innerHeight: number;
    innerWidth: number;
    outerWidth: number;
    outerHeight: number;
    devicePixelRatio: number;
}>;
export declare function getServiceWorkerCount(inspectedPage: InspectedPage): Promise<number>;
export declare function registerServiceWorker(inspectedPage: InspectedPage): Promise<void>;
export declare function interceptNextFileSave(devToolsPage: DevToolsPage): Promise<() => Promise<string>>;
export declare function renderHtmlInIframe(html: string, inspectedPage: InspectedPage): Promise<ElementHandle<Document>>;
