import { RetryOptions } from "../retry"; export interface OperationResult { data: T; metrics: { attempt: number; executionTimestamp: number; elapsedTimeoutTime: number; }; } export default class Operation { private retries; private minTimeout; private maxTimeout; private forever; private unref; private factor; private signal; private data; private continueExecution; private attempt; private startAt; private executionTimestamp; private elapsedTimeoutTime; constructor(options: RetryOptions); /** * @see http://dthain.blogspot.com/2009/02/exponential-backoff-in-distributed.html */ private get backoff(); get continue(): boolean; ensureAbort(): void; retry(): Promise; success(data: T): void; toJSON(): OperationResult; }