UNPKG

@typed/io

Version:

Runtime IO type system

8 lines 465 B
import { Type } from './Type'; export interface RecursiveType<T extends Type> extends Type<Type.Of<T>, Type.Encoding<T>> { } export declare const lazy: <T extends Type<any, any>>(f: () => T) => RecursiveType<T>; export declare const recursive: <T extends Type<any, any> = Type<any, any>>(f: (type: [T][T extends any ? 0 : never]) => T) => RecursiveType<T>; declare type NoInfer<T> = [T][T extends any ? 0 : never]; export {}; //# sourceMappingURL=recursive.d.ts.map