/**
* A lazy `thunk`
*/
export declare type Lazy = () => A;
/**
* Creates a lazy function.
*/
export declare const lazy: (a: A) => Lazy;
/**
* A no-operation funciton.
*/
export declare const noop: () => void;
/**
* Identity
*/
export declare const identity: (a: A) => A;
/**
* A thunk returns self.
*/
export declare const constant: (a: A) => Lazy;
/**
* A thunk returns always `true`.
*/
export declare const constTrue: Lazy;
/**
* A thunk returns always `false`.
*/
export declare const constFalse: Lazy;
/**
* A thunk returns always `null`.
*/
export declare const constNull: Lazy;
/**
* A thunk returns always `undefined`.
*/
export declare const constUndefined: Lazy;
/**
* A thunk returns always `void`.
*/
export declare const constVoid: Lazy;
/**
* Returns whether the value is null or undefined.
*/
export declare const isNullable: (a: unknown) => a is null | undefined;
/**
* Returns whether the value is `NonNullable`.
*/
export declare const isNonNullable: (a: A) => a is NonNullable;