import * as groups from '../typeclass/groups'; export declare const MonoidMax: groups.Monoid; export declare const SemiGroupMin: groups.SemiGroup; /** * MonoidMin is a Monoid with the identity element representing an `infinite string` * But since we can't represent an infinite string we use the empty string as the identity element * This has the side effect that empty string will not be the smallest string * It's usually ok since we usually don't compute the smallest string with empty strings */ export declare const MonoidMinNonEmpty: groups.FreeMonoid; export declare const MonoidConcat: groups.Monoid;