/** * @since 2.11.0 */ import { Monoid } from './Monoid.js'; import { Semigroup } from './Semigroup.js'; /** * @since 2.11.0 */ export interface Endomorphism { (a: A): A; } /** * @category type lambdas * @since 2.11.0 */ export declare const URI = "Endomorphism"; /** * @category type lambdas * @since 2.11.0 */ export type URI = typeof URI; declare module './HKT.js' { interface URItoKind { readonly [URI]: Endomorphism; } } /** * Endomorphism form a `Semigroup` where the `concat` operation is the usual function composition. * * @category instances * @since 2.11.0 */ export declare const getSemigroup: () => Semigroup>; /** * Endomorphism form a `Monoid` where the `empty` value is the `identity` function. * * @category instances * @since 2.11.0 */ export declare const getMonoid: () => Monoid>;