declare enum ResolvableState { WAITING = 0, PENDING = 1, ERROR = 2, DONE = 3 } declare class FetchOnce> { protected fetchMethod?: ((...args: U) => Promise) | undefined; protected data: T | undefined; protected error: unknown | undefined; protected state: ResolvableState; protected pendings: [(res: Promise | T) => void, (reason: unknown) => void][]; constructor(fetchMethod?: ((...args: U) => Promise) | undefined); reset(): void; resolve(...args: U): Promise; getDataOrUndefined(): T | undefined; getErrorOrUndefined(): unknown | undefined; protected isFinished(): boolean; protected parsePromise(promise: Promise): void; } export declare class Resolvable> extends FetchOnce { constructor(fetchMethod: (...args: U) => Promise); } export declare class WaitForSync extends FetchOnce { protected state: ResolvableState; constructor(); setData(data: T): void; setError(error: unknown): void; reset(): void; } export {};