/** * @since 2.11.0 */ import { Either } from './Either.js'; import { Option } from './Option.js'; /** * @since 2.11.0 */ export interface Refinement { (a: A): a is B; } /** * Returns a `Refinement` from a `Option` returning function. * This function ensures that a `Refinement` definition is type-safe. * * @category lifting * @since 2.11.0 */ export declare const fromOptionK: (getOption: (a: A) => Option) => Refinement; /** * @category lifting * @since 2.11.0 */ export declare const fromEitherK: (getEither: (a: A) => Either) => Refinement; /** * @category constructors * @since 2.11.0 */ export declare const id: () => Refinement; /** * @since 2.11.0 */ export declare const not: (refinement: Refinement) => Refinement>; /** * @since 2.11.0 */ export declare const or: (second: Refinement) => (first: Refinement) => Refinement; /** * @since 2.11.0 */ export declare const and: (second: Refinement) => (first: Refinement) => Refinement; /** * @since 2.11.0 */ export declare const zero: () => Refinement; /** * @since 2.11.0 */ export declare const compose: (bc: Refinement) => (ab: Refinement) => Refinement;