UNPKG

2.52 kBTypeScriptView Raw
1/**
2 * @since 2.2.3
3 */
4import * as t from './index';
5import { Literal, Schemable1, WithUnion1, WithRefinement1, WithUnknownContainers1 } from './Schemable';
6/**
7 * @since 2.2.3
8 */
9export interface Type<A> extends t.Type<A, unknown, unknown> {
10}
11/**
12 * @since 2.2.3
13 */
14export declare function literal<A extends ReadonlyArray<Literal>>(...values: A): Type<A[number]>;
15/**
16 * @since 2.2.3
17 */
18export declare const string: Type<string>;
19/**
20 * @since 2.2.3
21 */
22export declare const number: Type<number>;
23/**
24 * @since 2.2.3
25 */
26export declare const boolean: Type<boolean>;
27/**
28 * @since 2.2.3
29 */
30export declare const UnknownArray: Type<Array<unknown>>;
31/**
32 * @since 2.2.3
33 */
34export declare const UnknownRecord: Type<Record<string, unknown>>;
35/**
36 * @since 2.2.3
37 */
38export declare function refinement<A, B extends A>(from: Type<A>, refinement: (a: A) => a is B, expected: string): Type<B>;
39/**
40 * @since 2.2.3
41 */
42export declare function nullable<A>(or: Type<A>): Type<null | A>;
43/**
44 * @since 2.2.3
45 */
46export declare function type<A>(properties: {
47 [K in keyof A]: Type<A[K]>;
48}): Type<{
49 [K in keyof A]: A[K];
50}>;
51/**
52 * @since 2.2.3
53 */
54export declare function partial<A>(properties: {
55 [K in keyof A]: Type<A[K]>;
56}): Type<Partial<{
57 [K in keyof A]: A[K];
58}>>;
59/**
60 * @since 2.2.3
61 */
62export declare function record<A>(codomain: Type<A>): Type<Record<string, A>>;
63/**
64 * @since 2.2.3
65 */
66export declare function array<A>(items: Type<A>): Type<Array<A>>;
67/**
68 * @since 2.2.3
69 */
70export declare function tuple<A extends ReadonlyArray<unknown>>(...components: {
71 [K in keyof A]: Type<A[K]>;
72}): Type<A>;
73/**
74 * @since 2.2.3
75 */
76export declare function intersection<A, B>(left: Type<A>, right: Type<B>): Type<A & B>;
77/**
78 * @since 2.2.3
79 */
80export declare function lazy<A>(id: string, f: () => Type<A>): Type<A>;
81/**
82 * @since 2.2.3
83 */
84export declare function sum<T extends string>(_tag: T): <A>(members: {
85 [K in keyof A]: Type<A[K]>;
86}) => Type<A[keyof A]>;
87/**
88 * @since 2.2.3
89 */
90export declare function union<A extends ReadonlyArray<unknown>>(...members: {
91 [K in keyof A]: Type<A[K]>;
92}): Type<A[number]>;
93/**
94 * @since 2.2.3
95 */
96export declare const URI = "io-ts/Type";
97/**
98 * @since 2.2.3
99 */
100export declare type URI = typeof URI;
101declare module 'fp-ts/es6/HKT' {
102 interface URItoKind<A> {
103 readonly [URI]: Type<A>;
104 }
105}
106/**
107 * @since 2.2.3
108 */
109export declare const schemableType: Schemable1<URI> & WithUnknownContainers1<URI> & WithUnion1<URI> & WithRefinement1<URI>;