/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import { Behavior } from "#behavior/Behavior.js"; import { Schema } from "@matter/model"; import type { ClusterBehavior } from "./ClusterBehavior.js"; /** * To save memory we cache behavior implementations specialized for specific clusters. This allows for efficient * configuration of behaviors with conditional runtime logic. * * We key on the schema, the namespace and the client/server distinction because each is visible on the generated type. * Keying on schema alone would hand a caller a type reporting a different {@link ClusterBehavior.cluster}. This relies * on similar caching for schemas. */ export declare namespace ClusterBehaviorCache { function get(base: Behavior.Type, schema: Schema, namespace: object, forClient?: boolean): ClusterBehavior.Type {}, Uncapitalize> | undefined; function set(base: Behavior.Type, schema: Schema, namespace: object, type: ClusterBehavior.Type, forClient?: boolean): void; } //# sourceMappingURL=ClusterBehaviorCache.d.ts.map