import { Game } from ".."; interface SimulationOptions { /** * The millisecond value to pass to the second argument of `setInterval`. If left * unspecified, this will default to the default milliseconds per tick rate of the * physics. */ frequency?: number; } declare class SimulationHandle { readonly stop: () => void; constructor(stop: () => void); } export default function simulatePhysics(game: Game, options?: SimulationOptions): SimulationHandle; interface LoopCallback { /** * @returns If the loop should stop. In other words, * `true` if it should stop, falsy if it should stop. */ (elapsedMs: number): unknown; } export declare function loopRequestAnimationFrame(callback: LoopCallback): void; export declare function loopSetInterval(callback: LoopCallback, interval: number): void; export declare class PhysicsTicker { private readonly game; private readonly cap; constructor(game: Game, cap?: number); update(elapsedMs: number): void; private simulateTicks; } export {};