text: import { __extends } from "tslib";
  import { DeregisterStreamConsumerInput } from "../models/models_0";
  import { deserializeAws_json1_1DeregisterStreamConsumerCommand, serializeAws_json1_1DeregisterStreamConsumerCommand, } from "../protocols/Aws_json1_1";
  import { getSerdePlugin } from "@aws-sdk/middleware-serde";
  import { Command as $Command } from "@aws-sdk/smithy-client";
  var DeregisterStreamConsumerCommand = /** @class */ (function (_super) {
      __extends(DeregisterStreamConsumerCommand, _super);
      // Start section: command_properties
      // End section: command_properties
      function DeregisterStreamConsumerCommand(input) {
          var _this = 
          // Start section: command_constructor
          _super.call(this) || this;
          _this.input = input;
          return _this;
          // End section: command_constructor
      }
      DeregisterStreamConsumerCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {
          this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));
          var stack = clientStack.concat(this.middlewareStack);
          var logger = configuration.logger;
          var clientName = "KinesisClient";
          var commandName = "DeregisterStreamConsumerCommand";
          var handlerExecutionContext = {
              logger: logger,
              clientName: clientName,
              commandName: commandName,
              inputFilterSensitiveLog: DeregisterStreamConsumerInput.filterSensitiveLog,
              outputFilterSensitiveLog: function (output) { return output; },
          };
          if (typeof logger.info === "function") {
              logger.info({
                  clientName: clientName,
                  commandName: commandName,
              });
          }
          var requestHandler = configuration.requestHandler;
          return stack.resolve(function (request) {
              return requestHandler.handle(request.request, options || {});
          }, handlerExecutionContext);
      };
      DeregisterStreamConsumerCommand.prototype.serialize = function (input, context) {
          return serializeAws_json1_1DeregisterStreamConsumerCommand(input, context);
      };
      DeregisterStreamConsumerCommand.prototype.deserialize = function (output, context) {
          return deserializeAws_json1_1DeregisterStreamConsumerCommand(output, context);
      };
      return DeregisterStreamConsumerCommand;
  }($Command));
  export { DeregisterStreamConsumerCommand };
  //# sourceMappingURL=DeregisterStreamConsumerCommand.js.map