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; }; /** * @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} networkRecords * @param {{timestamps: {traceEnd: number}}} processedNavigation * @return {Array} */ static _findNetworkQuietPeriods(networkRecords: Array, processedNavigation: { timestamps: { traceEnd: number; }; }): Array; /** * Finds all time periods where there are no long tasks. * @param {Array} longTasks * @param {{timestamps: {timeOrigin: number, traceEnd: number}}} processedNavigation * @return {Array} */ static _findCPUQuietPeriods(longTasks: Array, processedNavigation: { timestamps: { timeOrigin: number; traceEnd: number; }; }): Array; /** * Finds the first time period where a network quiet period and a CPU quiet period overlap. * @param {Array} longTasks * @param {Array} networkRecords * @param {LH.Artifacts.ProcessedNavigation} processedNavigation * @return {{cpuQuietPeriod: TimePeriod, networkQuietPeriod: TimePeriod, cpuQuietPeriods: Array, networkQuietPeriods: Array}} */ static findOverlappingQuietPeriods(longTasks: Array, networkRecords: Array, processedNavigation: LH.Artifacts.ProcessedNavigation): { cpuQuietPeriod: TimePeriod; networkQuietPeriod: TimePeriod; cpuQuietPeriods: Array; networkQuietPeriods: Array; }; /** * @param {LH.Artifacts.NavigationMetricComputationData} data * @param {LH.Artifacts.ComputedContext} context * @return {Promise} */ static computeSimulatedMetric(data: LH.Artifacts.NavigationMetricComputationData, context: LH.Artifacts.ComputedContext): Promise; /** * @param {LH.Artifacts.NavigationMetricComputationData} data * @return {Promise} */ static computeObservedMetric(data: LH.Artifacts.NavigationMetricComputationData): Promise; } import { NavigationMetric } from './navigation-metric.js'; //# sourceMappingURL=interactive.d.ts.map