sig
  type document = {
    file_id : string;
    thumb : Api.PhotoSize.photo_size option;
    file_name : string option;
    mime_type : string option;
    file_size : int option;
  }
  val create :
    file_id:string ->
    ?thumb:Api.PhotoSize.photo_size option ->
    ?file_name:string option ->
    ?mime_type:string option ->
    ?file_size:int option -> unit -> Api.Document.document
  val read : Yojson.Safe.json -> Api.Document.document
end