type WatchedProps = { [key in keyof Props]?: unknown; }; type Constructor = new (...args: any[]) => { props: Props; onPropsChange(changedProps: WatchedProps): void; render(): React.ReactNode; componentWillUnmount?(): void; }; declare function propsObserver

, C extends Constructor

>(propsToWatch: Array): (Class: C) => C & Constructor

; export default propsObserver;