import * as equivalence from "@fp-ts/core/typeclass/Equivalence"; import * as monoid from "@fp-ts/core/typeclass/Monoid"; import * as order from "@fp-ts/core/typeclass/Order"; import * as semigroup from "@fp-ts/core/typeclass/Semigroup"; /** * @category constructors * @since 1.0.0 */ export declare const tuple: (...elements: A) => A; /** * Given a tuple of `Equivalence`s returns a new `Equivalence` that compares values of a tuple * by applying each `Equivalence` to the corresponding element of the tuple. * * @category combinators * @since 1.0.0 */ export declare const getEquivalence: >(...equivalences: { readonly [K in keyof A]: equivalence.Equivalence; }) => equivalence.Equivalence>; /** * This function creates and returns a new `Order` for a tuple of values based on the given `Order`s for each element in the tuple. * The returned `Order` compares two tuples of the same type by applying the corresponding `Order` to each element in the tuple. * It is useful when you need to compare two tuples of the same type and you have a specific way of comparing each element * of the tuple. * * @category combinators * @since 1.0.0 */ export declare const getOrder: >(...orders: { readonly [K in keyof A]: order.Order; }) => order.Order>; /** * This function creates and returns a new `Semigroup` for a tuple of values based on the given `Semigroup`s for each element in the tuple. * The returned `Semigroup` combines two tuples of the same type by applying the corresponding `Semigroup` passed as arguments to each element in the tuple. * * It is useful when you need to combine two tuples of the same type and you have a specific way of combining each element of the tuple. * * @category combinators * @since 1.0.0 */ export declare const getSemigroup: (...semigroups: { readonly [K in keyof A]: semigroup.Semigroup; }) => semigroup.Semigroup; /** * This function creates and returns a new `Monoid` for a tuple of values based on the given `Monoid`s for each element in the tuple. * The returned `Monoid` combines two tuples of the same type by applying the corresponding `Monoid` passed as arguments to each element in the tuple. * * The `empty` value of the returned `Monoid` is the tuple of `empty` values of the input `Monoid`s. * * It is useful when you need to combine two tuples of the same type and you have a specific way of combining each element of the tuple. * * @category combinators * @since 1.0.0 */ export declare const getMonoid: (...monoids: { [K in keyof A]: monoid.Monoid; }) => monoid.Monoid; /** * Appends an element to the end of a tuple. * * @since 1.0.0 */ export declare const appendElement: { (that: B): >(self: A) => [...A, B]; , B>(self: A, that: B): [...A, B]; }; //# sourceMappingURL=Tuple.d.ts.map