export type TimerContent = () => unknown; /** * A self-ticking directive that updates a child part on a fixed interval * without triggering a component re-render. * * The callback can return anything lit-html can render — a `TemplateResult`, * a plain string, a number, etc. * * The interval is automatically cleared when the host element is removed * from the DOM, and restarted when it reconnects. * * If `ms` changes between renders, the interval is restarted with the new * duration. * * @param callback - Function called on every tick. Return value is rendered. * @param ms - Interval in milliseconds. Required. Minimum 16ms (one frame * at 60fps) — values below this are rejected with an error * since the browser cannot paint any faster. * * @example * ```ts * import { html } from "mates"; * import { timerTemplate } from "mates"; * * // Live clock — updates every second, no component re-render * html` *