class_docstr: A base class for defining methods that all input/output components should have.
class_docstr_tok: ["A","base","class","for","defining","methods","that","all","input\/output","components","should","have","."]
docstr: The typing information for this component as a dictionary whose values are a list of 2 strings: [Python type, language-agnostic description].
  Keys of the dictionary are: raw_input, raw_output, serialized_input, serialized_output
code: def api_info(self) -> dict[str, Any]:
      """
      The typing information for this component as a dictionary whose values are a list of 2 strings: [Python type, language-agnostic description].
      Keys of the dictionary are: raw_input, raw_output, serialized_input, serialized_output
      """
      if self.data_model is not None:
          return self.data_model.model_json_schema()
      raise NotImplementedError(
          f"The api_info method has not been implemented for {self.get_block_name()}"
      )
  
imports: from __future__ import annotations
  import abc
  import hashlib
  import json
  import sys
  import warnings
  from abc import ABC, abstractmethod
  from enum import Enum
  from pathlib import Path
  from typing import TYPE_CHECKING, Any, Callable
  from gradio_client.documentation import set_documentation_group
  from PIL import Image
  from gradio import utils
  from gradio.blocks import Block, BlockContext
  from gradio.component_meta import ComponentMeta
  from gradio.data_classes import GradioDataModel
  from gradio.events import EventListener
  from gradio.layouts import Form
  from gradio.processing_utils import move_files_to_cache
label_desc: Use image node_id 10 for calling the Component obj's underlying member method code with example usage: obj.api_info() and returns: self