import { pagespeedonline_v5 } from 'googleapis'; import { JobStatus, Resource, WorkerQuery, WorkerQueryOptions } from '../../index.js'; export type PageSpeedRequest = pagespeedonline_v5.Params$Resource$Pagespeedapi$Runpagespeed; export type PageSpeedReport = pagespeedonline_v5.Schema$PagespeedApiPagespeedResponseV5; /** * A custom function responsible for formatting a {@link PageSpeedReport}, modifying * the passed-in resource and passing */ export type PageSpeedTask = (resource: Resource, status: JobStatus, request?: PageSpeedRequest, report?: PageSpeedReport) => Promise; /** * Given a set of filter criteria, retrieves all matching Resources, requests a Google * Pagespeed Insights report for each one, and saves a summary of the results to * `resource.pagespeed`. * * @remarks * PageSpeed Insights is useful, but also limited to 2.4 requests per second and 25,000 * requests per day. With a large site it's easy to hit that ceiling, and {@link PageSpeed} * populates defaults that attempt to keep you from hitting that ceiling. */ export declare class PageSpeed extends WorkerQuery { /** * Retrieve a Google Pagespeed Insights report for a single URL. */ static getReport(url: URL | string, input?: PageSpeedRequest): Promise; /** * Returns a bare-bones overview of scores in all the requested categories. */ static formatOverview(report: PageSpeedReport): { overall: string | undefined; speedIndex: number | undefined; accessibility: any; bestPractices: any; performance: any; pwa: any; seo: any; timestamp: string | undefined; }; /** * Returns a bare-bones overview of scores in all the requested categories. */ static formatDetailed(report: PageSpeedReport): { overall: string | undefined; speedIndex: number | undefined; accessibility: any; bestPractices: any; performance: any; pwa: any; seo: any; audits: Record; timestamp: string | undefined; }; request: PageSpeedRequest; constructor(request?: PageSpeedRequest, options?: WorkerQueryOptions); run(customTask?: PageSpeedTask, force?: boolean): Promise; protected getReport(resource: Resource, status: JobStatus, request: PageSpeedRequest): Promise; protected task: PageSpeedTask; } //# sourceMappingURL=pagespeed.d.ts.map