sig
  type sticker = {
    file_id : string;
    width : int;
    height : int;
    thumb : TelegramApi.PhotoSize.photo_size option;
    emoji : string option;
    file_size : int option;
  }
  val create :
    file_id:string ->
    width:int ->
    height:int ->
    ?thumb:TelegramApi.PhotoSize.photo_size option ->
    ?emoji:string option ->
    ?file_size:int option -> unit -> TelegramApi.Sticker.sticker
  val read : Yojson.Safe.json -> TelegramApi.Sticker.sticker
  module Out :
    sig
      type sticker = {
        chat_id : int;
        sticker : string;
        disable_notification : bool;
        reply_to_message_id : int option;
        reply_markup : TelegramApi.ReplyMarkup.reply_markup option;
      }
      val create :
        chat_id:int ->
        sticker:string ->
        ?disable_notification:bool ->
        ?reply_to:int option ->
        ?reply_markup:TelegramApi.ReplyMarkup.reply_markup option ->
        unit -> TelegramApi.Sticker.Out.sticker
      val prepare : TelegramApi.Sticker.Out.sticker -> string
      val prepare_multipart :
        TelegramApi.Sticker.Out.sticker -> string -> string Lwt.t
    end
end