export interface GameLoopCallbacks {
    /** Called every frame with delta in seconds */
    update(dt: number): void;
    /** Called at fixed intervals (physics) */
    fixedUpdate(fixedDt: number): void;
    /** Called every frame after update */
    render(interpolation: number): void;
}
export declare class GameLoop {
    private callbacks;
    private _running;
    private _rafId;
    private _lastTime;
    private _accumulator;
    private _frameCount;
    private _fpsTime;
    private _fps;
    private _timeScale;
    fixedTimestep: number;
    maxDelta: number;
    constructor(callbacks: GameLoopCallbacks);
    get running(): boolean;
    get fps(): number;
    get frameCount(): number;
    get timeScale(): number;
    set timeScale(v: number);
    start(): void;
    stop(): void;
    /** Run a single frame manually (for step-debug) */
    stepFrame(dt?: number): void;
    private tick;
}
