/** * adaptive-tick.ts — Self-rescheduling setTimeout loop shared by live widgets. * * Prevents render pileup (unlike setInterval) and keeps active/idle cadence * in one place so AgentWidget and AgentTopWidget do not fork timer logic. */ export declare class AdaptiveTick { private readonly isAlive; private readonly onTick; private timer; private intervalMs; constructor(isAlive: () => boolean, onTick: () => void, initialIntervalMs: number); get currentIntervalMs(): number; setIntervalMs(ms: number): void; get running(): boolean; ensure(intervalMs?: number): void; /** Restart the loop immediately with the given interval (or current). */ reschedule(intervalMs?: number): void; stop(): void; private schedule; }