import type { Eq } from "@principia/prelude/Eq"; import type { Predicate, Refinement } from "../Function"; import type { Either } from "./model"; /** * orElse_ :: Either E => (E a b, (a -> b)) -> a | b */ export declare const orElse_: (fa: Either, onLeft: (e: E) => Either) => Either; /** * orElse :: Either E => (a -> b) -> E a b -> a | b */ export declare const orElse: (onLeft: (e: E) => Either) => (fa: Either) => Either; /** * orElseEither_ :: Either E => (E a b, (a -> E c a)) -> E c (E a b) */ export declare const orElseEither_: ( fa: Either, onLeft: (e: E) => Either ) => Either>; /** * orElseEither :: Either E => (a -> E c a) -> E a b -> E c (E a b) */ export declare const orElseEither: ( onLeft: (e: E) => Either ) => (fa: Either) => Either>; /** * filterOrElse_ :: (Either E, Bool B) => (E a b, (a -> B), (a -> c)) -> E (a | c) b */ export declare const filterOrElse_: { (fa: Either, refinement: Refinement, onFalse: (a: A) => G): Either; (fa: Either, predicate: Predicate, onFalse: (a: A) => G): Either; }; /** * filterOrElse :: (Either E, Bool B) => ((a -> B), (a -> c)) -> E a b -> E (a | c) b */ export declare const filterOrElse: { (refinement: Refinement, onFalse: (a: A) => G): (fa: Either) => Either; (predicate: Predicate, onFalse: (a: A) => G): (fa: Either) => Either; }; export declare const elem: (E: Eq) => (a: A, fa: Either) => boolean; export declare const exists_: { (fa: Either, refinement: Refinement): fa is Either; (fa: Either, predicate: Predicate): fa is Either; }; export declare const exists: { (refinement: Refinement): (fa: Either) => fa is Either; (predicate: Predicate): (fa: Either) => fa is Either; }; //# sourceMappingURL=combinators.d.ts.map