import type * as P from "@principia/prelude"; import type { Either, URI, V } from "./model"; /** * ```haskell * both_ :: Apply f => (f a, f b) -> f (a, b) * ``` * * Applies both `Either`s and if both are `Right`, collects their values into a tuple, otherwise, returns the first `Left` * * @category Apply * @since 1.0.0 */ export declare const both_: (fa: Either, fb: Either) => Either; /** * ```haskell * both :: Apply f => f b -> f a -> f (a, b) * ``` * * Applies both `Either`s and if both are `Right`, collects their values into a tuple, otherwise, returns the first `Left` * * @category Apply * @since 1.0.0 */ export declare const both: (fb: Either) => (fa: Either) => Either; /** * ```haskell * pure :: Applicative f => a -> f a * ``` * * Lifts a pure expression info an `Either` * * @category Applicative * @since 1.0.0 */ export declare const pure: (a: A) => Either; /** * @category Instances * @since 1.0.0 */ export declare const Applicative: P.Applicative<[URI], V>; //# sourceMappingURL=applicative.d.ts.map