import { TypeInfo } from "./Reflection.js"; import { Option } from "./Option.js"; import { int32 } from "./Int32.js"; import { ISet, IEnumerator, IComparer } from "./Util.js"; import { Record } from "./Types.js"; import { FSharpList } from "./List.js"; export declare class SetTreeLeaf$1 { readonly k: T; constructor(k: T); } export declare function SetTreeLeaf$1_$reflection(gen0: TypeInfo): TypeInfo; export declare function SetTreeLeaf$1_$ctor_2B595(k: T): SetTreeLeaf$1; export declare function SetTreeLeaf$1__get_Key(_: SetTreeLeaf$1): T; export declare class SetTreeNode$1 extends SetTreeLeaf$1 { readonly right: Option>; readonly left: Option>; readonly h: int32; constructor(v: T, left: Option>, right: Option>, h: int32); } export declare function SetTreeNode$1_$reflection(gen0: TypeInfo): TypeInfo; export declare function SetTreeNode$1_$ctor_5F465FC9(v: T, left: Option>, right: Option>, h: int32): SetTreeNode$1; export declare function SetTreeNode$1__get_Left(_: SetTreeNode$1): Option>; export declare function SetTreeNode$1__get_Right(_: SetTreeNode$1): Option>; export declare function SetTreeNode$1__get_Height(_: SetTreeNode$1): int32; export declare function SetTreeModule_empty(): Option>; export declare function SetTreeModule_countAux(t_mut: Option>, acc_mut: int32): int32; export declare function SetTreeModule_count<$a>(s: Option>): int32; export declare function SetTreeModule_mk(l: Option>, k: T, r: Option>): Option>; export declare function SetTreeModule_rebalance(t1: Option>, v: T, t2: Option>): Option>; export declare function SetTreeModule_add(comparer: IComparer, k: T, t: Option>): Option>; export declare function SetTreeModule_balance(comparer: IComparer, t1: Option>, k: T, t2: Option>): Option>; export declare function SetTreeModule_split(comparer: IComparer, pivot: T, t: Option>): [Option>, boolean, Option>]; export declare function SetTreeModule_spliceOutSuccessor(t: Option>): [T, Option>]; export declare function SetTreeModule_remove(comparer: IComparer, k: T, t: Option>): Option>; export declare function SetTreeModule_mem(comparer_mut: IComparer, k_mut: T, t_mut: Option>): boolean; export declare function SetTreeModule_iter(f_mut: ((arg0: T) => void), t_mut: Option>): void; export declare function SetTreeModule_foldBackOpt(f_mut: any, t_mut: Option>, x_mut: $a): $a; export declare function SetTreeModule_foldBack<$a, $b>(f: ((arg0: $a, arg1: $b) => $b), m: Option>, x: $b): $b; export declare function SetTreeModule_foldOpt<$a, T>(f_mut: any, x_mut: $a, t_mut: Option>): $a; export declare function SetTreeModule_fold<$a, $b>(f: ((arg0: $a, arg1: $b) => $a), x: $a, m: Option>): $a; export declare function SetTreeModule_forall(f_mut: ((arg0: T) => boolean), t_mut: Option>): boolean; export declare function SetTreeModule_exists(f_mut: ((arg0: T) => boolean), t_mut: Option>): boolean; export declare function SetTreeModule_subset<$a>(comparer: IComparer<$a>, a: Option>, b: Option>): boolean; export declare function SetTreeModule_properSubset<$a>(comparer: IComparer<$a>, a: Option>, b: Option>): boolean; export declare function SetTreeModule_filterAux(comparer_mut: IComparer, f_mut: ((arg0: T) => boolean), t_mut: Option>, acc_mut: Option>): Option>; export declare function SetTreeModule_filter<$a>(comparer: IComparer<$a>, f: ((arg0: $a) => boolean), s: Option>): Option>; export declare function SetTreeModule_diffAux(comparer_mut: IComparer, t_mut: Option>, acc_mut: Option>): Option>; export declare function SetTreeModule_diff<$a>(comparer: IComparer<$a>, a: Option>, b: Option>): Option>; export declare function SetTreeModule_union(comparer: IComparer, t1: Option>, t2: Option>): Option>; export declare function SetTreeModule_intersectionAux(comparer_mut: IComparer, b_mut: Option>, t_mut: Option>, acc_mut: Option>): Option>; export declare function SetTreeModule_intersection<$a>(comparer: IComparer<$a>, a: Option>, b: Option>): Option>; export declare function SetTreeModule_partition1<$a>(comparer: IComparer<$a>, f: ((arg0: $a) => boolean), k: $a, acc1: Option>, acc2: Option>): [Option>, Option>]; export declare function SetTreeModule_partitionAux(comparer_mut: IComparer, f_mut: ((arg0: T) => boolean), t_mut: Option>, acc__mut: Option>, acc__1_mut: Option>): [Option>, Option>]; export declare function SetTreeModule_partition<$a>(comparer: IComparer<$a>, f: ((arg0: $a) => boolean), s: Option>): [Option>, Option>]; export declare function SetTreeModule_minimumElementAux(t_mut: Option>, n_mut: T): T; export declare function SetTreeModule_minimumElementOpt(t: Option>): Option; export declare function SetTreeModule_maximumElementAux(t_mut: Option>, n_mut: T): T; export declare function SetTreeModule_maximumElementOpt(t: Option>): Option; export declare function SetTreeModule_minimumElement<$a>(s: Option>): $a; export declare function SetTreeModule_maximumElement<$a>(s: Option>): $a; export declare class SetTreeModule_SetIterator$1 extends Record { stack: FSharpList>>; started: boolean; constructor(stack: FSharpList>>, started: boolean); } export declare function SetTreeModule_SetIterator$1_$reflection(gen0: TypeInfo): TypeInfo; export declare function SetTreeModule_collapseLHS(stack_mut: FSharpList>>): FSharpList>>; export declare function SetTreeModule_mkIterator<$a>(s: Option>): SetTreeModule_SetIterator$1<$a>; export declare function SetTreeModule_notStarted<$a>(): $a; export declare function SetTreeModule_alreadyFinished<$a>(): $a; export declare function SetTreeModule_current<$a>(i: SetTreeModule_SetIterator$1<$a>): $a; export declare function SetTreeModule_moveNext(i: SetTreeModule_SetIterator$1): boolean; export declare function SetTreeModule_mkIEnumerator(s: Option>): IEnumerator; /** * Set comparison. Note this can be expensive. */ export declare function SetTreeModule_compareStacks(comparer_mut: IComparer, l1_mut: FSharpList>>, l2_mut: FSharpList>>): int32; export declare function SetTreeModule_compare(comparer: IComparer, t1: Option>, t2: Option>): int32; export declare function SetTreeModule_choose<$a>(s: Option>): $a; export declare function SetTreeModule_toList(t: Option>): FSharpList; export declare function SetTreeModule_copyToArray<$a>(s: Option>, arr: $a[], i: int32): void; export declare function SetTreeModule_toArray<$a>(s: Option>): $a[]; export declare function SetTreeModule_mkFromEnumerator<$a>(comparer_mut: IComparer<$a>, acc_mut: Option>, e_mut: IEnumerator<$a>): Option>; export declare function SetTreeModule_ofArray<$a>(comparer: IComparer<$a>, l: $a[]): Option>; export declare function SetTreeModule_ofList<$a>(comparer: IComparer<$a>, l: FSharpList<$a>): Option>; export declare function SetTreeModule_ofSeq(comparer: IComparer, c: Iterable): Option>; export declare class FSharpSet implements ISet, Iterable, Iterable { readonly tree: Option>; readonly comparer: IComparer; constructor(comparer: IComparer, tree: Option>); GetHashCode(): int32; Equals(that: any): boolean; toString(): string; get [Symbol.toStringTag](): string; toJSON(): any; CompareTo(that: any): int32; "System.Collections.Generic.ICollection`1.Add2B595"(x: T): void; "System.Collections.Generic.ICollection`1.Clear"(): void; "System.Collections.Generic.ICollection`1.Remove2B595"(x: T): boolean; "System.Collections.Generic.ICollection`1.Contains2B595"(x: T): boolean; "System.Collections.Generic.ICollection`1.CopyToZ3B4C077E"(arr: T[], i: int32): void; "System.Collections.Generic.ICollection`1.get_IsReadOnly"(): boolean; "System.Collections.Generic.ICollection`1.get_Count"(): int32; "System.Collections.Generic.IReadOnlyCollection`1.get_Count"(): int32; GetEnumerator(): IEnumerator; [Symbol.iterator](): Iterator; "System.Collections.IEnumerable.GetEnumerator"(): IEnumerator; get size(): int32; add(k: T): ISet; clear(): void; delete(k: T): boolean; has(k: T): boolean; keys(): Iterable; values(): Iterable; entries(): Iterable<[T, T]>; forEach(f: ((arg0: T, arg1: T, arg2: ISet) => void), thisArg?: Option): void; } export declare function FSharpSet_$reflection(gen0: TypeInfo): TypeInfo; export declare function FSharpSet_$ctor(comparer: IComparer, tree: Option>): FSharpSet; export declare function FSharpSet__get_Comparer(set$: FSharpSet): IComparer; export declare function FSharpSet__get_Tree(set$: FSharpSet): Option>; export declare function FSharpSet_Empty(comparer: IComparer): FSharpSet; export declare function FSharpSet__Add(s: FSharpSet, value: T): FSharpSet; export declare function FSharpSet__Remove(s: FSharpSet, value: T): FSharpSet; export declare function FSharpSet__get_Count(s: FSharpSet): int32; export declare function FSharpSet__Contains(s: FSharpSet, value: T): boolean; export declare function FSharpSet__Iterate(s: FSharpSet, x: ((arg0: T) => void)): void; export declare function FSharpSet__Fold(s: FSharpSet, f: ((arg0: T, arg1: $a) => $a), z: $a): $a; export declare function FSharpSet__get_IsEmpty(s: FSharpSet): boolean; export declare function FSharpSet__Partition(s: FSharpSet, f: ((arg0: T) => boolean)): [FSharpSet, FSharpSet]; export declare function FSharpSet__Filter(s: FSharpSet, f: ((arg0: T) => boolean)): FSharpSet; export declare function FSharpSet__Map(s: FSharpSet, f: ((arg0: T) => U), comparer: IComparer): FSharpSet; export declare function FSharpSet__Exists(s: FSharpSet, f: ((arg0: T) => boolean)): boolean; export declare function FSharpSet__ForAll(s: FSharpSet, f: ((arg0: T) => boolean)): boolean; export declare function FSharpSet_op_Subtraction(set1: FSharpSet, set2: FSharpSet): FSharpSet; export declare function FSharpSet_op_Addition(set1: FSharpSet, set2: FSharpSet): FSharpSet; export declare function FSharpSet_Intersection(a: FSharpSet, b: FSharpSet): FSharpSet; export declare function FSharpSet_IntersectionMany(sets: Iterable>): FSharpSet; export declare function FSharpSet_Equality(a: FSharpSet, b: FSharpSet): boolean; export declare function FSharpSet_Compare(a: FSharpSet, b: FSharpSet): int32; export declare function FSharpSet__get_Choose(x: FSharpSet): T; export declare function FSharpSet__get_MinimumElement(x: FSharpSet): T; export declare function FSharpSet__get_MaximumElement(x: FSharpSet): T; export declare function FSharpSet__IsSubsetOf(x: FSharpSet, otherSet: FSharpSet): boolean; export declare function FSharpSet__IsSupersetOf(x: FSharpSet, otherSet: FSharpSet): boolean; export declare function FSharpSet__IsProperSubsetOf(x: FSharpSet, otherSet: FSharpSet): boolean; export declare function FSharpSet__IsProperSupersetOf(x: FSharpSet, otherSet: FSharpSet): boolean; export declare function FSharpSet__ToList(x: FSharpSet): FSharpList; export declare function FSharpSet__ToArray(x: FSharpSet): T[]; export declare function FSharpSet__ComputeHashCode(this$: FSharpSet): int32; export declare function isEmpty(set$: FSharpSet): boolean; export declare function contains(element: T, set$: FSharpSet): boolean; export declare function add(value: T, set$: FSharpSet): FSharpSet; export declare function singleton(value: T, comparer: IComparer): FSharpSet; export declare function remove(value: T, set$: FSharpSet): FSharpSet; export declare function union(set1: FSharpSet, set2: FSharpSet): FSharpSet; export declare function unionMany(sets: Iterable>, comparer: IComparer): FSharpSet; export declare function intersect(set1: FSharpSet, set2: FSharpSet): FSharpSet; export declare function intersectMany(sets: Iterable>): FSharpSet; export declare function iterate(action: ((arg0: T) => void), set$: FSharpSet): void; export declare function empty(comparer: IComparer): FSharpSet; export declare function forAll(predicate: ((arg0: T) => boolean), set$: FSharpSet): boolean; export declare function exists(predicate: ((arg0: T) => boolean), set$: FSharpSet): boolean; export declare function filter(predicate: ((arg0: T) => boolean), set$: FSharpSet): FSharpSet; export declare function partition(predicate: ((arg0: T) => boolean), set$: FSharpSet): [FSharpSet, FSharpSet]; export declare function fold(folder: ((arg0: State, arg1: T) => State), state: State, set$: FSharpSet): State; export declare function foldBack(folder: ((arg0: T, arg1: State) => State), set$: FSharpSet, state: State): State; export declare function map(mapping: ((arg0: T) => U), set$: FSharpSet, comparer: IComparer): FSharpSet; export declare function count(set$: FSharpSet): int32; export declare function ofList(elements: Iterable, comparer: IComparer): FSharpSet; export declare function ofArray(array: T[], comparer: IComparer): FSharpSet; export declare function toList(set$: FSharpSet): FSharpList; export declare function toArray(set$: FSharpSet): T[]; export declare function toSeq(set$: FSharpSet): Iterable; export declare function ofSeq(elements: Iterable, comparer: IComparer): FSharpSet; export declare function difference(set1: FSharpSet, set2: FSharpSet): FSharpSet; export declare function isSubset(set1: FSharpSet, set2: FSharpSet): boolean; export declare function isSuperset(set1: FSharpSet, set2: FSharpSet): boolean; export declare function isProperSubset(set1: FSharpSet, set2: FSharpSet): boolean; export declare function isProperSuperset(set1: FSharpSet, set2: FSharpSet): boolean; export declare function minElement(set$: FSharpSet): T; export declare function maxElement(set$: FSharpSet): T; export declare function unionWith(s1: ISet, s2: Iterable): ISet; export declare function newMutableSetWith(s1: ISet, s2: Iterable): ISet; export declare function intersectWith(s1: ISet, s2: Iterable): void; export declare function exceptWith(s1: ISet, s2: Iterable): void; export declare function isSubsetOf(s1: ISet, s2: Iterable): boolean; export declare function isSupersetOf(s1: ISet, s2: Iterable): boolean; export declare function isProperSubsetOf(s1: ISet, s2: Iterable): boolean; export declare function isProperSupersetOf(s1: ISet, s2: Iterable): boolean;