/// export interface Hook { (m: { extensions: string } | NodeModule): any; install(m?: { extension: string; [key: string]: any }): void; } export type RegisterFn = (hook: Hook) => void; export interface ExtensionDescriptor { module: string; register: RegisterFn; } export type Extension = string | ExtensionDescriptor | Array; export interface Extensions { [extension: string]: Extension | null; } export const extensions: Extensions; export const jsVariants: Extensions;