import { RegisterClientFormFieldOptions, RegisterClientHookOptions, RegisterClientRouteOptions, RegisterClientSettingsScriptOptions, RegisterClientVideoFieldOptions, ServerConfig, SettingEntries } from '@shared/models' export type RegisterClientOptions = { registerHook: (options: RegisterClientHookOptions) => void registerVideoField: (commonOptions: RegisterClientFormFieldOptions, videoFormOptions: RegisterClientVideoFieldOptions) => void registerSettingsScript: (options: RegisterClientSettingsScriptOptions) => void registerClientRoute: (options: RegisterClientRouteOptions) => void peertubeHelpers: RegisterClientHelpers } export type RegisterClientHelpers = { getBaseStaticRoute: () => string getBaseRouterRoute: () => string getBasePluginClientPath: () => string isLoggedIn: () => boolean getAuthHeader: () => { 'Authorization': string } | undefined getSettings: () => Promise getServerConfig: () => Promise notifier: { info: (text: string, title?: string, timeout?: number) => void error: (text: string, title?: string, timeout?: number) => void success: (text: string, title?: string, timeout?: number) => void } showModal: (input: { title: string content: string close?: boolean cancel?: { value: string, action?: () => void } confirm?: { value: string, action?: () => void } }) => void markdownRenderer: { textMarkdownToHTML: (textMarkdown: string) => Promise enhancedMarkdownToHTML: (enhancedMarkdown: string) => Promise } translate: (toTranslate: string) => Promise }