import { $, Base, EvalF, Kind } from '@fp4ts/core'; import { Defer } from './defer'; import { Monad } from './monad'; import { Function0F, Function1F } from './instances/function'; /** * @category Type Class */ export interface MonadDefer extends Monad, Defer { delay(thunk: () => A): Kind; } export type MonadDeferRequirements = Pick, 'flatMap_' | 'pure'> & Partial>; export declare const MonadDefer: Readonly<{ of: (F: MonadDeferRequirements) => MonadDefer; readonly Eval: MonadDefer; readonly Function0: MonadDefer; Function1: () => MonadDefer<$>; }>; export declare function isMonadDefer(F: Base): F is MonadDefer; //# sourceMappingURL=monad-defer.d.ts.map