/** * One theme watcher shared by every mounted card. * * A card's aura and progress ring are mixed from a colour read off its icon * (`--tx-stat-card-icon-color`, written as a resolved `rgb()` literal), so * a theme switch that re-points `--tx-color-success` and friends would leave * them on the previous theme's hue. A dashboard mounts four or five cards at * once; they subscribe here instead of each attaching a MutationObserver and * media-query listeners of its own. The observer and the listeners exist only * while at least one card is mounted. */ type ThemeListener = () => void; /** * Calls `listener` on the frame after the page theme changes: a `class`, * `data-theme` or `data-tx-contrast` write on ``, or the OS colour scheme * or contrast preference flipping. Returns the unsubscribe. Without a DOM (SSR) * it subscribes nothing. */ export declare function onThemeChange(listener: ThemeListener): () => void; export {};