sig
  exception Non_supported_method
  exception Wrong_image_class
  type image_class =
      ClassRgb24
    | ClassIndex8
    | ClassIndex16
    | ClassRgba32
    | ClassCmyk32
  class type imgsize = object method height : int method width : int end
  class type ['a] map =
    object
      method get : int -> int -> 'a
      method height : int
      method set : int -> int -> '-> unit
      method unsafe_access : int -> int -> string * int
      method unsafe_get : int -> int -> 'a
      method unsafe_set : int -> int -> '-> unit
      method width : int
    end
  class type oimage =
    object
      method coerce : OImages.oimage
      method destroy : unit
      method dump : string
      method height : int
      method image : Images.t
      method image_class : OImages.image_class
      method infos : Images.info list
      method save :
        string -> Images.format option -> Images.save_option list -> unit
      method set_infos : Images.info list -> unit
      method width : int
    end
  class type rgba32_class =
    object
      method blit :
        int ->
        int -> OImages.rgba32_class -> int -> int -> int -> int -> unit
      method coerce : oimage
      method destroy : unit
      method dump : string
      method get : int -> int -> Color.rgba
      method height : int
      method image : Images.t
      method image_class : image_class
      method infos : Images.info list
      method resize :
        (float -> unit) option -> int -> int -> OImages.rgba32_class
      method save :
        string -> Images.format option -> Images.save_option list -> unit
      method set : int -> int -> Color.rgba -> unit
      method set_infos : Images.info list -> unit
      method sub : int -> int -> int -> int -> OImages.rgba32_class
      method unsafe_access : int -> int -> string * int
      method unsafe_get : int -> int -> Color.rgba
      method unsafe_set : int -> int -> Color.rgba -> unit
      method width : int
    end
  class rgba32_wrapper : Rgba32.t -> rgba32_class
  class rgba32 : int -> int -> rgba32_class
  class rgba32_filled : int -> int -> Color.rgba -> rgba32_class
  class rgba32_with : int -> int -> Info.info list -> string -> rgba32_class
  class type rgb24_class =
    object
      method blit :
        int -> int -> OImages.rgb24_class -> int -> int -> int -> int -> unit
      method coerce : oimage
      method destroy : unit
      method dump : string
      method get : int -> int -> Color.rgb
      method height : int
      method image : Images.t
      method image_class : image_class
      method infos : Images.info list
      method resize :
        (float -> unit) option -> int -> int -> OImages.rgb24_class
      method save :
        string -> Images.format option -> Images.save_option list -> unit
      method set : int -> int -> Color.rgb -> unit
      method set_infos : Images.info list -> unit
      method sub : int -> int -> int -> int -> OImages.rgb24_class
      method to_rgba32 : OImages.rgba32_class
      method unsafe_access : int -> int -> string * int
      method unsafe_get : int -> int -> Color.rgb
      method unsafe_set : int -> int -> Color.rgb -> unit
      method width : int
    end
  class rgb24_wrapper : Rgb24.t -> rgb24_class
  class rgb24 : int -> int -> rgb24_class
  class rgb24_filled : int -> int -> Color.rgb -> rgb24_class
  class rgb24_with : int -> int -> Info.info list -> string -> rgb24_class
  class type index8_class =
    object
      method add_color : Color.rgb -> int
      method add_colors : Color.rgb list -> int list
      method blit :
        int ->
        int -> OImages.index8_class -> int -> int -> int -> int -> unit
      method coerce : oimage
      method colormap : Color.rgb Color.map
      method destroy : unit
      method dump : string
      method find_exact : Color.rgb -> int
      method find_nearest : Color.rgb -> int
      method get : int -> int -> Index8.elt
      method get_color : int -> int -> Color.rgb
      method height : int
      method image : Images.t
      method image_class : image_class
      method infos : Images.info list
      method map : Color.rgb array
      method max : int
      method query_color : int -> Color.rgb
      method save :
        string -> Images.format option -> Images.save_option list -> unit
      method set : int -> int -> Index8.elt -> unit
      method set_infos : Images.info list -> unit
      method set_map : Color.rgb array -> unit
      method set_max : int -> unit
      method set_transparent : Index8.elt -> unit
      method size : int
      method sub : int -> int -> int -> int -> OImages.index8_class
      method to_rgb24 : OImages.rgb24_class
      method to_rgba32 : OImages.rgba32_class
      method transparent : Index8.elt
      method unsafe_access : int -> int -> string * int
      method unsafe_get : int -> int -> Index8.elt
      method unsafe_get_color : int -> int -> Color.rgb
      method unsafe_set : int -> int -> Index8.elt -> unit
      method width : int
    end
  class index8_wrapper : Index8.t -> index8_class
  class index8 : int -> int -> index8_class
  class index8_filled : int -> int -> int -> index8_class
  class index8_with :
    int ->
    int ->
    Info.info list -> Color.rgb Color.map -> int -> string -> index8_class
  class type index16_class =
    object
      method add_color : Color.rgb -> int
      method add_colors : Color.rgb list -> int list
      method blit :
        int ->
        int -> OImages.index16_class -> int -> int -> int -> int -> unit
      method coerce : oimage
      method colormap : Color.rgb Color.map
      method destroy : unit
      method dump : string
      method find_exact : Color.rgb -> int
      method find_nearest : Color.rgb -> int
      method get : int -> int -> Index16.elt
      method get_color : int -> int -> Color.rgb
      method height : int
      method image : Images.t
      method image_class : image_class
      method infos : Images.info list
      method map : Color.rgb array
      method max : int
      method query_color : int -> Color.rgb
      method save :
        string -> Images.format option -> Images.save_option list -> unit
      method set : int -> int -> Index16.elt -> unit
      method set_infos : Images.info list -> unit
      method set_map : Color.rgb array -> unit
      method set_max : int -> unit
      method set_transparent : Index16.elt -> unit
      method size : int
      method sub : int -> int -> int -> int -> OImages.index16_class
      method to_rgb24 : OImages.rgb24_class
      method to_rgba32 : OImages.rgba32_class
      method transparent : Index16.elt
      method unsafe_access : int -> int -> string * int
      method unsafe_get : int -> int -> Index16.elt
      method unsafe_get_color : int -> int -> Color.rgb
      method unsafe_set : int -> int -> Index16.elt -> unit
      method width : int
    end
  class index16_wrapper : Index16.t -> index16_class
  class index16 : int -> int -> index16_class
  class index16_filled : int -> int -> int -> index16_class
  class index16_with :
    int ->
    int ->
    Info.info list -> Color.rgb Color.map -> int -> string -> index16_class
  class type cmyk32_class =
    object
      method blit :
        int ->
        int -> OImages.cmyk32_class -> int -> int -> int -> int -> unit
      method coerce : oimage
      method destroy : unit
      method dump : string
      method get : int -> int -> Color.cmyk
      method height : int
      method image : Images.t
      method image_class : image_class
      method infos : Images.info list
      method resize :
        (float -> unit) option -> int -> int -> OImages.cmyk32_class
      method save :
        string -> Images.format option -> Images.save_option list -> unit
      method set : int -> int -> Color.cmyk -> unit
      method set_infos : Images.info list -> unit
      method sub : int -> int -> int -> int -> OImages.cmyk32_class
      method unsafe_access : int -> int -> string * int
      method unsafe_get : int -> int -> Color.cmyk
      method unsafe_set : int -> int -> Color.cmyk -> unit
      method width : int
    end
  class cmyk32_wrapper : Cmyk32.t -> cmyk32_class
  class cmyk32 : int -> int -> cmyk32_class
  class cmyk32_filled : int -> int -> Color.cmyk -> cmyk32_class
  class cmyk32_with : int -> int -> Info.info list -> string -> cmyk32_class
  val rgb24 : OImages.oimage -> OImages.rgb24_class
  val index8 : OImages.oimage -> OImages.index8_class
  val index16 : OImages.oimage -> OImages.index16_class
  val rgba32 : OImages.oimage -> OImages.rgba32_class
  val cmyk32 : OImages.oimage -> OImages.cmyk32_class
  type tagged =
      Rgb24 of OImages.rgb24_class
    | Index8 of OImages.index8_class
    | Index16 of OImages.index16_class
    | Rgba32 of OImages.rgba32_class
    | Cmyk32 of OImages.cmyk32_class
  val tag : OImages.oimage -> OImages.tagged
  val make : Images.t -> OImages.oimage
  val load : string -> Images.load_option list -> OImages.oimage
  val sub : OImages.oimage -> int -> int -> int -> int -> OImages.oimage
end