text: # coding: utf-8
  
  """
  
  
      Generated by: https://openapi-generator.tech
  """
  
  from dataclasses import dataclass
  import re  # noqa: F401
  import sys  # noqa: F401
  import typing
  import urllib3
  
  from petstore_api import api_client, exceptions
  import decimal  # noqa: F401
  from datetime import date, datetime  # noqa: F401
  from frozendict import frozendict  # noqa: F401
  
  from petstore_api.schemas import (  # noqa: F401
      AnyTypeSchema,
      ComposedSchema,
      DictSchema,
      ListSchema,
      StrSchema,
      IntSchema,
      Int32Schema,
      Int64Schema,
      Float32Schema,
      Float64Schema,
      NumberSchema,
      DateSchema,
      DateTimeSchema,
      DecimalSchema,
      BoolSchema,
      BinarySchema,
      NoneSchema,
      none_type,
      InstantiationMetadata,
      Unset,
      unset,
      ComposedBase,
      ListBase,
      DictBase,
      NoneBase,
      StrBase,
      IntBase,
      Int32Base,
      Int64Base,
      Float32Base,
      Float64Base,
      NumberBase,
      DateBase,
      DateTimeBase,
      BoolBase,
      BinaryBase,
      Schema,
      _SchemaValidator,
      _SchemaTypeChecker,
      _SchemaEnumMaker
  )
  
  # path params
  OrderIdSchema = StrSchema
  RequestRequiredPathParams = typing.TypedDict(
      'RequestRequiredPathParams',
      {
          'order_id': OrderIdSchema,
      }
  )
  RequestOptionalPathParams = typing.TypedDict(
      'RequestOptionalPathParams',
      {
      },
      total=False
  )
  
  
  class RequestPathParams(RequestRequiredPathParams, RequestOptionalPathParams):
      pass
  
  
  request_path_order_id = api_client.PathParameter(
      name="order_id",
      style=api_client.ParameterStyle.SIMPLE,
      schema=OrderIdSchema,
      required=True,
  )
  _path = '/store/order/{order_id}'
  _method = 'DELETE'
  
  
  @dataclass
  class ApiResponseFor400(api_client.ApiResponse):
      response: urllib3.HTTPResponse
      body: Unset = unset
      headers: Unset = unset
  
  
  _response_for_400 = api_client.OpenApiResponse(
      response_cls=ApiResponseFor400,
  )
  
  
  @dataclass
  class ApiResponseFor404(api_client.ApiResponse):
      response: urllib3.HTTPResponse
      body: Unset = unset
      headers: Unset = unset
  
  
  _response_for_404 = api_client.OpenApiResponse(
      response_cls=ApiResponseFor404,
  )
  _status_code_to_response = {
      '400': _response_for_400,
      '404': _response_for_404,
  }
  
  
  class DeleteOrder(api_client.Api):
  
      def delete_order(
          self: api_client.Api,
          path_params: RequestPathParams = frozendict(),
          stream: bool = False,
          timeout: typing.Optional[typing.Union[int, typing.Tuple]] = None,
          skip_deserialization: bool = False,
      ) -> typing.Union[
          api_client.ApiResponseWithoutDeserialization
      ]:
          """
          Delete purchase order by ID
          :param skip_deserialization: If true then api_response.response will be set but
              api_response.body and api_response.headers will not be deserialized into schema
              class instances
          """
          self._verify_typed_dict_inputs(RequestPathParams, path_params)
  
          _path_params = {}
          for parameter in (
              request_path_order_id,
          ):
              parameter_data = path_params.get(parameter.name, unset)
              if parameter_data is unset:
                  continue
              serialized_data = parameter.serialize(parameter_data)
              _path_params.update(serialized_data)
          # TODO add cookie handling
  
          response = self.api_client.call_api(
              resource_path=_path,
              method=_method,
              path_params=_path_params,
              stream=stream,
              timeout=timeout,
          )
  
          if skip_deserialization:
              api_response = api_client.ApiResponseWithoutDeserialization(response=response)
          else:
              response_for_status = _status_code_to_response.get(str(response.status))
              if response_for_status:
                  api_response = response_for_status.deserialize(response, self.api_client.configuration)
              else:
                  api_response = api_client.ApiResponseWithoutDeserialization(response=response)
  
          if not 200 <= response.status <= 299:
              raise exceptions.ApiException(api_response=api_response)
  
          return api_response
  