Returns a plain Provider, so it works app-wide in
ApplicationConfig.providers or scoped to a subtree via a component's
viewProviders. The nearest provideInputConfig wins for a subtree by
token resolution - it replaces an ancestor config, it does not deep-merge.