>\n>\n\nexport function observer(\n baseComponent: React.FunctionComponent
,\n options?: IObserverOptions\n): React.FunctionComponent
\n\nexport function observer<\n C extends React.FunctionComponent | React.ForwardRefRenderFunction,\n Options extends IObserverOptions\n>(\n baseComponent: C,\n options?: Options\n): Options extends { forwardRef: true }\n ? C extends React.ForwardRefRenderFunction\n ? C &\n React.MemoExoticComponent<\n React.ForwardRefExoticComponent<\n React.PropsWithoutRef & React.RefAttributes\n >\n >\n : never /* forwardRef set for a non forwarding component */\n : C & { displayName: string }\n\n// n.b. base case is not used for actual typings or exported in the typing files\nexport function observer(\n baseComponent:\n | React.ForwardRefRenderFunction\n | React.FunctionComponent\n | React.ForwardRefExoticComponent