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