import { Foldable } from "./foldable"; import { Applicative } from "./applicative"; import { Either } from "./either"; export declare class InfiniteList implements Applicative, Foldable { private fn; constructor(fn: (idx: number) => A); map(f: (a: A) => B): InfiniteList; mapTo(b: B): InfiniteList; of(b: B): InfiniteList; ap(a: InfiniteList<(a: A) => B>): InfiniteList; lift(f: (t: T1) => R, m: InfiniteList): InfiniteList; lift(f: (t: T1, u: T2) => R, m1: InfiniteList, m2: InfiniteList): InfiniteList; lift(f: (t1: T1, t2: T2, t3: T3) => R, m1: InfiniteList, m2: InfiniteList, m3: InfiniteList): InfiniteList; foldr(f: (a: A, acc: B) => B, init: B): B; foldl(f: (acc: B, a: A) => B, init: B): B; shortFoldr(f: (a: A, b: B) => Either, init: B): B; shortFoldl(f: (b: B, a: A) => Either, init: B): B; size(): number; maximum(): number; minimum(): number; sum(): number; } export declare function repeat(a: A): InfiniteList; export declare const naturals: InfiniteList;