sig
  type t = string * SlicingInternals.project
  type node =
      Src of SlicingInternals.fct_info
    | Slice of SlicingInternals.fct_slice
    | OptSlicingLevel of SlicingInternals.level_option
    | OptSliceCallers of bool
    | Action of (int * SlicingInternals.criterion)
  module V : sig type t = PrintSlice.PrintProject.node end
  module E :
    sig
      type t =
          (PrintSlice.PrintProject.node * PrintSlice.PrintProject.node) *
          Cil_types.stmt option
      val src : ('a * 'b) * '-> 'a
      val dst : ('a * 'b) * '-> 'b
    end
  type tfi = Undef | PersistSelect | Other
  val fi_type : SlicingInternals.fct_info -> PrintSlice.PrintProject.tfi
  val node_slice_callers : unit -> PrintSlice.PrintProject.node
  val node_slice_calls : unit -> PrintSlice.PrintProject.node
  val iter_vertex :
    (PrintSlice.PrintProject.node -> unit) ->
    'a * SlicingInternals.project -> unit
  val iter_edges_slices :
    ((PrintSlice.PrintProject.node * PrintSlice.PrintProject.node) *
     Cil_types.stmt option -> unit) ->
    SlicingInternals.project -> unit
  val iter_edges_actions :
    ((PrintSlice.PrintProject.node * PrintSlice.PrintProject.node) *
     'a option -> 'b) ->
    SlicingInternals.project -> unit
  val iter_edges_src_fun :
    ((PrintSlice.PrintProject.node * PrintSlice.PrintProject.node) *
     'a option -> unit) ->
    SlicingInternals.project -> unit
  val iter_edges_e :
    ((PrintSlice.PrintProject.node * PrintSlice.PrintProject.node) *
     Cil_types.stmt option -> unit) ->
    'a * SlicingInternals.project -> unit
  val color_soft_green : int
  val color_medium_green : int
  val _color_soft_blue : int
  val color_soft_orange : int
  val color_medium_orange : int
  val _color_green_yellow : int
  val color_soft_yellow : int
  val color_medium_yellow : int
  val _color_pale_orange : int
  val color_soft_pink : int
  val color_medium_pink : int
  val color_soft_purple : int
  val graph_attributes : 'a * '-> [> `Label of 'a ] list
  val default_vertex_attributes : '-> [> `Style of [> `Filled ] ] list
  val vertex_name : PrintSlice.PrintProject.node -> string
  val vertex_attributes :
    PrintSlice.PrintProject.node ->
    [> `Fillcolor of int
     | `Fontsize of int
     | `Label of string
     | `Shape of [> `Box | `Ellipse | `Plaintext ] ]
    list
  val default_edge_attributes : '-> [> `Fontsize of int ] list
  val edge_attributes :
    (PrintSlice.PrintProject.node * PrintSlice.PrintProject.node) *
    Cil_types.stmt option ->
    [> `Label of string | `Style of [> `Invis ] ] list
  val get_subgraph :
    PrintSlice.PrintProject.node ->
    Graph.Graphviz.DotAttributes.subgraph option
end