import { Lazy } from './lazy';
/**
* @description lazy linked list
* */
export declare class LazyList extends Lazy {
private isHead?;
private tail?;
private mapper?;
constructor(value?: () => A, tail?: LazyList, mapper?: (x: any) => A);
append(a: () => A): LazyList;
appendRaw(a: A): LazyList;
appendAll(xs: A[]): LazyList;
/** @description non-lazy */
toArray(thisArg?: LazyList): A[];
/** @override */
map(f: (a: A) => B): LazyList;
}
export declare namespace LazyList {
const headSymbol: unique symbol;
const empty: () => LazyList;
const fromArray: (xs: A[]) => LazyList;
}