export type IExecuteFunction = any; export interface IWaitForOptions { timeout?: number; interval?: number; message?: string; stopOnFailure?: boolean; backoffFactor?: number; backoffMaxInterval?: number; verbose?: boolean; maxAttempts?: number; } export declare class PollUntil { _interval: number; _timeout: number; _executedAttempts: number; private _stopOnFailure; private readonly _backoffFactor; private readonly _backoffMaxInterval; private readonly _Console; private readonly originalStacktraceError; private readonly _userMessage; private readonly _verbose; private readonly _maxAttempts; private _isWaiting; private _isResolved; private _executeFn; private start; private promise; private resolve; private reject; private _lastError; constructor({ interval, timeout, stopOnFailure, verbose, backoffFactor, backoffMaxInterval, message, maxAttempts, }?: IWaitForOptions); tryEvery(interval: number): PollUntil; stopAfter(timeout: number): PollUntil; execute(executeFn: IExecuteFunction): Promise; getPromise(): Promise; isResolved(): boolean; isWaiting(): boolean; stopOnFailure(stop: boolean): PollUntil; _applyPromiseHandlers(): void; _timeFromStart(): number; _shouldStopTrying(): boolean; _attemptsExhausted(): boolean; _executeAgain(): void; _failedToWait(): Error; _runFunction(): void; _log(message: Error | string): void; } export declare const waitFor: (waitForFunction: IExecuteFunction, options?: IWaitForOptions) => Promise;