import { HyperValue, PromiseWrapper } from '../core'; import { BaseScope } from './base'; export interface HvAsyncParams { initial?: I; get?: AsyncGetter; set?: AsyncSetterApprove; update?: AsyncSetter; } export declare class HvAsync extends HyperValue { state: HyperValue<"pending" | "resolved" | "rejected">; private getter; private setter; private hs; private callId; private currentPromise; private resolver; private rejecter; constructor(hs: BaseScope, params: HvAsyncParams); private initPromise(); private fetch(fn); wait(): Promise>; private init(); s(newValue: T): void; } export interface AsyncGetter { (w: PromiseWrapper): Promise; } export interface AsyncSetter { (value: T): Promise; } export interface AsyncSetterApprove { (value: T): Promise; } export declare class AsyncScope extends BaseScope { async(params: HvAsyncParams): HvAsync; }