import { $, $type, Fix, Kind, TyK, TyVar, α, λ } from '@fp4ts/core'; import { Defer } from '../defer'; import { SemigroupK } from '../semigroup-k'; import { MonoidK } from '../monoid-k'; import { Functor } from '../functor'; import { FunctorFilter } from '../functor-filter'; import { Apply } from '../apply'; import { Applicative } from '../applicative'; import { Alternative } from '../alternative'; import { ApplicativeError } from '../applicative-error'; import { FlatMap } from '../flat-map'; import { Monad } from '../monad'; import { MonadError } from '../monad-error'; import { Contravariant } from '../contravariant'; import { Distributive } from '../distributive'; import { MonadDefer } from '../monad-defer'; export type Kleisli = (a: A) => Kind; export declare const Kleisli: KleisliObj; export interface KleisliObj { (f: (a: A) => Kind): Kleisli; Defer(F: Defer): Defer<$>; SemigroupK(F: SemigroupK): SemigroupK<$>; MonoidK(F: MonoidK): MonoidK<$>; Distributive(F: Distributive): Distributive<$>; Contravariant(): Contravariant<λ, α, Fix]>>; Functor(F: Functor): Functor<$>; FunctorFilter(F: FunctorFilter): FunctorFilter<$>; Apply(F: FlatMap): Apply<$>; Applicative(F: Applicative): Applicative<$>; Alternative(F: Alternative): Alternative<$>; ApplicativeError(F: ApplicativeError): ApplicativeError<$, E>; FlatMap(F: FlatMap): FlatMap<$>; Monad(F: Monad): Monad<$>; MonadDefer(F: MonadDefer): MonadDefer<$>; MonadError(F: MonadError): MonadError<$, E>; } /** * @category Type Constructor * @category Data */ export interface KleisliF extends TyK<[unknown, unknown, unknown]> { [$type]: Kleisli, TyVar, TyVar>; } //# sourceMappingURL=kleisli.d.ts.map