-import { RegisterHookOptions } from '@shared/models/plugins/register-hook.model'
-import { ReplaySubject } from 'rxjs'
-import { first, shareReplay } from 'rxjs/operators'
-
-interface HookStructValue extends RegisterHookOptions {
+import { Observable, of, ReplaySubject } from 'rxjs'
+import { catchError, first, map, shareReplay } from 'rxjs/operators'
+import { getHookType, internalRunHook } from '@shared/core-utils/plugins/hooks'
+import { ClientHook, ClientHookName, clientHookObject } from '@shared/models/plugins/client-hook.model'
+import { PluginClientScope } from '@shared/models/plugins/plugin-client-scope.type'
+import { RegisterClientHookOptions } from '@shared/models/plugins/register-client-hook.model'
+import { HttpClient } from '@angular/common/http'
+import { AuthService } from '@app/core/auth'
+import { RestExtractor } from '@app/shared/rest'
+import { PluginType } from '@shared/models/plugins/plugin.type'
+import { PublicServerSetting } from '@shared/models/plugins/public-server.setting'
+import { getDevLocale, isOnDevLocale } from '@app/shared/i18n/i18n-utils'
+import { RegisterClientHelpers } from '../../../types/register-client-option.model'
+import { PluginTranslation } from '@shared/models/plugins/plugin-translation.model'
+import { importModule } from '@app/shared/misc/utils'
+
+interface HookStructValue extends RegisterClientHookOptions {