1// react-native 0.71 does not export `Constructor` publicly, these 3rd party modules relies on `Constructor` will break from unknown type.
2// override types for these modules as workarounds.
3
4declare module '@react-native-community/slider' {
5  import type { SliderProps } from '@react-native-community/slider/typings/index';
6  import * as React from 'react';
7  import * as ReactNative from 'react-native';
8  type Constructor<T> = new (...args: any[]) => T;
9
10  class SliderComponent extends React.Component<SliderProps> {}
11  const SliderBase: Constructor<ReactNative.NativeMethodsMixin> & typeof SliderComponent;
12  class Slider extends SliderBase {}
13  export default Slider;
14}
15
16declare module '@react-native-segmented-control/segmented-control' {
17  import type { SegmentedControlComponent } from '@react-native-segmented-control/segmented-control/index';
18  import * as ReactNative from 'react-native';
19  type Constructor<T> = new (...args: any[]) => T;
20
21  const SegmentedControlBase: Constructor<ReactNative.NativeMethods> &
22    typeof SegmentedControlComponent;
23  class SegmentedControl extends SegmentedControlBase {}
24  export default SegmentedControl;
25}
26
27declare module '@react-native-masked-view/masked-view' {
28  import type { MaskedViewProps } from '@react-native-masked-view/masked-view/types/index';
29  import * as React from 'react';
30  import * as ReactNative from 'react-native';
31  type Constructor<T> = new (...args: any[]) => T;
32
33  class MaskedViewComponent extends React.Component<MaskedViewProps> {}
34  const MaskedViewBase: Constructor<ReactNative.NativeMethods> & typeof MaskedViewComponent;
35  class MaskedView extends MaskedViewBase {}
36  export default MaskedView;
37}
38