/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Namespace, Semtag } from "#types";
/**
 * A Matter "semantic namespace" is a discrete set of {@link Semtag} definitions.
 */
export type SemanticNamespace = Record<string, Semtag>;
/**
 * Define a new semantic namespace.
 */
export declare function SemanticNamespace<const T extends SemanticNamespace.Definition>(definition: T): SemanticNamespace.Of<T>;
export declare namespace SemanticNamespace {
    interface Definition {
        id: Namespace;
        mfgCode?: number;
        tags: {
            [name: string]: {
                id: number;
                label: string;
            };
        };
    }
    type Of<T extends Definition> = {
        [name in keyof T["tags"]]: Semtag;
    };
}
//# sourceMappingURL=SemanticNamespace.d.ts.map