text: # DO NOT modify this file by hand, changes will be overwritten
  import sys
  from dataclasses import dataclass
  from inspect import getmembers, isclass
  from typing import (
      AbstractSet,
      Any,
      Generic,
      Mapping,
      MutableMapping,
      Optional,
      Sequence,
      Type,
      TypeVar,
  )
  
  from cloudformation_cli_python_lib.interface import BaseHookHandlerRequest, BaseModel
  from cloudformation_cli_python_lib.recast import recast_object
  from cloudformation_cli_python_lib.utils import deserialize_list
  
  T = TypeVar("T")
  
  
  def set_or_none(value: Optional[Sequence[T]]) -> Optional[AbstractSet[T]]:
      if value:
          return set(value)
      return None
  
  
  @dataclass
  class HookHandlerRequest(BaseHookHandlerRequest):
      pass
  
  
  @dataclass
  class TypeConfigurationModel(BaseModel):
  
      @classmethod
      def _deserialize(
          cls: Type["_TypeConfigurationModel"],
          json_data: Optional[Mapping[str, Any]],
      ) -> Optional["_TypeConfigurationModel"]:
          if not json_data:
              return None
          return cls(
          )
  
  
  # work around possible type aliasing issues when variable has same name as a model
  _TypeConfigurationModel = TypeConfigurationModel
  
  
  