/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { DeviceClassification } from "../common/DeviceClassification.js";
import { DeviceTypeElement } from "../elements/index.js";
import { ConditionModel } from "./ConditionModel.js";
import { FieldModel } from "./FieldModel.js";
import { Model } from "./Model.js";
import { RequirementModel } from "./RequirementModel.js";
export declare class DeviceTypeModel extends Model<DeviceTypeElement, DeviceTypeModel.Child> implements DeviceTypeElement {
    tag: DeviceTypeElement.Tag;
    classification?: DeviceClassification;
    get requirements(): RequirementModel[];
    get revision(): any;
    constructor(definition: Model.Definition<DeviceTypeModel>, ...children: Model.ChildDefinition<DeviceTypeModel>[]);
    toElement(omitResources?: boolean, extra?: Record<string, unknown>): DeviceTypeElement;
    get id(): number;
    set id(id: number);
    static Tag: import("../index.js").ElementTag;
}
export declare namespace DeviceTypeModel {
    type Child = RequirementModel | FieldModel | ConditionModel;
}
//# sourceMappingURL=DeviceTypeModel.d.ts.map