/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Mei } from "../common/Mei.js";
import { ElementTag } from "../common/index.js";
import { BaseElement } from "./BaseElement.js";
import { ValueElement } from "./ValueElement.js";
/**
 * A field element defines a field in a list, struct, enum or bitmap.
 */
export interface FieldElement extends ValueElement {
    tag: `${FieldElement.Tag}`;
    /**
     * Fields must have IDs but they may be implied by the field's position in its parent.
     */
    id?: Mei;
    /**
     * Alternate field name.
     *
     * This is used for the full name of feature bitfields.
     */
    title?: string;
    children?: FieldElement[];
}
export declare function FieldElement(definition: FieldElement.Properties, ...children: FieldElement[]): FieldElement;
export declare namespace FieldElement {
    type Tag = ElementTag.Field;
    const Tag = ElementTag.Field;
    type Properties = BaseElement.Properties<FieldElement>;
}
//# sourceMappingURL=FieldElement.d.ts.map