/**
 * @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.
 *
 * You can manipulate child parts using {@link MutableSet} interface.
 *
 * Notifications of structural change bubble via {@link Endpoint.lifecycle.changed}.
 */
export declare class Parts extends EndpointContainer implements MutableSet<Endpoint, Endpoint | Agent> {
    #private;
    constructor(endpoint: Endpoint);
    add(child: Endpoint.Definition | Agent): Endpoint<EndpointType.Empty> | undefined;
    delete(child: Endpoint | Agent): boolean;
    require(id: string): Endpoint<EndpointType.Empty>;
    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