import type { Predicate } from './Predicate'; import type { Refinement } from './Refinement'; export interface None { readonly _tag: 'None'; } export interface Some { readonly _tag: 'Some'; readonly value: A; } export declare type Option = None | Some; /** * @internal */ export declare function Some(a: A): Option; /** * @internal */ export declare function None(): Option; /** * Constructs a new `Option` from a value and the given predicate * * @category Constructors * @since 1.0.0 * @internal */ export declare function fromPredicate_(a: A, refinement: Refinement): Option; export declare function fromPredicate_(a: A, predicate: Predicate): Option; /** * Returns a smart constructor based on the given predicate * * @category Constructors * @since 1.0.0 * @internal */ export declare function fromPredicate(refinement: Refinement): (a: A) => Option; export declare function fromPredicate(predicate: Predicate): (a: A) => Option; export declare function fromNullable(a: A | null | undefined): Option>; /** * @internal */ export declare function getOrElse_(fa: Option, onNone: () => B): A | B; /** * @internal */ export declare function getOrElse(onNone: () => B): (fa: Option) => A | B; //# sourceMappingURL=Option.d.ts.map