import { $type, Eval, HKT, Kind, Lazy, TyK, TyVar } from '@fp4ts/core'; import { Eq, Monoid } from '@fp4ts/cats-kernel'; import { Alternative } from '../alternative'; import { Applicative } from '../applicative'; import { CoflatMap } from '../coflat-map'; import { EqK } from '../eq-k'; import { Functor } from '../functor'; import { FunctorFilter } from '../functor-filter'; import { Monad } from '../monad'; import { MonoidK } from '../monoid-k'; import { TraversableFilter } from '../traversable-filter'; import { Either } from './either'; import { List } from './collections'; export type Option = _Option; export declare const Option: OptionObj; declare abstract class _Option { private readonly __void; private readonly _A; get isEmpty(): boolean; get nonEmpty(): boolean; abstract readonly get: A; get toList(): List; get toArray(): A[]; toLeft(right: Lazy): Either; toRight(left: Lazy): Either; fold(onNone: () => B1, onSome: (a: A) => B2): B1 | B2; map(f: (a: A) => B): Option; tap(f: (a: A) => unknown): Option; map2(that: Option, f: (a: A, b: B) => C): Option; map2Eval(that: Eval>, f: (a: A, b: B) => C): Eval>; filter(f: (a: A) => a is B): Option; filter(f: (a: A) => boolean): Option; filterNot(p: (a: A) => boolean): Option; collect(f: (a: A) => Option): Option; orElse(this: Option, that: Lazy>): Option; '<|>'(this: Option, that: Lazy>): Option; orElseEval(this: Option, that: Eval>): Eval>; getOrElse(this: Option, defaultValue: Lazy): A; getOrNull(): A | null; getOrUndefined(): A | undefined; flatMap(f: (a: A) => Option): Option; flatten(this: Option>): Option; foldMap(M: Monoid): (f: (a: A) => M) => M; foldMapK(F: MonoidK): (f: (a: A) => Kind) => Kind; foldLeft(z: B, f: (b: B, a: A) => B): B; foldRight(ez: Eval, f: (a: A, eb: Eval) => Eval): Eval; traverse(G: Applicative): (f: (a: A) => Kind) => Kind]>; traverseFilter(G: Applicative): (f: (a: A) => Kind]>) => Kind]>; equals(this: Option, that: Option, E?: Eq): boolean; } export declare const Some: (a: A) => Option; export declare const None: Option; interface OptionObj { (value: A | null | undefined): Option; pure(value: A): Option; fromNullable(value: A | null | undefined): Option; fromEither(ea: Either): Option; tailRecM_(a: A, f: (a: A) => Option>): Option; Eq(a: Eq): Eq>; EqK: EqK; Functor: Functor; FunctorFilter: FunctorFilter; CoflatMap: CoflatMap; Alternative: Alternative; Monad: Monad; TraversableFilter: TraversableFilter; } interface _Option extends HKT { } /** * @category Type Constructor * @category Data */ export interface OptionF extends TyK<[unknown]> { [$type]: Option>; } export {}; //# sourceMappingURL=option.d.ts.map