import { Either, List } from '..'; export interface Maybe { ap(maybeFn: Maybe<(val: T) => V>): Maybe; bind(fn: (val: T) => Maybe): Maybe; flatMap(fn: (val: T) => Maybe): Maybe; chain(fn: (val: T) => Maybe): Maybe; join(): Maybe; map(fn: (val: T) => V): Maybe; takeLeft(m: Maybe): Maybe; takeRight(m: Maybe): Maybe; cata(none: () => Z, some: (val: T) => Z): Z; filter(fn: (val: T) => val is U): Maybe; filter(fn: (val: T) => boolean): Maybe; fold(val: V): (fn: (val: T) => V) => V; forEach(fn: (val: T) => void): void; getOrElse(val: T): T; orElse(maybe: Maybe): Maybe; orSome(val: T | undefined): T | undefined; orNull(): T | null; orUndefined(): T | undefined; isNone(): boolean; isSome(): boolean; some(): T; toArray(): Array; toEither(left?: E): Either; toList(): List; } export declare const Some: (val: T) => Maybe; export declare const None: () => Maybe; export declare const Maybe: { fromNull: (val: T | null) => Maybe; fromUndefined: (val: V | undefined) => Maybe; None: () => Maybe; Some: (val: T) => Maybe; toList: (val: Maybe) => List; }; //# sourceMappingURL=maybe.d.ts.map