import { Awaitable, IDisposable } from "../Types"; import BaseModelState from './BaseModelState'; import { IModelState } from "./IModelState"; export default class PollingModelState extends BaseModelState implements IDisposable, IModelState { #private; /** * Creates a new PollingModelState * @param valueFactory can be a value factory */ constructor(valueFactory: () => T, timeout: number); /** * Creates a new PollingModelState * @param promiseFactory can be a promise factory */ constructor(promiseFactory: () => Promise, timeout: number); /** * Creates a new PollingModelState * @param promiseOrValueFactory can be a promise or a value factory, a value or a promise that will be invoked immediately */ constructor(promiseOrValueFactory: (() => Awaitable), timeout: number); dispose(): void; }