Flarum (v2.0.0-beta.1)
    Preparing search index...
    UnsafeModalClass: ComponentClass<any, Modal> & {
        component: typeof component;
        get dismissibleOptions(): IDismissibleOptions;
    }

    Ideally, show would take a higher-kinded generic, ala: show<Attrs, C>(componentClass: C<Attrs>, attrs: Attrs): void Unfortunately, TypeScript does not support this: https://github.com/Microsoft/TypeScript/issues/1213 Therefore, we have to use this ugly, messy workaround.