/** * @since 2.2.3 */ import * as t from './index'; import { Literal, Schemable1, WithUnion1, WithRefinement1, WithUnknownContainers1 } from './Schemable'; /** * @since 2.2.3 */ export interface Type extends t.Type { } /** * @since 2.2.3 */ export declare function literal>(...values: A): Type; /** * @since 2.2.3 */ export declare const string: Type; /** * @since 2.2.3 */ export declare const number: Type; /** * @since 2.2.3 */ export declare const boolean: Type; /** * @since 2.2.3 */ export declare const UnknownArray: Type>; /** * @since 2.2.3 */ export declare const UnknownRecord: Type>; /** * @since 2.2.3 */ export declare function refinement(from: Type, refinement: (a: A) => a is B, expected: string): Type; /** * @since 2.2.3 */ export declare function nullable(or: Type): Type; /** * @since 2.2.3 */ export declare function type(properties: { [K in keyof A]: Type; }): Type<{ [K in keyof A]: A[K]; }>; /** * @since 2.2.3 */ export declare function partial(properties: { [K in keyof A]: Type; }): Type>; /** * @since 2.2.3 */ export declare function record(codomain: Type): Type>; /** * @since 2.2.3 */ export declare function array(items: Type): Type>; /** * @since 2.2.3 */ export declare function tuple>(...components: { [K in keyof A]: Type; }): Type; /** * @since 2.2.3 */ export declare function intersection(left: Type, right: Type): Type; /** * @since 2.2.3 */ export declare function lazy(id: string, f: () => Type): Type; /** * @since 2.2.3 */ export declare function sum(_tag: T): (members: { [K in keyof A]: Type; }) => Type; /** * @since 2.2.3 */ export declare function union>(...members: { [K in keyof A]: Type; }): Type; /** * @since 2.2.3 */ export declare const URI = "io-ts/Type"; /** * @since 2.2.3 */ export declare type URI = typeof URI; declare module 'fp-ts/es6/HKT' { interface URItoKind { readonly [URI]: Type; } } /** * @since 2.2.3 */ export declare const schemableType: Schemable1 & WithUnknownContainers1 & WithUnion1 & WithRefinement1;