class_docstr: Base class for MkDocs configuration, plugin configuration (and sub-configuration) objects.
  
  It should be subclassed and have `ConfigOption`s defined as attributes.
  For examples, see mkdocs/contrib/search/__init__.py and mkdocs/config/defaults.py.
  
  Behavior as it was prior to MkDocs 1.4 is now handled by LegacyConfig.
class_docstr_tok: ["Base","class","for","MkDocs","configuration",",","plugin","configuration","(","and","sub-configuration",")","objects",".","It","should","be","subclassed","and","have","`","ConfigOption","`","s","defined","as","attributes",".","For","examples",",","see","mkdocs\/contrib\/search\/__init__.py","and","mkdocs\/config\/defaults.py",".","Behavior","as","it","was","prior","to","MkDocs","1.4","is","now","handled","by","LegacyConfig","."]
code: def __init__(self, config_file_path: str | bytes | None = None):
      super().__init__()
      self.__user_configs: list[dict] = []
      self.set_defaults()
  
      self._schema_keys = {k for k, v in self._schema}
      # Ensure config_file_path is a Unicode string
      if config_file_path is not None and not isinstance(
          config_file_path, str
      ):
          try:
              # Assume config_file_path is encoded with the file system encoding.
              config_file_path = config_file_path.decode(
                  encoding=sys.getfilesystemencoding()
              )
          except UnicodeDecodeError:
              raise ValidationError(
                  "config_file_path is not a Unicode string."
              )
      self.config_file_path = config_file_path or ""
  
imports: from __future__ import annotations
  import functools
  import logging
  import os
  import sys
  import warnings
  from collections import UserDict
  from contextlib import contextmanager
  from typing import IO, TYPE_CHECKING, Any, Generic, Iterator, List, Mapping, Sequence, Tuple, TypeVar, overload
  from mkdocs import exceptions, utils
  from mkdocs.utils import weak_property
label_desc: Use image node_id 3 to create a new Config object from inherited base classes: UserDict with example: obj = Config(config_file_path)