/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { DeviceClassification, ElementTag } from "../common/index.js";
import { BaseElement } from "./BaseElement.js";
import { ConditionElement } from "./ConditionElement.js";
import { FieldElement } from "./FieldElement.js";
import { RequirementElement } from "./RequirementElement.js";
/**
 * Details on a specific device as defined in the Matter specification.
 *
 * TODO - extract/merge DeviceTypes.ts?
 */
export interface DeviceTypeElement extends BaseElement {
    tag: `${DeviceTypeElement.Tag}`;
    classification?: `${DeviceClassification}`;
    category?: string;
    children?: (RequirementElement | FieldElement | ConditionElement)[];
}
export declare function DeviceTypeElement(definition: DeviceTypeElement.Properties, ...children: (RequirementElement | FieldElement | ConditionElement)[]): DeviceTypeElement;
export declare namespace DeviceTypeElement {
    type Tag = ElementTag.DeviceType;
    const Tag = ElementTag.DeviceType;
    type Properties = BaseElement.Properties<DeviceTypeElement>;
}
//# sourceMappingURL=DeviceTypeElement.d.ts.map