sig
  type t
  val get_byte_order : Exif.Data.t -> Exif.Endian.t
  val set_byte_order : Exif.Data.t -> Exif.Endian.t -> unit
  val fix : Exif.Data.t -> unit
  val dump : Exif.Data.t -> unit
  val from_string : string -> Exif.Data.t
  val format : Exifutil.Format.formatter -> Exif.Data.t -> unit
  type contents = {
    ifd_0 : Exif.Content.t option;
    ifd_1 : Exif.Content.t option;
    exif : Exif.Content.t option;
    gps : Exif.Content.t option;
    interop : Exif.Content.t option;
  }
  val contents : Exif.Data.t -> Exif.Data.contents
  val get_ifd_0 : Exif.Data.t -> Exif.Content.t option
  val get_ifd_1 : Exif.Data.t -> Exif.Content.t option
  val get_exif : Exif.Data.t -> Exif.Content.t option
  val get_gps : Exif.Data.t -> Exif.Content.t option
  val get_interop : Exif.Data.t -> Exif.Content.t option
  val unpack_ifd_0 : Exif.Data.t -> Exif.Entry.unpacked_entry list option
  val unpack_ifd_1 : Exif.Data.t -> Exif.Entry.unpacked_entry list option
  val unpack_exif : Exif.Data.t -> Exif.Entry.unpacked_entry list option
  val unpack_gps : Exif.Data.t -> Exif.Entry.unpacked_entry list option
  val unpack_interop : Exif.Data.t -> Exif.Entry.unpacked_entry list option
end