export declare class InteractionEffectsGovernor { private lastInteractiveTs; private deltas; private degraded; private strikes; private lastStrikeTs; private cleanStreak; /** * Record one rendered frame and decide whether post effects may run. * Call exactly once per render() with the frame timestamp. * Idle (non-interacting) frames always render at full quality. * * `unstable` marks frames whose timing does not reflect steady-state * rendering (geometry still streaming/uploading): they neither count * toward degradation nor toward a clean streak. * * `expectedIntervalMs` is the app's own intentional cap on continuous * render cadence (the large-model interaction throttle). When set, a * frame is only "missed" relative to that slower schedule — otherwise * the deliberately throttled cadence would read as GPU misses. */ frame(interacting: boolean, now: number, unstable?: boolean, expectedIntervalMs?: number): boolean; } //# sourceMappingURL=interaction-effects-governor.d.ts.map