import { Monad } from './Monad';
import { Either } from './Either';
/**
* just wraps a value in a Just
*/
export declare const just: (a: A) => Maybe;
/**
* nothing constructs nothing
*/
export declare const nothing: () => Nothing;
/**
* fromAny constructs a Maybe from a value that may be null.
*/
export declare const fromAny: (a: A) => Maybe;
/**
* fromArray checks an array to see if it's empty (or full of nulls)
* and returns a Maybe.
*/
export declare const fromArray: (a: A[]) => Maybe;
/**
* fromOBject uses Object.keys to turn see if an object has any own properties.
*/
export declare const fromObject: (o: A) => Maybe;
/**
* fromString constructs nothing if the string is empty or just otherwise.
*/
export declare const fromString: (s: string) => Maybe;
/**
* fromBoolean constructs nothing if b is false, just otherwise
*/
export declare const fromBoolean: (b: boolean) => Maybe;
/**
* fromNumber constructs nothing if n is 0 just otherwise.
*/
export declare const fromNumber: (n: number) => Maybe;
/**
* isString tests whether the value is a string or not.
*/
export declare const isString: (s: any) => Maybe;
/**
* isBoolean tests whether the value is a boolean or not.
*/
export declare const isBoolean: (b: any) => Maybe;
/**
* isTrue constructs nothing if b !== true
*/
export declare const isTrue: (b: any) => Maybe;
/**
* isFalse constructs nothing if b !== false
*/
export declare const isFalse: (b: any) => Maybe;
/**
* isNumber tests whether the value is number or not.
*/
export declare const isNumber: (n: any) => Maybe;
/**
* isObject tests whether the value is an object or not.
*/
export declare const isObject: (o: any) => Maybe