import { $, $type, HKT, TyK, TyVar } from '@fp4ts/core'; import { Eq, Semigroup } from '@fp4ts/cats-kernel'; import { Option } from '../option'; import { Either } from '../either'; import { Monad } from '../../monad'; import { MonadError } from '../../monad-error'; import { Bifunctor } from '../../bifunctor'; import { Ior as IorBase } from './algebra'; export type Ior = IorBase; export declare const Ior: IorObj; export interface IorObj { Left(a: A): Ior; Right(b: B): Ior; Both(a: A, b: B): Ior; fromOptions(left: Option, right: Option): Option>; fromEither(ea: Either): Ior; tailRecM(S: Semigroup): (s: S) => (f: (s: S) => Ior>) => Ior; Eq(EqA: Eq, EqB: Eq): Eq>; readonly Bifunctor: Bifunctor; Monad(S: Semigroup): Monad<$>; MonadError(S: Semigroup): MonadError<$, A>; } declare module './algebra' { interface Ior extends HKT { } } /** * @category Type Constructor * @category Data */ export interface IorF extends TyK<[unknown, unknown]> { [$type]: Ior, TyVar>; } //# sourceMappingURL=ior.d.ts.map