import { EvalF, Kind } from '@fp4ts/core'; import { Monoid } from '@fp4ts/cats-kernel'; import { SemigroupK, SemigroupKRequirements } from './semigroup-k'; import { ArrayF } from './instances/array'; import { EndoF } from './instances/function'; /** * @category Type Class */ export interface MonoidK extends SemigroupK { emptyK(): Kind; algebra(): Monoid>; dual(): MonoidK; } export type MonoidKRequirements = Pick, 'emptyK'> & SemigroupKRequirements & Partial>; export declare const MonoidK: Readonly<{ of: (F: MonoidKRequirements) => MonoidK; readonly Array: MonoidK; readonly Endo: MonoidK; readonly EndoEval: MonoidK<[EndoF, EvalF]>; }>; //# sourceMappingURL=monoid-k.d.ts.map