import { type Ord } from "./Ord.js";
/**
 * @remarks
 * Added in 1.0.0
 * @remarks
 * Category: Model
 * @remarks
 * Original License: MIT – Copyright (c) 2017-present Giulio Canti
 * @public
 */
export interface Bounded<A> extends Ord<A> {
    readonly top: A;
    readonly bottom: A;
}
/**
 * Clamp a value between bottom and top values.
 *
 * @remarks
 * Added in 1.0.0
 * @remarks
 * Category: Utils
 * @remarks
 * Original License: MIT – Copyright (c) 2017-present Giulio Canti
 * @public
 */
export declare const clamp: <A>(B: Bounded<A>) => (a: A) => A;
/**
 * Reverses the Ord of a bound and swaps top and bottom values.
 *
 * @remarks
 * Added in 1.0.0
 * @remarks
 * Category: Utils
 * @remarks
 * Original License: MIT – Copyright (c) 2017-present Giulio Canti
 * @public
 */
export declare const reverse: <A>(B: Bounded<A>) => Bounded<A>;
/**
 * Use [`Bounded`](./number.ts.html#bounded) instead.
 *
 * @remarks
 * Added in 1.0.0
 * @remarks
 * Original License: MIT – Copyright (c) 2017-present Giulio Canti
 * @deprecated Zone of Death
 * @public
 */
export declare const boundedNumber: Bounded<number>;
//# sourceMappingURL=Bounded.d.ts.map