/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import type { Endpoint } from "#endpoint/Endpoint.js";
import { EndpointType } from "#endpoint/type/EndpointType.js";
import type { ImmutableSet } from "#general";
import type { Node } from "#node/Node.js";
/**
 * Access to all endpoints on a node, including the root endpoint.
 */
export declare class Endpoints implements ImmutableSet<Endpoint> {
    #private;
    constructor(node: Node);
    protected get node(): Node;
    has(endpoint: Endpoint | number | string): boolean;
    get size(): number;
    map<R>(mapper: (item: Endpoint<EndpointType.Empty>) => R): R[];
    find(predicate: (item: Endpoint) => boolean | undefined): Endpoint | undefined;
    filter(predicate: (item: Endpoint) => boolean | undefined): Endpoint[];
    [Symbol.iterator](): ArrayIterator<Endpoint<EndpointType.Empty>>;
    for(id: number | string): Endpoint;
}
//# sourceMappingURL=Endpoints.d.ts.map