-record(telega, { config :: telega@internal@config:config(), bot_info :: telega@model@types:user(), bot_subject :: gleam@erlang@process:subject(telega@bot:bot_message()), supervisor_pid :: gleam@erlang@process:pid_(), poller :: gleam@option:option(gleam@erlang@process:subject(telega@polling:polling_message())), drain_timeout :: integer(), on_shutdown :: gleam@option:option(fun(() -> nil)) }).