/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { EndpointNumber, GroupId, NodeId } from "#types";
export type Subject = Subject.Node | Subject.Group;
export declare namespace Subject {
    function Node(data: Omit<Node, "kind">): Subject;
    function isNode(subject?: Subject): subject is Node;
    interface Node {
        kind: "node";
        id: NodeId;
        catSubjects?: NodeId[];
    }
    function Group(data: Omit<Group, "kind">): Subject;
    function isGroup(subject?: Subject): subject is Group;
    interface Group {
        kind: "group";
        id: GroupId;
        hasValidMapping: boolean;
        endpoints: EndpointNumber[];
    }
}
//# sourceMappingURL=Subject.d.ts.map