import { Kind, PrimitiveType } from '@fp4ts/core'; import { Monoid, Eq, Hashable } from '@fp4ts/cats-kernel'; import { Show } from '../../../show'; import { MonoidK } from '../../../monoid-k'; import { Applicative } from '../../../applicative'; import { Option } from '../../option'; import { List } from '../list'; declare module './algebra' { interface HashMap { readonly isEmpty: boolean; readonly nonEmpty: boolean; readonly keys: List; readonly values: List; readonly size: number; readonly toList: List<[K, V]>; readonly toArray: Array<[K, V]>; count(p: (v: V, k: K) => boolean): number; any(p: (v: V, k: K) => boolean): boolean; all(p: (v: V, k: K) => boolean): boolean; hasKey(this: HashMap, H: Hashable, k: K2): boolean; hasKey(this: HashMap, k: K2): boolean; get(this: HashMap, H: Hashable, k: K2): V; get(this: HashMap, k: K2): V; '!!'(this: HashMap, H: Hashable, k: K2): V; '!!'(this: HashMap, k: K2): V; lookup(this: HashMap, H: Hashable, k: K2): Option; lookup(this: HashMap, k: K2): Option; '!?'(this: HashMap, H: Hashable, k: K2): Option; '!?'(this: HashMap, k: K2): Option; insert(this: HashMap, H: Hashable, k: K2, v: V2): HashMap; insert(this: HashMap, k: K2, v: V2): HashMap; insertWith(this: HashMap, H: Hashable, k: K2, v: V2, u: (v1: V2, v2: V2, k: K2) => V2): HashMap; insertWith(this: HashMap, k: K2, v: V2, u: (v1: V2, v2: V2, k: K2) => V2): HashMap; remove(this: HashMap, H: Hashable, k: K2): HashMap; remove(this: HashMap, k: K2): HashMap; update(this: HashMap, H: Hashable, k: K2, u: (v: V2, k: K) => V2): HashMap; update(this: HashMap, k: K2, u: (v: V2, k: K) => V2): HashMap; '+++'(this: HashMap, E: Eq, m2: HashMap): HashMap; '+++'(this: HashMap, m2: HashMap): HashMap; union(this: HashMap, E: Eq, m2: HashMap): HashMap; union(this: HashMap, m2: HashMap): HashMap; unionWith(this: HashMap, E: Eq, m2: HashMap, u: (v1: V2, v2: V2, k: K2) => V2): HashMap; unionWith(this: HashMap, m2: HashMap, u: (v1: V2, v2: V2, k: K2) => V2): HashMap; intersect(this: HashMap, E: Eq, m2: HashMap): HashMap; intersect(this: HashMap, m2: HashMap): HashMap; intersectWith(this: HashMap, E: Eq, m2: HashMap, f: (v1: V, v2: V2, k: K2) => C): HashMap; intersectWith(this: HashMap, m2: HashMap, f: (v1: V, v2: V2, k: K2) => C): HashMap; '\\'(this: HashMap, E: Eq, m2: HashMap): HashMap; '\\'(this: HashMap, m2: HashMap): HashMap; difference(this: HashMap, E: Eq, m2: HashMap): HashMap; difference(this: HashMap, m2: HashMap): HashMap; '\\//'(this: HashMap, E: Eq, m2: HashMap): HashMap; '\\//'(this: HashMap, m2: HashMap): HashMap; symmetricDifference(this: HashMap, E: Eq, m2: HashMap): HashMap; symmetricDifference(this: HashMap, m2: HashMap): HashMap; filter(p: (v: V, k: K) => boolean): HashMap; map(f: (v: V, k: K) => B): HashMap; tap(f: (v: V, k: K) => unknown): HashMap; collect(f: (v: V, k: K) => Option): HashMap; flatMap(this: HashMap, E: Eq): (f: (v: V, k: K) => HashMap) => HashMap; flatMap(this: HashMap, f: (v: V, k: K) => HashMap): HashMap; flatten: V extends HashMap ? K extends PrimitiveType ? (this: HashMap>) => HashMap : (this: HashMap>, E: Eq) => HashMap : never; foldLeft(z: B, f: (b: B, v: V, k: K) => B): B; foldRight(z: B, f: (v: V, b: B, k: K) => B): B; foldMap(M: Monoid): (f: (v: V, k: K) => M) => M; foldMapK(F: MonoidK): (f: (v: V, k: K) => Kind) => Kind; traverse(G: Applicative): (f: (v: V, k: K) => Kind) => Kind]>; show(this: HashMap): string; show(this: HashMap, SV?: Show): string; show(this: HashMap, SK: Show, SV: Show): string; } } //# sourceMappingURL=syntax.d.ts.map