/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import { ClusterBehavior } from "#behavior/cluster/ClusterBehavior.js"; import { ClusterBehaviorType } from "#behavior/cluster/ClusterBehaviorType.js"; import { FeatureBitmap, MatterModel } from "@matter/model"; import { AttributeId, ClusterId, CommandId } from "@matter/types"; /** * Obtain a {@link ClusterBehavior.Type} for a remote cluster. */ export declare function PeerBehavior(shape: PeerBehavior.ClusterShape): ClusterBehavior.Type; export declare namespace PeerBehavior { type ClusterShape = DiscoveredClusterShape | KnownClusterShape; /** * A cluster shape that we assemble using a combination of Matter standards and metadata discovered by reading from * a peer. */ interface DiscoveredClusterShape { kind: "discovered"; id: ClusterId; /** * The cluster revision the peer reports. Undefined if the peer did not report {@link ClusterRevision}. */ revision?: number; features?: FeatureBitmap | number; attributes?: AttributeId[]; commands?: CommandId[]; generatedCommands?: CommandId[]; commandFactory?: ClusterBehaviorType.CommandFactory; /** * Model used to resolve standard element names/shapes. Defaults to the global {@link Matter} model; a client * node supplies its own so custom or extended clusters resolve to real names. */ matter?: MatterModel; } /** * A known cluster shape that we instrument as is. */ interface KnownClusterShape { kind: "known"; behavior: ClusterBehavior.Type; commandFactory?: ClusterBehaviorType.CommandFactory; } } //# sourceMappingURL=PeerBehavior.d.ts.map