[eslint] Prefer TypeScript `interface` over type aliases.

We have a mix of `type` and `interface` usage throughout our codebase,
that is sometimes difficult to follow and reason about. We should follow
the suggestion from the TypeScript PM and use `interface` consistently
where possible. This leads to better type display in errors and makes
our codebase easier to read (b/c consistency).

This CL adds the `@typescript-eslint/consistent-type-definitions`
ESLint rule to accomplish this.

Fixed: 387237537
Change-Id: Idb9e8275ddd8f633021d6cf1c933e2e55f980e45
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6152576
Auto-Submit: Nikolay Vitkov <[email protected]>
Commit-Queue: Benedikt Meurer <[email protected]>
Reviewed-by: Benedikt Meurer <[email protected]>
diff --git a/front_end/ui/legacy/ActionRegistration.ts b/front_end/ui/legacy/ActionRegistration.ts
index 2fd9779..9e15a72 100644
--- a/front_end/ui/legacy/ActionRegistration.ts
+++ b/front_end/ui/legacy/ActionRegistration.ts
@@ -295,10 +295,10 @@
   TOGGLED = 'Toggled',
 }
 
-export type EventTypes = {
-  [Events.ENABLED]: boolean,
-  [Events.TOGGLED]: boolean,
-};
+export interface EventTypes {
+  [Events.ENABLED]: boolean;
+  [Events.TOGGLED]: boolean;
+}
 
 export const enum ActionCategory {
   NONE = '',  // `NONE` must be a falsy value. Legacy code uses if-checks for the category.