[ui] Refactor `NewBottomTabArgs` interface to use generic type for
`config` property.

This provides type safety when constructing bottom tabs manually, and
avoids a type assertion in the bottom tab base class.

Bug: 320916474
Change-Id: I29ef9d42cf918c4e103267f9a5718d0966256b27
diff --git a/ui/src/frontend/thread_state_tab.ts b/ui/src/frontend/thread_state_tab.ts
index 8f43379..da96c65 100644
--- a/ui/src/frontend/thread_state_tab.ts
+++ b/ui/src/frontend/thread_state_tab.ts
@@ -63,11 +63,11 @@
   relatedStates?: RelatedThreadStates;
   loaded: boolean = false;
 
-  static create(args: NewBottomTabArgs): ThreadStateTab {
+  static create(args: NewBottomTabArgs<ThreadStateTabConfig>): ThreadStateTab {
     return new ThreadStateTab(args);
   }
 
-  constructor(args: NewBottomTabArgs) {
+  constructor(args: NewBottomTabArgs<ThreadStateTabConfig>) {
     super(args);
 
     this.load().then(() => {