/** * @since 0.24.0 */ import type { TypeLambda } from "effect/HKT"; import type { Order } from "effect/Order"; import type { Monoid } from "./Monoid.js"; /** * @category type class * @since 0.24.0 */ export interface Bounded { readonly compare: Order; readonly maxBound: A; readonly minBound: A; } /** * @category type lambdas * @since 0.24.0 */ export interface BoundedTypeLambda extends TypeLambda { readonly type: Bounded; } /** * `Monoid` that returns last minimum of elements. * * @category constructors * @since 0.24.0 */ export declare const min: (B: Bounded) => Monoid; /** * `Monoid` that returns last maximum of elements. * * @category constructors * @since 0.24.0 */ export declare const max: (B: Bounded) => Monoid; /** * Checks if a value is between the lower and upper limit of a bound. * * @category predicates * @since 0.24.0 */ export declare const between: (B: Bounded) => (a: A) => boolean; /** * Clamp a value between `minBound` and `maxBound` values. * * @category utils * @since 0.24.0 */ export declare const clamp: (B: Bounded) => (a: A) => A; /** * Reverses the `Order` of a `Bounded` and flips `maxBound` and `minBound` values. * * @category utils * @since 0.24.0 */ export declare const reverse: (B: Bounded) => Bounded; //# sourceMappingURL=Bounded.d.ts.map