/**
 * @license
 * Copyright 2022-2026 Matter.js Authors
 * SPDX-License-Identifier: Apache-2.0
 */
import { Specification } from "../common/index.js";
import { Model } from "../models/index.js";
import { TraverseMap } from "./ModelVariantTraversal.js";
/**
 * Merge multiple variants of an element into a single element.
 */
export declare function MergedModel(revision: Specification.Revision, variants: TraverseMap, priorities?: MergedModel.Priorities): Model;
export declare namespace MergedModel {
    /**
     * Priorities define rules that control how values are merged.
     */
    type Priorities = {
        /**
         * An element type or "*" to match all elements.
         */
        [typeName: string]: {
            /**
             * A field name or "*" to match all fields.
             */
            [fieldName: string]: string[];
        };
    };
    /**
     * A default set of priorities for the variants included with matter.js. We currently have "chip" as preferred over
     * "spec" by default, but then have overridden to reverse this for a lot of fields.  Should probably revisit the
     * default at some point.
     */
    const DefaultPriorities: Priorities;
}
//# sourceMappingURL=MergedModel.d.ts.map