UNPKG

lighthouse

Version:

Automated auditing, performance metrics, and best practices for the web.

71 lines 3.26 kB
export { InteractiveComputed as Interactive }; export type TimePeriod = { /** * In ms. */ start: number; /** * In ms. */ end: number; }; declare const InteractiveComputed: typeof Interactive & { request: (dependencies: import("../../index.js").Artifacts.MetricComputationDataInput, context: LH.Artifacts.ComputedContext) => Promise<import("../../index.js").Artifacts.Metric | import("../../index.js").Artifacts.LanternMetric>; }; /** * @fileoverview Computes "Time To Interactive", the time at which the page has loaded critical * resources and is mostly idle. * @see https://docs.google.com/document/d/1yE4YWsusi5wVXrnwhR61j-QyjK9tzENIzfxrCjA1NAk/edit#heading=h.yozfsuqcgpc4 */ declare class Interactive extends NavigationMetric { /** * Finds all time periods where the number of inflight requests is less than or equal to the * number of allowed concurrent requests (2). * @param {Array<LH.Artifacts.NetworkRequest>} networkRecords * @param {{timestamps: {traceEnd: number}}} processedNavigation * @return {Array<TimePeriod>} */ static _findNetworkQuietPeriods(networkRecords: Array<LH.Artifacts.NetworkRequest>, processedNavigation: { timestamps: { traceEnd: number; }; }): Array<TimePeriod>; /** * Finds all time periods where there are no long tasks. * @param {Array<TimePeriod>} longTasks * @param {{timestamps: {timeOrigin: number, traceEnd: number}}} processedNavigation * @return {Array<TimePeriod>} */ static _findCPUQuietPeriods(longTasks: Array<TimePeriod>, processedNavigation: { timestamps: { timeOrigin: number; traceEnd: number; }; }): Array<TimePeriod>; /** * Finds the first time period where a network quiet period and a CPU quiet period overlap. * @param {Array<TimePeriod>} longTasks * @param {Array<LH.Artifacts.NetworkRequest>} networkRecords * @param {LH.Artifacts.ProcessedNavigation} processedNavigation * @return {{cpuQuietPeriod: TimePeriod, networkQuietPeriod: TimePeriod, cpuQuietPeriods: Array<TimePeriod>, networkQuietPeriods: Array<TimePeriod>}} */ static findOverlappingQuietPeriods(longTasks: Array<TimePeriod>, networkRecords: Array<LH.Artifacts.NetworkRequest>, processedNavigation: LH.Artifacts.ProcessedNavigation): { cpuQuietPeriod: TimePeriod; networkQuietPeriod: TimePeriod; cpuQuietPeriods: Array<TimePeriod>; networkQuietPeriods: Array<TimePeriod>; }; /** * @param {LH.Artifacts.NavigationMetricComputationData} data * @param {LH.Artifacts.ComputedContext} context * @return {Promise<LH.Artifacts.LanternMetric>} */ static computeSimulatedMetric(data: LH.Artifacts.NavigationMetricComputationData, context: LH.Artifacts.ComputedContext): Promise<LH.Artifacts.LanternMetric>; /** * @param {LH.Artifacts.NavigationMetricComputationData} data * @return {Promise<LH.Artifacts.Metric>} */ static computeObservedMetric(data: LH.Artifacts.NavigationMetricComputationData): Promise<LH.Artifacts.Metric>; } import { NavigationMetric } from './navigation-metric.js'; //# sourceMappingURL=interactive.d.ts.map