-record(state, { self :: gleam@erlang@process:subject(agnostic@runtime@headless:message(any())), selector :: gleam@erlang@process:selector(agnostic@runtime@headless:message(any())), base_selector :: gleam@erlang@process:selector(agnostic@runtime@headless:message(any())), model :: any(), update :: fun((any(), any()) -> {any(), agnostic@effect:effect(any())}), view :: fun((any()) -> agnostic@vdom@vnode:element(any())), config :: agnostic@runtime@headless:config(any()), vdom :: agnostic@vdom@vnode:element(any()), cache :: agnostic@vdom@cache:cache(any()), providers :: gleam@dict:dict(binary(), gleam@json:json()), subscribers :: gleam@dict:dict(gleam@erlang@process:subject(agnostic@runtime@transport:client_message(any())), gleam@erlang@process:monitor()), callbacks :: gleam@set:set(fun((agnostic@runtime@transport:client_message(any())) -> nil)) }).