import { Pub } from "@e280/stz";
import { Ms } from "../../../units/ms.js";
import { Fps } from "../../../units/fps.js";
export type RealtimeGenerator = {
    play(): void;
    pause(): void;
    setFPS(v: Fps): void;
    isPlaying(): boolean;
    ticks(): AsyncGenerator<void>;
    onTick: Pub<[]>;
};
export declare const realtime: () => RealtimeGenerator;
export type FixedStepOptions = {
    fps: Fps;
    duration: Ms;
};
export declare const fixedStep: (opts: FixedStepOptions, onFrame: (t: Ms, index: number) => Promise<void> | void) => Promise<void>;
