// Type definitions for react-immutable-proptypes 2.1 // Project: https://github.com/HurricaneJames/react-immutable-proptypes // Definitions by: Joris van der Wel // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.8 import { Validator, Requireable, ValidationMap } from 'prop-types'; import * as Immutable from 'immutable'; export function listOf(type: Validator): Requireable>; export function mapOf(valueType: Validator, keyType?: Validator): Requireable>; export function orderedMapOf(valueType: Validator, keyType?: Validator): Requireable>; export function setOf(type: Validator): Requireable>; export function orderedSetOf(type: Validator): Requireable>; export function stackOf(type: Validator): Requireable>; export function iterableOf(type: Validator): Requireable>; // todo: recordOf can be made more useful when immutable v4 releases, because it has much better typescript // support (for example by setting the return type to RecordOf>) export function recordOf(type: ValidationMap): Requireable>; export function shape(type: ValidationMap): Requireable>; export function contains(type: ValidationMap): Requireable>; export function mapContains(type: ValidationMap): Requireable>; export const list: Requireable>; export const map: Requireable>; export const orderedMap: Requireable>; export const set: Requireable>; export const orderedSet: Requireable>; export const stack: Requireable>; export const seq: Requireable>; export const record: Requireable>; export const iterable: Requireable>;