import type * as P from "@principia/prelude"; import type { Either, URI, V } from "./model"; /** * ```haskell * alt_ :: Alt f => (f a, (() -> f a)) -> f a * ``` * * Identifies an associative operation on a type constructor. It is similar to `Semigroup`, except that it applies to types of kind `* -> *`. * * @category Alt * @since 1.0.0 */ export declare const alt_: (fa: Either, that: () => Either) => Either; /** * ```haskell * alt :: Alt f => (() -> f a) -> f a -> f a * ``` * * Identifies an associative operation on a type constructor. It is similar to `Semigroup`, except that it applies to types of kind `* -> *`. * * @category Alt * @since 1.0.0 */ export declare const alt: (that: () => Either) => (fa: Either) => Either; /** * @category Instances * @since 1.0.0 */ export declare const Alt: P.Alt<[URI], V>; //# sourceMappingURL=alt.d.ts.map