HookLookup<K>: K extends ApplicationHook
    ? ApplicationHookLookup<K>
    : K extends LifecycleHook
        ? LifecycleHookLookup<K>
        : never

Type Parameters