import { MonoTypeOperatorFunction, Observable } from 'rxjs'; /** * Sets the maximum expected FPS baseline. Call this once during application * bootstrap so the frame-rate tracker can normalise its score correctly. * * @param fps - The maximum FPS the display is expected to produce (default 60). */ export declare function setMaxFpsOnBootstrap(fps?: number): void; /** A point-in-time summary of the browser's rendering frame rate. */ export interface FrameRateSnapshot { /** Current average FPS over the sliding window. */ fps: number; /** Highest FPS observed during this session (at least `maxFps` from bootstrap). */ maxFps: number; /** Normalised performance score (0 = stalled, 100 = full frame rate). */ score: number; } /** * Observable that emits periodic snapshots of the current frame rate, * the observed maximum FPS, and a normalised performance score (0-100). * * Only emits while the document is visible to avoid skewed measurements * during background tabs. */ export declare const frameRateTracker$: Observable; /** * RxJS operator that throttles emissions to the browser's current frame rate. * Trailing values are emitted so the latest state is never lost. * * @example * ```ts * source$.pipe(throttleByFrameRate()).subscribe(render); * ``` */ export declare function throttleByFrameRate(): MonoTypeOperatorFunction; //# sourceMappingURL=frame-rate.d.ts.map