import { TEmptyObject } from '../typings/object';
export declare class Maybe<Value> {
    private readonly value;
    private constructor();
    static of<Value>(value: Value | null | undefined): Maybe<Value>;
    static nothing<Value>(): Maybe<Value>;
    isNothing(): boolean;
    map<ResultValue>(mapper: (prevValue: Value) => ResultValue): Maybe<ResultValue>;
    flatMap<ResultValue>(mapper: (prevValue: Value) => Maybe<ResultValue>): Maybe<ResultValue>;
    getOrElse(elseValue: Value): Value;
    getOrNull(): Value | null;
    getOrEmptyArray(): Value | [];
    getOrEmptyObject(): Value | TEmptyObject;
}
