/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import type { Observable } from "@matter/general"; import type { Reactor } from "../Reactor.js"; import type { BehaviorBacking } from "./BehaviorBacking.js"; /** * Used by BehaviorBacking to manage reactors and reactions. */ export declare class Reactors { #private; constructor(backing: BehaviorBacking); get backing(): BehaviorBacking; close(): Promise; add>(observable: O, reactor: Reactor, ReturnType>, options?: Reactor.Options): void; /** * Stop matching reactors from receiving emissions without waiting for an ongoing reaction, which {@link close} * still awaits. */ detach(selector: Reactor.Selector): void; remove(selector: Reactor.Selector): Promise<(void | undefined)[]>; deleteClosedBacking(backing: ReactorBacking): void; get resource(): import("../state/managed/Datasource.js").Datasource; } /** * Implementation of a single reactor. */ declare class ReactorBacking { #private; constructor(reactors: Reactors, observable: Observable, reactor: Reactor, { offline, once, lock }: Reactor.Options); is(observable?: Observable, reactor?: Reactor): boolean; close(): Promise | undefined; detach(): void; toString(): string; } export {}; //# sourceMappingURL=Reactors.d.ts.map