sig
  type t = Vg.image
  val void : Vg.image
  val const : Gg.color -> Vg.image
  val axial : Gg.Color.stops -> Gg.p2 -> Gg.p2 -> Vg.image
  val radial : Gg.Color.stops -> ?f:Gg.p2 -> Gg.p2 -> float -> Vg.image
  val cut : ?area:Vg.P.area -> Vg.path -> Vg.image -> Vg.image
  val cut_glyphs :
    ?area:[ `O of Vg.P.outline ] ->
    ?text:string ->
    ?blocks:bool * (int * int) list ->
    ?advances:Gg.v2 list -> Vg.font -> Vg.glyph list -> Vg.image -> Vg.image
  val blend : Vg.image -> Vg.image -> Vg.image
  val move : Gg.v2 -> Vg.image -> Vg.image
  val rot : float -> Vg.image -> Vg.image
  val scale : Gg.v2 -> Vg.image -> Vg.image
  val tr : Gg.m3 -> Vg.image -> Vg.image
  val is_void : Vg.image -> bool
  val equal : Vg.image -> Vg.image -> bool
  val equal_f : (float -> float -> bool) -> Vg.image -> Vg.image -> bool
  val compare : Vg.image -> Vg.image -> int
  val compare_f : (float -> float -> int) -> Vg.image -> Vg.image -> int
  val to_string : Vg.image -> string
  val pp : Format.formatter -> Vg.image -> unit
  val pp_f :
    (Format.formatter -> float -> unit) ->
    Format.formatter -> Vg.image -> unit
end