import { Box } from "./box"; import { Voidable } from "./maybe"; /** Lazy initialization */ export declare class Lazy implements Box> { #private; val: Voidable; constructor(init: () => T); /** Get the value, if not initialized, the initialization function will be called */ get(): T; /** Return is already initialized */ got(): boolean; /** Reinitialize */ reget(): T; } /** Lazy initialization */ export declare function lazy(init: () => T): Lazy; /** Async Lazy */ export declare type ALazy = Lazy>;