import { Maybe } from './Maybe';
import { TaggedUnion } from './TaggedUnion';
export declare type t = TaggedUnion<{
Init: {};
Loading: {};
Reloading: {
value: A;
};
Complete: {
value: A;
};
}>;
export declare class AsyncData {
private readonly value;
static init: () => AsyncData;
static loading: () => AsyncData;
static reloading: (value: A_1) => AsyncData;
static complete: (value: A_1) => AsyncData;
private readonly t;
private constructor();
isComplete: boolean;
isInit: boolean;
isLoading: boolean;
isReloading: boolean;
isBusy: boolean;
isIdle: boolean;
toBusy: () => AsyncData;
getComplete: () => Maybe;
fold: (onInit: () => B, onLoading: () => B, onReloading: (r: A) => B, onComplete: (r: A) => B) => B;
foldByValue: (onEmpty: () => B, onValue: (r: A) => B) => B;
map: (f: (a: A) => B) => AsyncData;
}