import type { FrameEvent } from '../../core/frame.js'; /** * Frame rate statistics returned by `useFps`. */ export type FpsStats = { /** Current frames per second (rolling average over the sample window). */ fps: number; /** Last frame duration in milliseconds. */ lastFrameMs: number; /** Total frames counted since mount. */ totalFrames: number; /** Per-phase timing from the most recent frame (if available). */ phases: FrameEvent['phases'] | undefined; }; /** * Hook that measures the actual terminal rendering frame rate. * * Subscribes to Ink's frame events and computes a rolling FPS average. * Returns `{ fps, lastFrameMs, totalFrames, phases }`. * * @param sampleWindowMs - Rolling window for FPS calculation (default 1000ms) */ export declare function useFps(sampleWindowMs?: number): FpsStats; //# sourceMappingURL=use-fps.d.ts.map