"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ModuleNamespace = void 0;
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
const codegen_csharp_1 = require("@azure-tools/codegen-csharp");
const exports_1 = require("../llcsharp/exports");
const module_class_1 = require("./module-class");
class ModuleNamespace extends codegen_csharp_1.Namespace {
    get outputFolder() {
        return this.state.project.moduleFolder;
    }
    constructor(state, objectInitializer) {
        var _a;
        super(((_a = state.model.language.csharp) === null || _a === void 0 ? void 0 : _a.namespace) || 'INVALID.NAMESPACE', state.project);
        this.state = state;
        this.apply(objectInitializer);
        this.add(new codegen_csharp_1.ImportDirective(`static ${exports_1.ClientRuntime.Extensions}`));
        // module class
        this.moduleClass = new module_class_1.NewModuleClass(this, state);
    }
}
exports.ModuleNamespace = ModuleNamespace;
//# sourceMappingURL=module-namespace.js.map