/** * A (experimental) lazy singly-linked list implementation. Similar to Haskell's `List` */ import type * as HKT from "@principia/prelude/HKT"; import type { Lazy } from "../Function"; export interface Nil { readonly _tag: "Nil"; } export declare type Cons = { readonly _tag: "Cons"; readonly head: Lazy; readonly tail: Lazy>; }; export declare type LazyList = Nil | Cons; export declare const errorEmptyList: (fun: string) => never; export declare type InferListType = T extends LazyList ? A : never; export declare const URI = "List"; export declare type URI = typeof URI; export declare type V = HKT.Auto; declare module "@principia/prelude/HKT" { interface URItoKind { [URI]: LazyList; } } //# sourceMappingURL=model.d.ts.map