sig
  type key = private
      SigKey of PdgIndex.Signature.key
    | VarDecl of Cil_types.varinfo
    | Stmt of Cil_types.stmt
    | CallStmt of Cil_types.stmt
    | Label of Cil_types.stmt * Cil_types.label
    | SigCallKey of Cil_types.stmt * PdgIndex.Signature.key
  type t = key
  val ty : t Type.t
  val name : string
  val descr : t Descr.t
  val packed_descr : Structural_descr.pack
  val reprs : t list
  val equal : t -> t -> bool
  val compare : t -> t -> int
  val hash : t -> int
  val pretty_code : Format.formatter -> t -> unit
  val internal_pretty_code : Type.precedence -> Format.formatter -> t -> unit
  val pretty : Format.formatter -> t -> unit
  val varname : t -> string
  val mem_project : (Project_skeleton.t -> bool) -> t -> bool
  val copy : t -> t
  val param_key : int -> t
  val implicit_in_key : Locations.Zone.t -> t
  val entry_point : t
  val top_input : t
  val output_key : t
  val out_from_key : Locations.Zone.t -> t
  val decl_var_key : Cil_types.varinfo -> t
  val label_key : Cil_types.stmt -> Cil_types.label -> t
  val stmt_key : Cil_types.stmt -> t
  val call_key : Cil_types.stmt -> t
  val call_input_key : Cil_types.stmt -> int -> t
  val call_output_key : Cil_types.stmt -> Locations.Zone.t -> t
  val call_outret_key : Cil_types.stmt -> t
  val call_ctrl_key : Cil_types.stmt -> t
  val call_topin_key : Cil_types.stmt -> t
  val stmt : t -> Cil_types.stmt option
  val call_from_id : Cil_types.stmt -> Cil_types.stmt
end