useProvided
Retrieves a value of type T from the surrounding context and registers the current hook as its dependent, rebuilding the hook whenever that value changes.
useBuildContext
Retrieves the BuildContext from the surrounding context, letting a hook interact with Flutter. It is exactly useProvided().
HookProviderContainerWidget
Registers global states at the app root. It takes an ordered map of {StateType: useStateHook} and makes each result available to the subtree through useProvided, rebuilding dependents when a state changes.
ProviderWidget
Provides values to a subtree so descendants can read them with useProvided. ValueProvider provides a single already-computed value; HookProvider provides the result of a hook; ProviderWidget is the low-level InheritedModel both build on.