-record(config, { refresh :: fun((binary()) -> {ok, voauth:refresh_response()} | {error, voauth:refresh_error()}), on_refresh :: gleam@option:option(fun((voauth:token()) -> {ok, nil} | {error, binary()})), call_timeout_ms :: integer(), init_timeout_ms :: integer(), refresh_at_percent :: integer(), min_refresh_delay_ms :: integer(), retry_backoff_ms :: list(integer()) }).