/** * @since 0.6.0 */ import * as t from 'io-ts'; import { Reporter } from 'io-ts/lib/Reporter'; import * as React from 'react'; /** * @since 0.6.0 */ export declare type Options = { strict?: boolean; children?: t.Mixed; reporter?: Reporter; }; /** * @since 0.6.0 */ export interface PropTypeableRefinement extends t.RefinementType { } /** * @since 0.6.0 */ export interface PropTypeableReadonlyType extends t.ReadonlyType { } /** * @since 0.6.0 */ export interface PropTypeableIntersection extends t.IntersectionType> { } /** * @since 0.6.0 */ export interface PropTypeableUnion extends t.UnionType> { } /** * @since 0.6.0 */ export declare type PropTypeable = t.AnyType | PropTypeableRefinement | PropTypeableReadonlyType | PropTypeableIntersection | t.InterfaceType | t.StrictType | t.PartialType | PropTypeableUnion; /** * @since 0.6.0 */ export declare function getPropTypes(type: PropTypeable, options?: Options): { __prop_types_ts(values: any, _prop: string, _displayName: string): Error | null; }; /** * @since 0.6.0 */ export declare function props(type: PropTypeable, options?: Options): (C: React.ComponentClass) => void; /** * @since 0.6.0 */ export declare class ReactElementType extends t.Type> { readonly _tag: 'ReactElement'; constructor(); } /** * @since 0.6.0 */ export declare const ReactElement: ReactElementType; /** * @since 0.6.0 */ export declare class ReactChildType extends t.Type { readonly _tag: 'ReactChild'; constructor(); } /** * @since 0.6.0 */ export declare const ReactChild: ReactChildType; /** * @since 0.6.0 */ export declare class ReactFragmentType extends t.Type { readonly _tag: 'ReactFragment'; constructor(); } /** * @since 0.6.0 */ export declare const ReactFragment: ReactFragmentType; /** * @since 0.6.0 */ export declare class ReactNodeType extends t.Type { readonly _tag: 'ReactNode'; constructor(); } /** * @since 0.6.0 */ export declare const ReactNode: ReactNodeType;