// Type definitions for prop-types 15.5 // Project: https://github.com/reactjs/prop-types // Definitions by: DovydasNavickas // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.2 export type Validator = (object: T, key: string, componentName: string, ...rest: any[]) => Error | null; export interface Requireable extends Validator { isRequired: Validator; } export type ValidationMap = {[K in keyof T]?: Validator }; export const any: Requireable; export const array: Requireable; export const bool: Requireable; export const func: Requireable; export const number: Requireable; export const object: Requireable; export const string: Requireable; export const node: Requireable; export const element: Requireable; export function instanceOf(expectedClass: {}): Requireable; export function oneOf(types: any[]): Requireable; export function oneOfType(types: Array>): Requireable; export function arrayOf(type: Validator): Requireable; export function objectOf(type: Validator): Requireable; export function shape(type: ValidationMap): Requireable;