/** * A `setTimeout` that can be paused and resumed. * * Pausing banks the time that has already elapsed, so resuming fires the * callback after the *remaining* time rather than restarting the full delay. * * Used for the toast auto-dismiss countdown, which pauses while the cursor is * over the toast. */ export declare class PausableTimeout { private readonly _callback; /** Time left on the countdown, updated each time it's paused. */ private _remainingMs; private _timerId; /** When the currently-running countdown was (re)started. */ private _startedAt; private _isPaused; /** Set once the callback has fired (or the countdown was cancelled). */ private _isDone; constructor(callback: () => void, delayMs: number); /** Whether the countdown is currently paused. */ get isPaused(): boolean; /** Start the countdown for whatever time is left on it. */ start(): void; /** Pause the countdown, banking the time that has already elapsed. */ pause(): void; /** Resume a paused countdown from where it left off. */ resume(): void; /** Cancel the countdown for good; it can't be started again. */ cancel(): void; private clear; }