/**
 * @license
 * Copyright 2022-2025 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Mei } from "../common/Mei.js";
import { AttributeElement } from "../elements/index.js";
import { Model } from "./Model.js";
import { PropertyModel } from "./PropertyModel.js";
export declare const GLOBAL_IDS: Set<number>;
export declare class AttributeModel extends PropertyModel<AttributeElement> implements AttributeElement {
    tag: AttributeElement.Tag;
    id: Mei;
    get readable(): boolean;
    get writable(): boolean;
    get fabricScoped(): boolean;
    get fixed(): boolean;
    get changesOmitted(): boolean | undefined;
    get requiredFields(): {
        id: number;
        tag: `${AttributeElement.Tag}`;
        name: string;
        type?: string;
        description?: string;
        details?: string;
        xref?: import("../index.js").Specification.CrossReference;
        children?: (import("../elements/BaseElement.js").BaseElement[] & import("../elements/ValueElement.js").ValueElement[]) | undefined;
        isGlobal?: boolean;
        isSeed?: boolean;
        asOf?: import("../index.js").Specification.Revision;
        until?: import("../index.js").Specification.Revision;
        constraint?: import("../index.js").Constraint.Definition;
        conformance?: import("../index.js").Conformance.Definition;
        access?: import("../index.js").Access.Definition;
        quality?: import("../index.js").Quality.Definition;
        byteSize?: import("../elements/ValueElement.js").ValueElement.ByteSize;
        default?: import("../index.js").FieldValue;
    };
    constructor(definition: AttributeElement.Properties);
    static isGlobal(model: Model): boolean;
    static get globalIds(): Set<number>;
    static Tag: import("../index.js").ElementTag;
}
//# sourceMappingURL=AttributeModel.d.ts.map