import { Option, Some, None } from "./types";
export { Option, Some, None };
export declare class Options {
    static some<T>(value: T): Some<T>;
    static none(): None;
    static isSome<T>(option: Option<T>): option is Some<T>;
    static isNone<T>(option: Option<T>): option is None;
    static unwrap<T>(option: Option<T>): T;
    static unwrapOr<T>(option: Option<T>, defaultValue: T): T;
    static unwraporElse<T>(option: Option<T>, fn: () => T): T;
    static map<T, U>(option: Option<T>, fn: (value: T) => U): Option<U>;
    static andThen<T, U>(option: Option<T>, fn: (value: T) => Option<U>): Option<U>;
}
