import { a as Config, D as Disposer, S as Source } from './types-D8ZUfj4U.cjs'; export { C as Cadence, P as PropSpec, b as SourceContext } from './types-D8ZUfj4U.cjs'; /** Freeze the loop: no sampling, no flushing, until `resume()`. Idempotent. */ declare function pause(): void; /** Unfreeze the loop and pick up sampling / queued writes again. Idempotent. */ declare function resume(): void; type CoreKey = 'viewport' | 'size' | 'visibility' | 'range'; /** Built-in keys autocomplete; any registered/plugin key (a string) is allowed. */ type SourceKey = CoreKey | (string & {}); /** Options for the element-targeted `propsFor`. */ interface PropsForOptions { /** * Write this binding's properties on an **ancestor** instead of the bound * element — a selector resolved with `el.closest()`, or an explicit element. * The bound element is still the one observed. * * Custom properties inherit downward only, and `@container style()` matches * against an *ancestor*, so an element can neither style-query nor share the * values written on itself. Hoisting to a wrapper is what lets the element's * siblings — and the element itself — react to them. * * No `closest()` match warns and falls back to the element itself; `to` on a * `global` source warns and is ignored. Keep it to **one binding per key per * target**: two elements hoisting the same key to one ancestor overwrite each * other (dev-time warning). */ to?: Element | string; } /** Register a custom or plugin source so it can be used by key. */ declare function register(source: Source): void; /** Remove a previously registered source key. Bindings already attached with it * keep running — `unbind`/`reset` tear those down. */ declare function unregister(key: string): void; /** Whether a source key is currently registered (core or added via `register`). */ declare function isRegistered(key: string): boolean; /** Override prefixes or the global root target. Call before attaching sources. */ declare function configure(opts: Partial): void; /** * Attach sources by key. Global by default (writes to `:root`); pass a Node, * NodeList, or array of elements as the first argument to attach to elements. * * propsFor(['pointer']) // → :root * propsFor(el, ['size']) // → el * propsFor(els, ['visibility']) // → each element in a NodeList / array * * `opts.to` hoists the writes to an ancestor (selector or element) while still * observing the bound element, so siblings can read the values: * * propsFor(img, ['img'], { to: 'figure' }) * * Returns a disposer that tears down exactly what this call started and removes * the custom properties it wrote. */ declare function propsFor(keys: SourceKey[]): Disposer; declare function propsFor(target: Element | NodeList | HTMLCollection | Element[], keys: SourceKey[], opts?: PropsForOptions): Disposer; /** Detach specific keys from an element, or all of them. Removes written props. */ declare function unbind(target: HTMLElement, keys?: string[]): void; /** Tear down every active binding (and, via ref-counting, the shared observers * and listeners they used). Useful for SPA route changes, HMR, and tests. */ declare function reset(): void; export { Config, Disposer, type PropsForOptions, Source, type SourceKey, configure, isRegistered, pause, propsFor, register, reset, resume, unbind, unregister };