import type { ExtensionUIContext } from "./types.js"; /** Runs a dialog that waits for the user's answer, so its session can treat the time as the user's, not the agent's. */ export type UserWaitTracker = (dialog: () => Promise) => Promise; /** * `ui` with each dialog run through `track`, unless its options give it a deadline (`ask.timeout`): such a dialog * settles on its own and the agent goes on, possibly with nobody at the machine, so its time stays the agent's. Every * other member passes through. Members are read from `ui` on every access, so one it replaces later is the one called. */ export declare function trackUserWaits(ui: ExtensionUIContext, track: UserWaitTracker): ExtensionUIContext;