/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import type { BehaviorBacking } from "#behavior/internal/BehaviorBacking.js"; import type { Node } from "#node/Node.js"; import type { NodeProtocol } from "@matter/protocol"; /** * Protocol view of a {@link Node} * * This service maintains an optimized {@link NodeProtocol} that maps to the state of a {@link Node}. * * The protocol view only contains endpoints and server clusters with active backings; client clusters are excluded * as they are not part of the node's server-facing data model. {@link Behaviors} conveys backing state via the * public interface. */ export declare class ProtocolService { #private; constructor(node: Node); /** * Invoked by a backing when initialized. */ addCluster(backing: BehaviorBacking): void; /** * Invoked by a backing when closed. */ deleteCluster(backing: BehaviorBacking): void; /** * Invoked by a backing when there is a state change. * * This optimized path allows us to broadcast state changes without registering observers for every change. */ handleChange(backing: BehaviorBacking, props: string[]): void; /** * The {@link NodeProtocol}. */ get protocol(): NodeProtocol; } //# sourceMappingURL=ProtocolService.d.ts.map