sig
  type t = Event.t -> bool
  val register : string -> Filter.t -> unit
  val register_unnamed : Filter.t -> string
  val get : string -> Filter.t
  val all : Filter.t
  val none : Filter.t
  val before : int -> Filter.t
  val after : int -> Filter.t
  val trace_or_below : Filter.t
  val debug_or_below : Filter.t
  val info_or_below : Filter.t
  val warn_or_below : Filter.t
  val error_or_below : Filter.t
  val fatal_or_below : Filter.t
  val trace_or_above : Filter.t
  val debug_or_above : Filter.t
  val info_or_above : Filter.t
  val warn_or_above : Filter.t
  val error_or_above : Filter.t
  val fatal_or_above : Filter.t
  val level_below : Level.t -> Filter.t
  val level_above : Level.t -> Filter.t
  val level_equal : Level.t -> Filter.t
  val logger_equal : Name.t -> Filter.t
  val logger_not_equal : Name.t -> Filter.t
  val file_defined : Filter.t
  val file_undefined : Filter.t
  val file_equal : string -> Filter.t
  val file_not_equal : string -> Filter.t
  val line_defined : Filter.t
  val line_undefined : Filter.t
  val column_defined : Filter.t
  val column_undefined : Filter.t
  val message_defined : Filter.t
  val message_undefined : Filter.t
  val message_paje : Filter.t
  val message_not_paje : Filter.t
  val message_daikon : Filter.t
  val message_not_daikon : Filter.t
  val properties_empty : Filter.t
  val properties_not_empty : Filter.t
  val property_defined : string -> Filter.t
  val property_undefined : string -> Filter.t
  val property_equal : string -> string -> Filter.t
  val property_not_equal : string -> string -> Filter.t
  val property_equal_pred : string -> (string -> bool) -> Filter.t
  val property_not_equal_pred : string -> (string -> bool) -> Filter.t
  val exception_some : Filter.t
  val exception_none : Filter.t
  val logand : Filter.t -> Filter.t -> Filter.t
  val ( &&& ) : Filter.t -> Filter.t -> Filter.t
  val logor : Filter.t -> Filter.t -> Filter.t
  val ( ||| ) : Filter.t -> Filter.t -> Filter.t
  val logxor : Filter.t -> Filter.t -> Filter.t
  val ( ^^^ ) : Filter.t -> Filter.t -> Filter.t
  val not : Filter.t -> Filter.t
  val for_all : Filter.t list -> Filter.t
  val ( !&&& ) : Filter.t list -> Filter.t
  val exists : Filter.t list -> Filter.t
  val ( !||| ) : Filter.t list -> Filter.t
end