lighthouse
Version:
Automated auditing, performance metrics, and best practices for the web.
71 lines • 3.26 kB
TypeScript
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