export default WorkDuringInteraction; export type EventTimingEvent = import("../computed/metrics/responsiveness.js").EventTimingEvent; export type TaskNode = import("../lib/tracehouse/main-thread-tasks.js").TaskNode; /** * @fileoverview This metric gives a high-percentile measure of responsiveness to input. */ declare class WorkDuringInteraction extends Audit { /** * @param {TaskNode} task * @param {TaskNode|undefined} parent * @param {number} startTs * @param {number} endTs * @return {number} */ static recursivelyClipTasks(task: TaskNode, parent: TaskNode | undefined, startTs: number, endTs: number): number; /** * Clip the tasks by the start and end points. Take the easy route and drop * to duration 0 if out of bounds, since only durations are needed in the * end (for now). * Assumes owned tasks, so modifies in place. Can be called multiple times on * the same `tasks` because always computed from original event timing. * @param {Array} tasks * @param {number} startTs * @param {number} endTs */ static clipTasksByTs(tasks: Array, startTs: number, endTs: number): void; /** * @param {EventTimingEvent} interactionEvent */ static getPhaseTimes(interactionEvent: EventTimingEvent): { inputDelay: { startTs: number; endTs: number; }; processingDuration: { startTs: number; endTs: number; }; presentationDelay: { startTs: number; endTs: number; }; }; /** * @param {EventTimingEvent} interactionEvent * @param {LH.Trace} trace * @param {LH.Artifacts.ProcessedTrace} processedTrace * @param {Array} networkRecords * @return {{table: LH.Audit.Details.Table, phases: Record}} */ static getThreadBreakdownTable(interactionEvent: EventTimingEvent, trace: LH.Trace, processedTrace: LH.Artifacts.ProcessedTrace, networkRecords: Array): { table: LH.Audit.Details.Table; phases: Record; }; /** * @param {LH.Artifacts['TraceElements']} traceElements * @return {LH.Audit.Details.Table | undefined} */ static getTraceElementTable(traceElements: LH.Artifacts["TraceElements"]): LH.Audit.Details.Table | undefined; /** * @param {LH.Artifacts} artifacts * @param {LH.Audit.Context} context * @return {Promise} */ static audit(artifacts: LH.Artifacts, context: LH.Audit.Context): Promise; } export namespace UIStrings { let title: string; let failureTitle: string; let description: string; let inputDelay: string; let processingDuration: string; let presentationDelay: string; let displayValue: string; let eventTarget: string; } import { Audit } from './audit.js'; //# sourceMappingURL=work-during-interaction.d.ts.map