import { Kind } from '@fp4ts/core'; import { Monad, MonadRequirements } from './monad'; import { ApplicativeError, ApplicativeErrorRequirements } from './applicative-error'; import { Either } from './data'; /** * @category Type Class */ export interface MonadError extends ApplicativeError, Monad { readonly redeemWith: (h: (e: E) => Kind, f: (a: A) => Kind) => (fa: Kind) => Kind; readonly redeemWith_: (fa: Kind, h: (e: E) => Kind, f: (a: A) => Kind) => Kind; readonly rethrow: (fea: Kind]>) => Kind; readonly attemptTap: (f: (ea: Either) => Kind) => (fa: Kind) => Kind; readonly attemptTap_: (fa: Kind, f: (ea: Either) => Kind) => Kind; } export type MonadErrorRequirements = MonadRequirements & ApplicativeErrorRequirements & Partial>; export declare const MonadError: Readonly<{ of: (F: MonadErrorRequirements) => MonadError; }>; //# sourceMappingURL=monad-error.d.ts.map