sig
  val blank : Tk.imagePhoto -> unit
  val configure :
    ?data:string ->
    ?file:string ->
    ?format:string ->
    ?gamma:float ->
    ?height:int ->
    ?palette:Tk.paletteType -> ?width:int -> Tk.imagePhoto -> unit
  val configure_get : Tk.imagePhoto -> string
  val copy :
    src:Tk.imagePhoto ->
    ?dst_area:int * int * int * int ->
    ?shrink:unit ->
    ?src_area:int * int * int * int ->
    ?subsample:int * int -> ?zoom:int * int -> Tk.imagePhoto -> unit
  val create :
    ?name:Tk.imagePhoto ->
    ?data:string ->
    ?file:string ->
    ?format:string ->
    ?gamma:float ->
    ?height:int ->
    ?palette:Tk.paletteType -> ?width:int -> unit -> [> `Photo of string ]
  val delete : Tk.imagePhoto -> unit
  val get : Tk.imagePhoto -> x:int -> y:int -> int * int * int
  val height : Tk.imagePhoto -> int
  val put :
    ?dst_area:int * int * int * int ->
    Tk.imagePhoto -> Tk.color list list -> unit
  val read :
    file:string ->
    ?dst_pos:int * int ->
    ?format:string ->
    ?shrink:unit -> ?src_area:int * int * int * int -> Tk.imagePhoto -> unit
  val redither : Tk.imagePhoto -> unit
  val width : Tk.imagePhoto -> int
  val write :
    file:string ->
    ?format:string ->
    ?src_area:int * int * int * int -> Tk.imagePhoto -> unit
end