/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import { Endpoint } from "#endpoint/Endpoint.js"; import { ClientGroup } from "#node/ClientGroup.js"; import { ClientNode } from "#node/ClientNode.js"; import { Node } from "#node/Node.js"; import { Environment, Environmental } from "@matter/general"; import { Binding } from "@matter/types/clusters/binding"; import { BindingServer } from "./BindingServer.js"; export type BindingResolution = { kind: "client"; node: ClientNode; endpoint: Endpoint; entry: Binding.Target; } | { kind: "group"; node: ClientGroup; endpoint: Endpoint; entry: Binding.Target; } | { kind: "server"; node: Node; endpoint: Endpoint; entry: Binding.Target; }; /** * Node-scoped service that manages the lifecycle of Matter binding connections. */ export declare class BindingManager { #private; constructor(env: Environment); register(server: BindingServer, sourceEndpoint: Endpoint, entry: Binding.Target): void; unregister(server: BindingServer, entry: Binding.Target): Promise; disposeServer(server: BindingServer): Promise; close(): Promise; static [Environmental.create](env: Environment): BindingManager; } export declare namespace BindingManager { /** Stable string key for a {@link Binding.Target} — shared by BindingServer and BindingManager maps. */ function entryKey(entry: Binding.Target): string; } //# sourceMappingURL=BindingManager.d.ts.map