import type { BusyEntry } from "../runtime/waits.js"; /** An open wait as the UI holds it: the entry and the UI's clock * reading when the wait began. */ export type BusyShown = { entry: BusyEntry; since: number; }; /** The list to hold after the run sent `entries`: an entry already held, * by its token, keeps its time; a new one began `elapsedMs` before * `now`, so a UI that joins late shows the wait's whole length; one * that is gone is dropped. A pure function of its inputs, so the order * the notices arrive in is the only order there is. */ export declare function withSince(previous: BusyShown[], entries: BusyEntry[], now: number): BusyShown[]; /** A duration as the screen shows it: `4m10s`, `30s`, `250ms`. */ export declare function formatElapsed(ms: number): string; /** The wait as one line: where the `llm()` statement is, how long the * wait has been open, and what the loop is doing there. `line` is the * statement's source line when the UI knows it. */ export declare function busyText(shown: BusyShown, line: number | undefined, now: number): string;