"use strict";
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
/** @packageDocumentation
 * @module Schema
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.GenericSchema = void 0;
const path = require("path");
const ClassRegistry_1 = require("../ClassRegistry");
const IModelHost_1 = require("../IModelHost");
const Schema_1 = require("../Schema");
const elementsModule = require("./GenericElements");
/** @public */
class GenericSchema extends Schema_1.Schema {
    static get schemaName() { return "Generic"; }
    static get schemaFilePath() { return path.join(IModelHost_1.KnownLocations.nativeAssetsDir, "ECSchemas", "Dgn", `${GenericSchema.schemaName}.ecschema.xml`); }
    static registerSchema() {
        if (this !== Schema_1.Schemas.getRegisteredSchema(this.schemaName)) {
            Schema_1.Schemas.unregisterSchema(this.schemaName);
            Schema_1.Schemas.registerSchema(this);
            ClassRegistry_1.ClassRegistry.registerModule(elementsModule, this);
        }
    }
}
exports.GenericSchema = GenericSchema;
//# sourceMappingURL=GenericSchema.js.map