export * from "./index"; declare module "./index" { interface List { empty(): List; of(b: B): List; append(value: A): List; nth(index: number): A | undefined; prepend(value: A): List; append(value: A): List; intersperse(separator: A): List; first(): A | undefined; last(): A | undefined; map(f: (a: A) => B): List; pluck(key: K): List; foldl(f: (acc: B, value: A) => B, initial: B): B; reduce(f: (acc: B, value: A) => B, initial: B): B; scan(f: (acc: B, value: A) => B, initial: B): List; foldr(f: (value: A, acc: B) => B, initial: B): B; reduceRight(f: (value: A, acc: B) => B, initial: B): B; traverse(of: Of, f: (a: A) => Applicative): any; sequence(this: List>, of: Of): any; forEach(callback: (a: A) => void): void; filter(predicate: (a: A) => boolean): List; filter(predicate: (a: A) => a is B): List; reject(predicate: (a: A) => boolean): List; partition(predicate: (a: A) => boolean): [List, List]; join(separator: string): string; ap(listF: List<(a: A) => B>): List; flatten(this: List>): List; flatMap(f: (a: A) => List): List; chain(f: (a: A) => List): List; every(predicate: (a: A) => boolean): boolean; some(predicate: (a: A) => boolean): boolean; none(predicate: (a: A) => boolean): boolean; indexOf(element: A): number; lastIndexOf(element: A): number; find(predicate: (a: A) => boolean): A | undefined; findLast(predicate: (a: A) => boolean): A | undefined; findIndex(predicate: (a: A) => boolean): number; includes(element: A): boolean; equals(secondList: List): boolean; equalsWith(f: (a: A, b: A) => boolean, secondList: List): boolean; concat(right: List): List; update(index: number, a: A): List; adjust(index: number, f: (a: A) => A): List; slice(from: number, to: number): List; take(n: number): List; takeWhile(predicate: (a: A) => boolean): List; takeLastWhile(predicate: (a: A) => boolean): List; takeLast(n: number): List; splitAt(index: number): [List, List]; splitWhen(predicate: (a: A) => boolean): [List, List]; splitEvery(size: number): List>; remove(from: number, amount: number): List; drop(n: number): List; dropWhile(predicate: (a: A) => boolean): List; dropRepeats(): List; dropRepeatsWith(predicate: (a: A, b: A) => boolean): List; dropLast(n: number): List; pop(): List; tail(): List; toArray(): A[]; insert(index: number, element: A): List; insertAll(index: number, elements: List): List; reverse(): List; zipWith(f: (a: A, b: B) => C, bs: List): List; zip(bs: List): List<[A, B]>; sort(this: List, l: List): List; sortBy(f: (a: A) => B): List; sortWith(comparator: (a: A, b: A) => Ordering): List; group(): List>; groupWith(f: (a: A, b: A) => boolean): List>; isEmpty(): boolean; } }