/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import { Diagnostic, Duration, Timer } from "@matter/general"; import type { Behavior } from "../Behavior.js"; import type { Reactor } from "../Reactor.js"; import type { BehaviorBacking } from "./BehaviorBacking.js"; /** * A {@link Timer} owned by a behavior; see {@link Behavior.reactorTimer}. * * Each start installs a reactor for that run only. Stopping releases it, as does the end of the reaction to the expiry * of a one-shot timer, so restarting or replacing the timer does not accumulate reactors. A timer does not start once * its behavior closes. */ export declare class BehaviorTimer implements Timer { #private; constructor(backing: BehaviorBacking, name: string, interval: Duration, periodic: boolean, reactor: Reactor<[], unknown>, options?: Behavior.ReactorTimerOptions); get name(): string; get utility(): boolean; set utility(utility: boolean); get systemId(): unknown; get interval(): Duration; set interval(interval: Duration); get isPeriodic(): boolean; get elapsed(): Diagnostic.Elapsed | undefined; get isRunning(): boolean; start(): this; stop(): this; } //# sourceMappingURL=BehaviorTimer.d.ts.map