Variable PropTypes

PropTypes: {
    any: TypeChecker<any, {
        check(): boolean;
        parse(): boolean;
        stringify(): never;
    }>;
    array: TypeChecker<any[], {}>;
    arrayOf: (<T>(...argv: any[]) => TypeChecker<T, D>);
    atom: (<T>() => TypeChecker<Atom<T>, {
        coerce: ((v: any) => any);
    }>);
    bool: TypeChecker<boolean, {
        zeroValue: boolean;
    }>;
    checkPropTypes: (() => void);
    element: TypeChecker<any, {
        check(): boolean;
        parse(): boolean;
        stringify(): never;
    }>;
    elementType: TypeChecker<any, {
        check(): boolean;
        parse(): boolean;
        stringify(): never;
    }>;
    function: TypeChecker<Function, {
        parse(v: any): Function;
        stringify(v: any): any;
    }>;
    map: (<T>(...argv: any[]) => TypeChecker<T, D>);
    node: TypeChecker<any, {
        check(): boolean;
        parse(): boolean;
        stringify(): never;
    }>;
    number: TypeChecker<number, {
        zeroValue: number;
        parse(v: any): number;
        stringify(v: any): any;
    }>;
    object: TypeChecker<object, {
        zeroValue: null;
    }>;
    oneOf: (<T>(...argv: any[]) => TypeChecker<T, D>);
    oneOfType: (<T>(...argv: any[]) => TypeChecker<T, D>);
    rxList: (<T>() => TypeChecker<RxList<T>, {
        coerce: ((v: any) => RxList<any>);
    }>);
    rxMap: (<K, V>() => TypeChecker<RxMap<K, V>, {
        coerce: ((v: any) => RxMap<any, any>);
    }>);
    rxSet: (<T>() => TypeChecker<RxSet<T>, {
        coerce: ((v: any) => RxSet<any>);
    }>);
    shapeOf: (<T>(...argv: any[]) => TypeChecker<T, D>);
    string: TypeChecker<string, {
        zeroValue: string;
    }>;
    symbol: TypeChecker<Symbol, {}>;
}