-record(telega_builder, { config :: telega@internal@config:config(), router :: gleam@option:option(telega@router:router(any(), any(), any())), session_settings :: gleam@option:option(telega@bot:session_settings(any(), any())), catch_handler :: gleam@option:option(fun((telega@bot:context(any(), any(), any()), any()) -> {ok, nil} | {error, any()})), pre_handlers :: list(fun((telega@bot:pre_context(any())) -> telega@bot:pre_router_result())), dependencies :: any(), bot_subject :: gleam@option:option(gleam@erlang@process:subject(telega@bot:bot_message())), api_client :: gleam@option:option(telega@client:telegram_client()), drop_pending_updates :: gleam@option:option(boolean()), max_connections :: gleam@option:option(integer()), ip_address :: gleam@option:option(binary()), allowed_updates :: gleam@option:option(list(binary())), certificate :: gleam@option:option(telega@model@types:file()), polling_timeout :: gleam@option:option(integer()), polling_limit :: gleam@option:option(integer()), polling_interval :: gleam@option:option(integer()), polling_on_stop :: gleam@option:option(fun((telega@error:telega_error()) -> nil)), chat_restart_tolerance_intensity :: gleam@option:option(integer()), chat_restart_tolerance_period :: gleam@option:option(integer()), chat_init_timeout :: gleam@option:option(integer()), on_start :: gleam@option:option(fun((telega:telega(any(), any(), any())) -> {ok, nil} | {error, telega@error:telega_error()})), on_shutdown :: gleam@option:option(fun(() -> nil)), drain_timeout :: gleam@option:option(integer()), handle_signals :: boolean(), auto_commands :: boolean(), command_locales :: list(binary()), command_translate :: gleam@option:option(fun((binary(), binary()) -> gleam@option:option(binary()))), auto_allowed_updates :: boolean() }).