import { type IKSolveMode } from '../IKSolver'; export interface IKLatencyCellSpec { mode: IKSolveMode; chainLength: 2 | 3 | 5 | 10; taskCount: number; seed?: number; } export interface IKLatencyCellResult extends IKLatencyCellSpec { totalMs: number; microsecondsPerSolve: number; outputBytes: Uint8Array; } export interface IKLatencyMatrixOptions { taskCount?: number; warmupRuns?: number; measuredRuns?: number; seed?: number; } export interface IKLatencyMatrixCell { mode: IKSolveMode; chainLength: 2 | 3 | 5 | 10; medianMicrosecondsPerSolve: number; runMicrosecondsPerSolve: number[]; } export declare const PAPER_7_IK_CHAIN_LENGTHS: readonly [2, 3, 5, 10]; export declare const PAPER_7_IK_MODES: readonly ["analytic", "ccd", "fabrik"]; export declare function runIKLatencyProbe(spec: IKLatencyCellSpec): Uint8Array; export declare function benchmarkIKLatencyCell(spec: IKLatencyCellSpec): IKLatencyCellResult; export declare function benchmarkIKLatencyMatrix(options?: IKLatencyMatrixOptions): IKLatencyMatrixCell[]; export declare function formatIKLatencyMarkdown(cells: IKLatencyMatrixCell[]): string; //# sourceMappingURL=IKLatencyProbe.d.ts.map