/** * Timeline Analysis and Breakdown * * Provides utilities for analyzing request timing metrics and generating * human-readable timeline breakdowns. */ import type { RequestTimingMetrics } from './types'; export interface TimelineBreakdown { t0_userClick?: { event: string; timestamp?: string; measuredBy: string; note: string; }; t1_serverReceives?: { event: string; timestamp?: string; measuredBy: string; estimatedLatency?: string; note: string; }; t2_serverSendsFirstChunk?: { event: string; timestamp?: string; duration?: string; measuredBy: string; note: string; }; t3_clientReceivesFirstChunk?: { event: string; timestamp?: string; duration?: string; measuredBy: string; note: string; }; } export interface TimingComparison { server: { timeToFirstChunk: number | null; whatItMeasures: string; doesNotInclude: string[]; }; client: { timeToFirstChunk: number | null; whatItMeasures: string; includes: string[]; }; networkOverhead: number | null; breakdown: { serverProcessing: number; networkAndRender: number; total: number; } | null; } export interface TimelineAnalysis { timeline: TimelineBreakdown; measurements: { server: { timeToFirstChunk: string | null; whatItMeasures: string; doesNotInclude: string[]; }; client: { timeToFirstChunk: string | null; whatItMeasures: string; includes: string[]; }; comparison: TimingComparison; }; } /** * Generate timeline breakdown from request timing metrics */ export declare function generateTimelineBreakdown(metrics: RequestTimingMetrics, options?: { clientRequestStart?: number; clientFirstDataTime?: number; formatDuration?: (ms: number) => string; }): TimelineAnalysis; /** * Format timeline analysis for logging */ export declare function formatTimelineAnalysis(analysis: TimelineAnalysis): string; //# sourceMappingURL=timeline.d.ts.map