/**
* @since 1.0.0
*/
import type { TypeLambda } from "@fp-ts/core/HKT";
import type { Monoid } from "@fp-ts/core/typeclass/Monoid";
import type { Order } from "@fp-ts/core/typeclass/Order";
/**
* @category type class
* @since 1.0.0
*/
export interface Bounded extends Order {
readonly maxBound: A;
readonly minBound: A;
}
/**
* @category type lambdas
* @since 1.0.0
*/
export interface BoundedTypeLambda extends TypeLambda {
readonly type: Bounded;
}
/**
* `Monoid` that returns last minimum of elements.
*
* @category constructors
* @since 1.0.0
*/
export declare const min: (B: Bounded) => Monoid;
/**
* `Monoid` that returns last maximum of elements.
*
* @category constructors
* @since 1.0.0
*/
export declare const max: (B: Bounded) => Monoid;
/**
* @category instances
* @since 1.0.0
*/
export declare const number: Bounded;
/**
* Clamp a value between `minBound` and `maxBound` values.
*
* @since 1.0.0
*/
export declare const clamp: (B: Bounded) => (a: A) => A;
/**
* Reverses the `Order` of a `Bounded` and flips `maxBound` and `minBound` values.
*
* @since 1.0.0
*/
export declare const reverse: (B: Bounded) => Bounded;
//# sourceMappingURL=Bounded.d.ts.map