class_docstr: Class that manages configuration files for a DVC repo.
  
  Args:
      dvc_dir (str): optional path to `.dvc` directory, that is used to
          access repo-specific configs like .dvc/config and
          .dvc/config.local.
      validate (bool): optional flag to tell dvc if it should validate the
          config or just load it as is. 'True' by default.
  
  Raises:
      ConfigError: thrown if config has an invalid format.
code: def _resolve(conf_dir, path):
      from .config_schema import ExpPath, RelPath
  
      if re.match(r"\w+://", path):
          return path
  
      if os.path.isabs(path):
          return path
  
      # on windows convert slashes to backslashes
      # to have path compatible with abs_conf_dir
      if os.path.sep == "\\" and "/" in path:
          path = path.replace("/", "\\")
  
      expanded = os.path.expanduser(path)
      if os.path.isabs(expanded):
          return ExpPath(expanded, path)
  
      return RelPath(os.path.abspath(os.path.join(conf_dir, path)))
  
imports: import os
  import re
  from contextlib import contextmanager
  from functools import partial
  from typing import TYPE_CHECKING, Dict, Optional
  from funcy import compact, memoize, re_find
  from dvc.exceptions import DvcException, NotDvcRepoError
  from dvc.log import logger
  from .utils.objects import cached_property
label_desc: Use image node_id 13 for calling the Config obj's underlying member method code with example usage: obj._resolve(conf_dir, path) and returns: RelPath, path, path, ExpPath