/* @flow */ declare type UpdateOn = Array<$Keys | any[]>; declare export function immutableMemo( component: React$ComponentType, updateOnProps?: UpdateOn, ): React$ComponentType; declare export class ImmutablePureComponent< Props, State = void, > extends React$Component { // TODO: Due to bugs in Flow's handling of React.createClass, some fields // already declared in the base class need to be redeclared below. Ideally // they should simply be inherited. updateOnProps: UpdateOn; updateOnStates: UpdateOn; props: Props; state: State; } export default ImmutablePureComponent;