/** * Allow the scheduler to be modified, e.g. when switching to an immersive XRSession. * * TODO: we may want to only do this for a subset of animations, like just those subject to * an XRSession, while letting others use the default. This global hook won't work for that. * * @param {{requestAnimationFrame, cancelAnimationFrame}} scheduler - an object holding * the two scheduling functions. */ export function setAnimationScheduler(scheduler: { requestAnimationFrame: any; cancelAnimationFrame: any; }): void; export default Runner; /** * @class Runner * A container for {@link Tween} instances that handles invoking them on each animation frame. */ declare class Runner { tweens: any[]; destructor(): void; /** * Add a tween to the runner. It will be invoked on the next frame, not immediately. * @param {Tween} tween */ start(tween: Tween): void; /** * Remove a tween from the runner. * @param tween */ stop(tween: any): void; /** * Pause a tween; call `runner.start(tween)` to unpause it * @param tween */ pause(tween: any): void; _tick(now: any): void; /** * Stop all running tweens. */ stopAll(): void; /** * Override to specify a function that will be called at the end of every frame, after all * tweens have been updated. */ onTick(): void; /** * Override to specify a function that will be called after all running tweens have completed. */ onDone(): void; }