import { Refinement } from 'fp-ts/lib/function' import * as t from './index' import * as S from './Schemable' /** * @category model * @since 2.2.3 */ export interface Type extends t.Type {} /** * @category constructors * @since 2.2.3 */ export declare const literal: ( ...values: A ) => Type /** * @category primitives * @since 2.2.3 */ export declare const string: Type /** * @category primitives * @since 2.2.3 */ export declare const number: Type /** * @category primitives * @since 2.2.3 */ export declare const boolean: Type /** * @category primitives * @since 2.2.3 */ export declare const UnknownArray: Type> /** * @category primitives * @since 2.2.3 */ export declare const UnknownRecord: Type> /** * @category combinators * @since 2.2.3 */ export declare const refine: (refinement: Refinement, id: string) => (from: Type) => Type /** * @category combinators * @since 2.2.3 */ export declare const nullable: (or: Type) => Type /** * @category combinators * @since 2.2.15 */ export declare const struct: (properties: { [K in keyof A]: Type }) => Type<{ [K_1 in keyof A]: A[K_1] }> /** * Use `struct` instead. * * @category combinators * @since 2.2.3 * @deprecated */ export declare const type: (properties: { [K in keyof A]: Type }) => Type<{ [K_1 in keyof A]: A[K_1] }> /** * @category combinators * @since 2.2.3 */ export declare const partial: (properties: { [K in keyof A]: Type }) => Type< Partial<{ [K_1 in keyof A]: A[K_1] }> > /** * @category combinators * @since 2.2.3 */ export declare const record: (codomain: Type) => Type> /** * @category combinators * @since 2.2.3 */ export declare const array: (item: Type) => Type /** * @category combinators * @since 2.2.3 */ export declare const tuple: (...components: { [K in keyof A]: Type }) => Type /** * @category combinators * @since 2.2.3 */ export declare const intersect: (right: Type) => (left: Type) => Type /** * @category combinators * @since 2.2.3 */ export declare const lazy: (id: string, f: () => Type) => Type /** * @category combinators * @since 2.2.15 */ export declare const readonly: (type: Type) => Type> /** * @category combinators * @since 2.2.3 */ export declare const sum: ( _tag: T ) => (members: { [K in keyof A]: Type> }) => Type /** * @category combinators * @since 2.2.3 */ export declare const union: ( ...members: { [K in keyof A]: Type } ) => Type /** * @category instances * @since 2.2.3 */ export declare const URI = 'io-ts/Type' /** * @category instances * @since 2.2.3 */ export type URI = typeof URI declare module 'fp-ts/lib/HKT' { interface URItoKind { readonly [URI]: Type } } /** * @category instances * @since 2.2.8 */ export declare const Schemable: S.Schemable1 /** * @category instances * @since 2.2.8 */ export declare const WithUnknownContainers: S.WithUnknownContainers1 /** * @category instances * @since 2.2.8 */ export declare const WithUnion: S.WithUnion1 /** * @category instances * @since 2.2.8 */ export declare const WithRefine: S.WithRefine1