From 0edc81ec62e4a9ee294e537621235c274d7e420f Mon Sep 17 00:00:00 2001
From: John Livingston <git@john-livingston.fr>
Date: Fri, 9 Apr 2021 13:07:42 +0200
Subject: [PATCH] Better peertube definitions.

---
 client/peertube.d.ts | 35 +++++++++++++++++++++++++++++++++--
 1 file changed, 33 insertions(+), 2 deletions(-)

diff --git a/client/peertube.d.ts b/client/peertube.d.ts
index 683e3a37..05f60b61 100644
--- a/client/peertube.d.ts
+++ b/client/peertube.d.ts
@@ -1,6 +1,37 @@
+// TODO: import @types/peertube when available
+
+interface RegisterClientHookOptions {
+  target: string // FIXME
+  handler: Function
+  priority?: number
+}
+
+interface RegisterClientHelpers {
+  getBaseStaticRoute: () => string
+  isLoggedIn: () => boolean
+  getSettings: () => Promise<{ [ name: string ]: string }>
+  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<string>
+    enhancedMarkdownToHTML: (enhancedMarkdown: string) => Promise<string>
+  }
+  translate: (toTranslate: string) => Promise<string>
+}
+
 interface RegisterOptions {
-  registerHook: any
-  peertubeHelpers: any
+  registerHook: (options: RegisterClientHookOptions) => void
+  peertubeHelpers: RegisterClientHelpers
 }
 
 interface Video {