/** * @since 2.11.0 */ import { Option } from './Option' import { Either } from './Either' /** * @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