/** * scheduler — the game loop that separates "something changed" from "draw now" * (ADR-0006). Coalesces requests, caps FPS, sleeps when idle, and allows a * synchronous render. */ import type { Disposable } from '../events/index.js'; export interface SchedulerOptions { readonly fps?: number | 'uncapped'; readonly onRender: () => void; } export interface Scheduler { requestRender(reason?: string): void; renderSync(): void; start(): void; stop(): void; setFps(fps: number | 'uncapped'): void; onFrame(cb: (dtMs: number) => void): Disposable; readonly running: boolean; readonly dirty: boolean; } export declare function createScheduler(options: SchedulerOptions): Scheduler; //# sourceMappingURL=index.d.ts.map