class_docstr: Metadata needed to save and load an experiment to SQLAlchemy.
  
  Attributes:
      class_to_sqa_class: Mapping of user-facing class to SQLAlchemy class
          that it will be encoded to. This allows overwriting of the default
          classes to provide custom save functionality.
      experiment_type_enum: Enum containing valid Experiment types.
      generator_run_type_enum: Enum containing valid Generator Run types.
      json_encoder_registry: Mapping from user-facing types to their json
          serialization function.
class_docstr_tok: ["Metadata","needed","to","save","and","load","an","experiment","to","SQLAlchemy",".","Attributes",":","class_to_sqa_class",":","Mapping","of","user-facing","class","to","SQLAlchemy","class","that","it","will","be","encoded","to",".","This","allows","overwriting","of","the","default","classes","to","provide","custom","save","functionality",".","experiment_type_enum",":","Enum","containing","valid","Experiment","types",".","generator_run_type_enum",":","Enum","containing","valid","Generator","Run","types",".","json_encoder_registry",":","Mapping","from","user-facing","types","to","their","json","serialization","function","."]
code: def _default_class_to_sqa_class(
      self=None,
  ) -> Dict[Type[Base], Type[SQABase]]:
      # pyre-ignore [7]
      return {
          AbandonedArm: SQAAbandonedArm,
          Arm: SQAArm,
          Data: SQAData,
          Experiment: SQAExperiment,
          GenerationStrategy: SQAGenerationStrategy,
          GeneratorRun: SQAGeneratorRun,
          Parameter: SQAParameter,
          ParameterConstraint: SQAParameterConstraint,
          Metric: SQAMetric,
          Runner: SQARunner,
          Trial: SQATrial,
      }
  
imports: from dataclasses import dataclass, field
  from enum import Enum
  from typing import Any, Callable, Dict, Optional, Type
  from ax.core.arm import Arm
  from ax.core.batch_trial import AbandonedArm
  from ax.core.data import Data
  from ax.core.experiment import Experiment
  from ax.core.generator_run import GeneratorRun, GeneratorRunType
  from ax.core.metric import Metric
  from ax.core.parameter import Parameter
  from ax.core.parameter_constraint import ParameterConstraint
  from ax.core.runner import Runner
  from ax.core.trial import Trial
  from ax.modelbridge.generation_strategy import GenerationStrategy
  from ax.storage.json_store.registry import CORE_CLASS_DECODER_REGISTRY, CORE_CLASS_ENCODER_REGISTRY, CORE_DECODER_REGISTRY, CORE_ENCODER_REGISTRY
  from ax.storage.metric_registry import CORE_METRIC_REGISTRY
  from ax.storage.runner_registry import CORE_RUNNER_REGISTRY
  from ax.storage.sqa_store.db import SQABase
  from ax.storage.sqa_store.sqa_classes import SQAAbandonedArm, SQAArm, SQAData, SQAExperiment, SQAGenerationStrategy, SQAGeneratorRun, SQAMetric, SQAParameter, SQAParameterConstraint, SQARunner, SQATrial
  from ax.utils.common.base import Base
label_desc: Use image node_id 1 for calling the SQAConfig obj's underlying member method code with example usage: obj._default_class_to_sqa_class() and returns: dict