sig
  type document = {
    chat_id : int;
    document : string;
    disable_notification : bool;
    reply_to_message_id : int option;
    reply_markup : TelegramApi.ReplyMarkup.reply_markup option;
  }
  val create :
    chat_id:int ->
    document:string ->
    ?disable_notification:bool ->
    ?reply_to:int option ->
    ?reply_markup:TelegramApi.ReplyMarkup.reply_markup option ->
    unit -> TelegramApi.Document.Out.document
  val prepare : TelegramApi.Document.Out.document -> string
  val prepare_multipart :
    TelegramApi.Document.Out.document -> string -> string Lwt.t
end