import { Kind } from '@fp4ts/core'; import { Eq, Monoid, Ord } from '@fp4ts/cats-kernel'; import { MonoidK } from '../../../monoid-k'; import { Option } from '../../option'; import { List } from '../list'; import { Vector } from '../vector'; import { View } from '../view'; declare module './algebra' { interface Set { readonly isEmpty: boolean; readonly nonEmpty: boolean; readonly head: A; readonly headOption: Option; readonly tail: Set; readonly last: A; readonly lastOption: Option; readonly init: Set; readonly min: Option; readonly popMin: Option<[A, Set]>; readonly max: Option; readonly popMax: Option<[A, Set]>; readonly iterator: Iterator; [Symbol.iterator](): Iterator; readonly reverseIterator: Iterator; readonly toArray: A[]; readonly toList: List; readonly toVector: Vector; readonly view: View; contains(this: Set, x: B, O?: Ord): boolean; all(p: (a: A) => boolean): boolean; any(p: (a: A) => boolean): boolean; count(p: (a: A) => boolean): number; elem(idx: number): A; '!!'(idx: number): A; elemOption(idx: number): Option; '!?'(idx: number): Option; take(n: number): Set; takeRight(n: number): Set; drop(n: number): Set; dropRight(n: number): Set; slice(from: number, until: number): Set; insert(this: Set, x: B, O?: Ord): Set; remove(this: Set, x: B, O?: Ord): Set; union(this: Set, that: Set, O?: Ord): Set; '+++'(this: Set, that: Set, O?: Ord): Set; intersect(this: Set, that: Set, O?: Ord): Set; difference(this: Set, that: Set, O?: Ord): Set; '\\'(this: Set, that: Set, O?: Ord): Set; symmetricDifference(this: Set, that: Set, O?: Ord): Set; '\\//'(this: Set, that: Set, O?: Ord): Set; split(this: Set, x: B, O?: Ord): [Set, Set]; filter(p: (a: A) => boolean): Set; map(f: (a: A) => B, O?: Ord): Set; forEach(f: (a: A) => void): void; partition(p: (a: A) => boolean): [Set, Set]; foldLeft(z: B, f: (b: B, x: A) => B): B; foldLeft1(this: Set, f: (b: B, x: B) => B): B; foldRight(z: B, f: (x: A, b: B) => B): B; foldRight1(this: Set, f: (x: B, b: B) => B): B; foldMap(M: Monoid): (f: (a: A) => M) => M; foldMapLeft(M: Monoid): (f: (a: A) => M) => M; foldMapK(F: MonoidK): (f: (a: A) => Kind) => Kind; equals(this: Set, E: Eq): (that: Set) => boolean; } } //# sourceMappingURL=syntax.d.ts.map