class_docstr: KeyBindings class that can dynamically returns any KeyBindings.
  
  :param get_key_bindings: Callable that returns a :class:`.KeyBindings` instance.
code: def __init__(
      self, get_key_bindings: Callable[[], KeyBindingsBase | None]
  ) -> None:
      self.get_key_bindings = get_key_bindings
      self.__version = 0
      self._last_child_version = None
      self._dummy = KeyBindings()
  
imports: from __future__ import annotations
  from abc import ABCMeta, abstractmethod, abstractproperty
  from inspect import isawaitable
  from typing import TYPE_CHECKING, Any, Callable, Coroutine, Hashable, Sequence, Tuple, TypeVar, Union, cast
  from prompt_toolkit.cache import SimpleCache
  from prompt_toolkit.filters import FilterOrBool, Never, to_filter
  from prompt_toolkit.keys import KEY_ALIASES, Keys
label_desc: Use image node_id 1 to create a new DynamicKeyBindings object from inherited base classes: _Proxy with example: obj = DynamicKeyBindings(get_key_bindings)