/**
 * @description this class is not strict type, be ware of the type <A>
 * */
export declare class Lazy<A> {
    private f;
    constructor(f: () => A);
    value(): A;
    map<B>(f: (a: A) => B): Lazy<B>;
    add(b: string | number): Lazy<string>;
    minus(b: number): Lazy<number>;
    mult(b: number): Lazy<number>;
    rem(b: number): Lazy<number>;
    div(b: number): Lazy<number>;
    quot(b: number): Lazy<number>;
    quotRem(b: number): Lazy<number[]>;
    and(b: boolean | any): Lazy<any>;
    or(b: boolean | any): Lazy<any>;
    not(): Lazy<boolean>;
    notnot(): Lazy<boolean>;
}
