import { Deferred } from '@difizen/mana-app';
export declare abstract class DeferredModel<T = any> {
    ready: Promise<T>;
    protected readyDeferred: Deferred<T>;
    constructor();
}
export declare abstract class AsyncModel<T = any, O = any> {
    ready: Promise<T>;
    protected readyDeferred: Deferred<T>;
    constructor();
    initialize(option: O): void;
    abstract shouldInitFromMeta(option: O): boolean;
    protected fromMeta(option: O): void;
    abstract fetchInfo(option: O): Promise<void>;
}
//# sourceMappingURL=async-model.d.ts.map