/** * @license * Copyright 2022-2026 Matter.js Authors * SPDX-License-Identifier: Apache-2.0 */ import { MutableSet } from "@matter/general"; import { Agent } from "../Agent.js"; import { Endpoint } from "../Endpoint.js"; import { EndpointType } from "../type/EndpointType.js"; import { EndpointContainer } from "./EndpointContainer.js"; /** * Manages the parent-child relationship between endpoints as defined by the "Parts" attribute of the Basic Information * cluster. * * Add child parts with {@link add}. A part leaves its parent when it is closed or deleted; {@link delete} and * {@link clear} throw. * * Notifications of structural change bubble via {@link Endpoint.lifecycle.changed}. */ export declare class Parts extends EndpointContainer implements MutableSet { #private; constructor(endpoint: Endpoint); add(child: Endpoint.Definition | Agent): Endpoint | undefined; /** * @deprecated Always throws; remove the endpoint with {@link Endpoint.close} or {@link Endpoint.delete}. */ delete(child: Endpoint | Agent): never; /** * @deprecated Always throws; remove each endpoint with {@link Endpoint.close} or {@link Endpoint.delete}. */ clear(): never; remove(endpoint: Endpoint): boolean; require(id: string): Endpoint; has(identity: string | Endpoint | Agent): boolean; indexOf(child: Endpoint | Agent): number; /** * Initialize all uninitialized Parts. * * Invoked automatically by the owner after behaviors initialize. */ initialize(): import("@matter/general").MaybePromise; } //# sourceMappingURL=Parts.d.ts.map