export default Ticker;
/**
 * Simulation tick generator
 * Dispatches "tick" every animation frame or "maxDelay" time, whichever happens to be soonest
 * This is essentially the timing bus that all the simulation systems subscribe to for their step advancement
 *
 *
 * @example
 *      ticker.onTick.add(delta_s => {
 *          //do something every tick
 *       });
 *       ticker.start();
 *
 * @author Alex Goldring
 * @copyright Company Named Limited (c) 2026
 */
declare class Ticker {
    /**
     * @readonly
     * @type {Clock}
     */
    readonly clock: Clock;
    /**
     * When `true`, ticking is suspended while the host document/tab is in the
     * background (hidden, or stored in the back/forward cache) and resumes from
     * the current moment once it returns to the foreground.
     *
     * This avoids dispatching a flood of catch-up ticks (or one huge delta) for
     * the time spent suspended, which would otherwise destabilise the simulation.
     *
     * Has no effect in environments without document/visibility support (e.g.
     * Node.js), where the relevant lifecycle events simply never fire.
     *
     * @type {boolean}
     */
    suspend_in_background: boolean;
    /**
     * Dispatches time delta in seconds since last tick
     * @readonly
     * @type {Signal<number>}
     */
    readonly onTick: Signal<number>;
    /**
     *
     * @param {number} [maxTimeout]
     */
    start({ maxTimeout }?: number): void;
    pause(): void;
    resume(): void;
    stop(): void;
    #private;
}
import Clock from '../Clock.js';
import Signal from "../../core/events/signal/Signal.js";
//# sourceMappingURL=Ticker.d.ts.map