diff --git a/types/prop-types/index.d.ts b/types/prop-types/index.d.ts index f6176dd59d..3b0a1164d6 100644 --- a/types/prop-types/index.d.ts +++ b/types/prop-types/index.d.ts @@ -5,7 +5,24 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 -import { ReactNode, ReactElement } from 'react'; +export interface ReactElementLike { + type: string | ((...args: any[]) => ReactElementLike); + props: any; + key: string | number | null; + children?: ReactNodeLike; +} + +export interface ReactNodeArray extends Array {} + +export type ReactNodeLike = + | {} + | ReactElementLike + | ReactNodeArray + | string + | number + | boolean + | null + | undefined; export const nominalTypeHack: unique symbol; @@ -38,8 +55,8 @@ export const func: Requireable<(...args: any[]) => any>; export const number: Requireable; export const object: Requireable; export const string: Requireable; -export const node: Requireable; -export const element: Requireable>; +export const node: Requireable; +export const element: Requireable; export const symbol: Requireable; export function instanceOf(expectedClass: new (...args: any[]) => T): Requireable; export function oneOf(types: T[]): Requireable;