class_docstr: Wraps around a `KeyBindings`. Disable/enable all the key bindings according to
  the given (additional) filter.::
  
      @Condition
      def setting_is_true():
          return True  # or False
  
      registry = ConditionalKeyBindings(key_bindings, setting_is_true)
  
  When new key bindings are added to this object. They are also
  enable/disabled according to the given `filter`.
  
  :param registries: List of :class:`.KeyBindings` objects.
  :param filter: :class:`~prompt_toolkit.filters.Filter` object.
code: def __init__(
      self, key_bindings: KeyBindingsBase, filter: FilterOrBool = True
  ) -> None:
      _Proxy.__init__(self)
  
      self.key_bindings = key_bindings
      self.filter = to_filter(filter)
  
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 ConditionalKeyBindings object from inherited base classes: _Proxy with example: obj = ConditionalKeyBindings(key_bindings, filter)