import { Option } from "./Option.js"; import { IComparer, IEqualityComparer, IDisposable, IEnumerator } from "./Util.js"; import { int32 } from "./Int32.js"; import { Record } from "./Types.js"; import { TypeInfo } from "./Reflection.js"; export declare class FSharpList extends Record implements Iterable { readonly head: T; tail: Option>; constructor(head: T, tail: Option>); toString(): string; Equals(other: any): boolean; GetHashCode(): int32; toJSON(): any; CompareTo(other: any): int32; GetEnumerator(): IEnumerator; [Symbol.iterator](): Iterator; "System.Collections.IEnumerable.GetEnumerator"(): IEnumerator; } export declare function FSharpList_$reflection(gen0: TypeInfo): TypeInfo; export declare class ListEnumerator$1 implements IEnumerator, IDisposable { readonly xs: FSharpList; it: FSharpList; current: T; constructor(xs: FSharpList); "System.Collections.Generic.IEnumerator`1.get_Current"(): T; "System.Collections.IEnumerator.get_Current"(): any; "System.Collections.IEnumerator.MoveNext"(): boolean; "System.Collections.IEnumerator.Reset"(): void; Dispose(): void; } export declare function ListEnumerator$1_$reflection(gen0: TypeInfo): TypeInfo; export declare function ListEnumerator$1_$ctor_3002E699(xs: FSharpList): ListEnumerator$1; export declare function FSharpList_get_Empty(): FSharpList; export declare function FSharpList_Cons_305B8EAC(x: T, xs: FSharpList): FSharpList; export declare function FSharpList__get_IsEmpty(xs: FSharpList): boolean; export declare function FSharpList__get_Length(xs: FSharpList): int32; export declare function FSharpList__get_Head(xs: FSharpList): T; export declare function FSharpList__get_Tail(xs: FSharpList): FSharpList; export declare function FSharpList__get_Item_Z524259A4(xs: FSharpList, index: int32): T; export declare function indexNotFound<$a>(): $a; export declare function empty<$a>(): FSharpList<$a>; export declare function cons(x: T, xs: FSharpList): FSharpList; export declare function singleton<$a>(x: $a): FSharpList<$a>; export declare function isEmpty(xs: FSharpList): boolean; export declare function length(xs: FSharpList): int32; export declare function head(xs: FSharpList): T; export declare function tryHead(xs: FSharpList): Option; export declare function tail(xs: FSharpList): FSharpList; export declare function tryLast(xs_mut: FSharpList): Option; export declare function last(xs: FSharpList): T; export declare function compareWith(comparer: ((arg0: T, arg1: T) => int32), xs: FSharpList, ys: FSharpList): int32; export declare function toArray(xs: FSharpList): T[]; export declare function fold(folder: ((arg0: State, arg1: T) => State), state: State, xs: FSharpList): State; export declare function reverse(xs: FSharpList): FSharpList; export declare function foldBack(folder: ((arg0: T, arg1: State) => State), xs: FSharpList, state: State): State; export declare function foldIndexed(folder: ((arg0: int32, arg1: State, arg2: T) => State), state: State, xs: FSharpList): State; export declare function fold2(folder: ((arg0: State, arg1: T1, arg2: T2) => State), state: State, xs: FSharpList, ys: FSharpList): State; export declare function foldBack2(folder: ((arg0: T1, arg1: T2, arg2: State) => State), xs: FSharpList, ys: FSharpList, state: State): State; export declare function unfold(gen: ((arg0: State) => Option<[T, State]>), state: State): FSharpList; export declare function iterate<$a>(action: ((arg0: $a) => void), xs: FSharpList<$a>): void; export declare function iterate2<$a, $b>(action: ((arg0: $a, arg1: $b) => void), xs: FSharpList<$a>, ys: FSharpList<$b>): void; export declare function iterateIndexed<$a>(action: ((arg0: int32, arg1: $a) => void), xs: FSharpList<$a>): void; export declare function iterateIndexed2<$a, $b>(action: ((arg0: int32, arg1: $a, arg2: $b) => void), xs: FSharpList<$a>, ys: FSharpList<$b>): void; export declare function toSeq(xs: FSharpList): Iterable; export declare function ofArrayWithTail(xs: T[], tail_1: FSharpList): FSharpList; export declare function ofArray(xs: T[]): FSharpList; export declare function ofSeq(xs: Iterable): FSharpList; export declare function concat(lists: Iterable>): FSharpList; export declare function scan(folder: ((arg0: State, arg1: T) => State), state: State, xs: FSharpList): FSharpList; export declare function scanBack(folder: ((arg0: T, arg1: State) => State), xs: FSharpList, state: State): FSharpList; export declare function append(xs: FSharpList, ys: FSharpList): FSharpList; export declare function collect(mapping: ((arg0: T) => FSharpList), xs: FSharpList): FSharpList; export declare function mapIndexed(mapping: ((arg0: int32, arg1: T) => U), xs: FSharpList): FSharpList; export declare function map(mapping: ((arg0: T) => U), xs: FSharpList): FSharpList; export declare function indexed<$a>(xs: FSharpList<$a>): FSharpList<[int32, $a]>; export declare function map2(mapping: ((arg0: T1, arg1: T2) => U), xs: FSharpList, ys: FSharpList): FSharpList; export declare function mapIndexed2(mapping: ((arg0: int32, arg1: T1, arg2: T2) => U), xs: FSharpList, ys: FSharpList): FSharpList; export declare function map3(mapping: ((arg0: T1, arg1: T2, arg2: T3) => U), xs: FSharpList, ys: FSharpList, zs: FSharpList): FSharpList; export declare function mapFold(mapping: ((arg0: State, arg1: T) => [Result, State]), state: State, xs: FSharpList): [FSharpList, State]; export declare function mapFoldBack(mapping: ((arg0: T, arg1: State) => [Result, State]), xs: FSharpList, state: State): [FSharpList, State]; export declare function tryPick(f: ((arg0: T) => Option<$a>), xs: FSharpList): Option<$a>; export declare function pick<$a, $b>(f: ((arg0: $a) => Option<$b>), xs: FSharpList<$a>): $b; export declare function tryFind<$a>(f: ((arg0: $a) => boolean), xs: FSharpList<$a>): Option<$a>; export declare function find<$a>(f: ((arg0: $a) => boolean), xs: FSharpList<$a>): $a; export declare function tryFindBack<$a>(f: ((arg0: $a) => boolean), xs: FSharpList<$a>): Option<$a>; export declare function findBack<$a>(f: ((arg0: $a) => boolean), xs: FSharpList<$a>): $a; export declare function tryFindIndex(f: ((arg0: T) => boolean), xs: FSharpList): Option; export declare function findIndex<$a>(f: ((arg0: $a) => boolean), xs: FSharpList<$a>): int32; export declare function tryFindIndexBack<$a>(f: ((arg0: $a) => boolean), xs: FSharpList<$a>): Option; export declare function findIndexBack<$a>(f: ((arg0: $a) => boolean), xs: FSharpList<$a>): int32; export declare function tryItem(n: int32, xs: FSharpList): Option; export declare function item(n: int32, xs: FSharpList): T; export declare function filter(f: ((arg0: T) => boolean), xs: FSharpList): FSharpList; export declare function partition(f: ((arg0: T) => boolean), xs: FSharpList): [FSharpList, FSharpList]; export declare function choose(f: ((arg0: T) => Option), xs: FSharpList): FSharpList; export declare function contains(value: T, xs: FSharpList, eq: IEqualityComparer): boolean; export declare function initialize(n: int32, f: ((arg0: int32) => T)): FSharpList; export declare function replicate<$a>(n: int32, x: $a): FSharpList<$a>; export declare function reduce(f: ((arg0: T, arg1: T) => T), xs: FSharpList): T; export declare function reduceBack(f: ((arg0: T, arg1: T) => T), xs: FSharpList): T; export declare function forAll<$a>(f: ((arg0: $a) => boolean), xs: FSharpList<$a>): boolean; export declare function forAll2<$a, $b>(f: ((arg0: $a, arg1: $b) => boolean), xs: FSharpList<$a>, ys: FSharpList<$b>): boolean; export declare function exists<$a>(f: ((arg0: $a) => boolean), xs: FSharpList<$a>): boolean; export declare function exists2(f_mut: ((arg0: T1, arg1: T2) => boolean), xs_mut: FSharpList, ys_mut: FSharpList): boolean; export declare function unzip<$a, $b>(xs: FSharpList<[$a, $b]>): [FSharpList<$a>, FSharpList<$b>]; export declare function unzip3<$a, $b, $c>(xs: FSharpList<[$a, $b, $c]>): [FSharpList<$a>, FSharpList<$b>, FSharpList<$c>]; export declare function zip<$a, $b>(xs: FSharpList<$a>, ys: FSharpList<$b>): FSharpList<[$a, $b]>; export declare function zip3<$a, $b, $c>(xs: FSharpList<$a>, ys: FSharpList<$b>, zs: FSharpList<$c>): FSharpList<[$a, $b, $c]>; export declare function sortWith(comparer: ((arg0: T, arg1: T) => int32), xs: FSharpList): FSharpList; export declare function sort(xs: FSharpList, comparer: IComparer): FSharpList; export declare function sortBy(projection: ((arg0: T) => U), xs: FSharpList, comparer: IComparer): FSharpList; export declare function sortDescending(xs: FSharpList, comparer: IComparer): FSharpList; export declare function sortByDescending(projection: ((arg0: T) => U), xs: FSharpList, comparer: IComparer): FSharpList; export declare function sum(xs: FSharpList, adder: any): T; export declare function sumBy(f: ((arg0: T) => U), xs: FSharpList, adder: any): U; export declare function maxBy(projection: ((arg0: T) => U), xs: FSharpList, comparer: IComparer): T; export declare function max(xs: FSharpList, comparer: IComparer): T; export declare function minBy(projection: ((arg0: T) => U), xs: FSharpList, comparer: IComparer): T; export declare function min(xs: FSharpList, comparer: IComparer): T; export declare function average(xs: FSharpList, averager: any): T; export declare function averageBy(f: ((arg0: T) => U), xs: FSharpList, averager: any): U; export declare function permute(f: ((arg0: int32) => int32), xs: FSharpList): FSharpList; export declare function chunkBySize(chunkSize: int32, xs: FSharpList): FSharpList>; export declare function allPairs(xs: FSharpList, ys: FSharpList): FSharpList<[T1, T2]>; export declare function skip(count_mut: int32, xs_mut: FSharpList): FSharpList; export declare function skipWhile(predicate_mut: ((arg0: T) => boolean), xs_mut: FSharpList): FSharpList; export declare function take(count: int32, xs: FSharpList): FSharpList; export declare function takeWhile(predicate: ((arg0: T) => boolean), xs: FSharpList): FSharpList; export declare function truncate(count: int32, xs: FSharpList): FSharpList; export declare function getSlice(startIndex: Option, endIndex: Option, xs: FSharpList): FSharpList; export declare function splitAt(index: int32, xs: FSharpList): [FSharpList, FSharpList]; export declare function exactlyOne(xs: FSharpList): T; export declare function tryExactlyOne(xs: FSharpList): Option; export declare function where(predicate: ((arg0: T) => boolean), xs: FSharpList): FSharpList; export declare function pairwise(xs: FSharpList): FSharpList<[T, T]>; export declare function windowed(windowSize: int32, xs: FSharpList): FSharpList>; export declare function splitInto(chunks: int32, xs: FSharpList): FSharpList>; export declare function transpose(lists: Iterable>): FSharpList>; export declare function insertAt(index: int32, y: T, xs: FSharpList): FSharpList; export declare function insertManyAt(index: int32, ys: Iterable, xs: FSharpList): FSharpList; export declare function removeAt(index: int32, xs: FSharpList): FSharpList; export declare function removeManyAt(index: int32, count: int32, xs: FSharpList): FSharpList; export declare function updateAt(index: int32, y: T, xs: FSharpList): FSharpList;