/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Duration } from "./Duration.js";
import { Time, Timer } from "./Time.js";
/**
 * A {@link Timer} implementation that uses standard JavaScript timers.
 */
export declare class StandardTime extends Time {
    getTimer(name: string, duration: Duration, callback: Timer.Callback): StandardTimer;
    getPeriodicTimer(name: string, duration: Duration, callback: Timer.Callback): StandardTimer;
}
/**
 * A {@link Timer} implementation that uses standard JavaScript functions.
 */
export declare class StandardTimer implements Timer {
    #private;
    readonly name: string;
    private readonly callback;
    readonly isPeriodic: boolean;
    isRunning: boolean;
    get systemId(): number;
    constructor(name: string, duration: Duration, callback: Timer.Callback, isPeriodic: boolean);
    /**
     * The timer's interval.
     *
     * You can change this value but changes have no effect until the timer restarts.
     */
    set interval(interval: Duration);
    get interval(): Duration;
    get utility(): boolean;
    set utility(utility: boolean);
    start(): this;
    stop(): this;
}
//# sourceMappingURL=StandardTime.d.ts.map