Posthog's type definitions refer to types in transitive dependencies we don't want to include.
Clone posthog.d.ts locally, remove the offending types from it, and provide an overriding mapping in tsconfig.
If this proves annoying to maintain, posthog.d.ts could just be an empty file.
This does a number of things (sorry):
* Estimates the type changes needed to the dispatcher (later to be replaced by https://github.com/matrix-org/matrix-react-sdk/pull/4593)
* Sets up the stack for a whole new room list store, and later components for usage.
* Create a proxy class to ensure the app still functions as expected when the various stores are enabled/disabled
* Demonstrates a possible structure for algorithms
Due to TypeScript and flux's types being annoying and highly typesafe, we need an AsyncActionPayload which intentionally doesn't use the 'action' property. This looks a bit awkward, though for the rare cases we do actually fire async actions it should be fine enough.
The call signature changes slightly for async events, therefore this commit also updates its usages for async events.
The `fire()` function is to be used in a future commit.
Remove biased comment
Includes: compilation, translations, IDE support (use .tsx not .ts), typings, and other build tools.
TypeScript component have to import PropTypes and React with `import * as React from 'react';`