import { z } from "zod"; import type { AnalyzeTraceOptions, DataStatus, SupportStatus } from "../types.js"; export declare const analyzeAnimationHitchesSchema: z.ZodObject<{ tracePath: z.ZodString; topN: z.ZodDefault; minDurationMs: z.ZodDefault; timeRangeMs: z.ZodOptional>; outputFormat: z.ZodOptional>; }, "strip", z.ZodTypeAny, { tracePath: string; topN: number; minDurationMs: number; outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined; timeRangeMs?: { startMs: number; endMs: number; } | undefined; }, { tracePath: string; outputFormat?: "markdown" | "json" | "both" | "verify-fix-table" | undefined; topN?: number | undefined; minDurationMs?: number | undefined; timeRangeMs?: { startMs: number; endMs: number; } | undefined; }>; export type AnalyzeAnimationHitchesInput = z.infer; export interface HitchEntry { startNs: number; startFmt: string; durationNs: number; durationMs: number; durationFmt: string; hitchType: string; /** Short identifier for the source (CommitTime, RenderServerCommit, etc.) when present. */ source?: string; } export interface AnalyzeAnimationHitchesResult { ok: boolean; tracePath: string; totals: { rows: number; totalDurationMs: number; longestMs: number; averageMs: number; /** Hitches above 100ms (user-perceptible per Apple's framing). */ perceptible: number; }; byType: Record; top: HitchEntry[]; diagnosis: string; /** * Disambiguates empty arrays into "no data in the trace" vs "trace could * not be exported" vs "data was exported partially". See {@link DataStatus}. * * @deprecated v1.14 item I. Use `supportStatus[]` instead. */ status: DataStatus; /** v1.14+. Unified per-area status. See {@link SupportStatus}. */ supportStatus: SupportStatus[]; } /** Pure: turn parsed XML into the analyzed result. */ export declare function analyzeAnimationHitchesFromXml(xml: string, tracePath: string, topN?: number, minDurationMs?: number, timeRangeMs?: { startMs: number; endMs: number; }): AnalyzeAnimationHitchesResult; export declare function analyzeAnimationHitches(input: AnalyzeAnimationHitchesInput, options?: AnalyzeTraceOptions): Promise;