"use strict";
/*---------------------------------------------------------------------------------------------
 *  Copyright (c) Microsoft Corporation. All rights reserved.
 *  Licensed under the MIT License. See License.txt in the project root for license information.
 *--------------------------------------------------------------------------------------------*/
Object.defineProperty(exports, "__esModule", { value: true });
const components_1 = require("./components");
const extensions_1 = require("./extensions");
const uid_1 = require("./uid");
const linq_1 = require("@azure-tools/linq");
class CommandOperation extends extensions_1.Extensions {
    constructor(name, initializer) {
        var _a;
        super();
        this.extensions = new linq_1.Dictionary();
        this.responses = new linq_1.Dictionary();
        this.details = {
            default: {
                uid: `command-operation:${uid_1.uid()}`,
                description: ((_a = initializer) === null || _a === void 0 ? void 0 : _a.description) || '',
                name,
            }
        };
        this.deprecated = false;
        this.pure = true;
        this.apply(initializer);
    }
}
exports.CommandOperation = CommandOperation;
class CommandComponents extends components_1.Components {
}
exports.CommandComponents = CommandComponents;
//# sourceMappingURL=command-operation.js.map