-record(sprocket, { component :: fun((sprocket@context:context(), any()) -> {sprocket@context:context(), sprocket@context:element()}), initialize_props :: fun((gleam@option:option(list({binary(), binary()}))) -> any()), runtime :: gleam@option:option(gleam@erlang@process:subject(sprocket@runtime:message())), ws_send :: fun((binary()) -> {ok, nil} | {error, nil}), csrf_validator :: fun((binary()) -> {ok, nil} | {error, nil}), opts :: gleam@option:option(sprocket:sprocket_opts()) }).