diff --git a/types/prop-types/index.d.ts b/types/prop-types/index.d.ts index 4ff5f9faaa..86dc2d8b54 100644 --- a/types/prop-types/index.d.ts +++ b/types/prop-types/index.d.ts @@ -4,26 +4,29 @@ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 -type Validator = (object: T, key: string, componentName: string, ...rest: any[]) => Error | null; - -interface Requireable extends Validator { - isRequired: Validator; +declare module 'prop-types' { + + type Validator = (object: T, key: string, componentName: string, ...rest: any[]) => Error | null; + + interface Requireable extends Validator { + isRequired: Validator; + } + + type ValidationMap = {[K in keyof T]?: Validator }; + + var any: Requireable; + var array: Requireable; + var bool: Requireable; + var func: Requireable; + var number: Requireable; + var object: Requireable; + var string: Requireable; + var node: Requireable; + var element: Requireable; + function instanceOf(expectedClass: {}): Requireable; + function oneOf(types: any[]): Requireable; + function oneOfType(types: Array>): Requireable; + function arrayOf(type: Validator): Requireable; + function objectOf(type: Validator): Requireable; + function shape(type: ValidationMap): Requireable; } - -type ValidationMap = {[K in keyof T]?: Validator }; - -declare var any: Requireable; -declare var array: Requireable; -declare var bool: Requireable; -declare var func: Requireable; -declare var number: Requireable; -declare var object: Requireable; -declare var string: Requireable; -declare var node: Requireable; -declare var element: Requireable; -declare function instanceOf(expectedClass: {}): Requireable; -declare function oneOf(types: any[]): Requireable; -declare function oneOfType(types: Array>): Requireable; -declare function arrayOf(type: Validator): Requireable; -declare function objectOf(type: Validator): Requireable; -declare function shape(type: ValidationMap): Requireable;