/** * Hydration scheduling strategy. * * - `"visible"` — hydrate when the island first intersects the viewport * (IntersectionObserver, threshold 0). Cheapest deferral for content the * user has not scrolled to yet. * - `"idle"` — hydrate during the next idle callback. Falls back to a * `setTimeout(0)` on platforms without `requestIdleCallback`. * - `"load"` — hydrate immediately and synchronously. Default when * `when` is omitted. * - `"media"` — hydrate when a CSS media query first matches (matchMedia). * Requires the companion `media` prop on ``. Degrades to immediate * hydration when `window.matchMedia` is unavailable. */ export type When = "visible" | "idle" | "load" | "media"; /** Public set of allowed `When` values, useful for runtime validation. */ export declare const WHEN_VALUES: readonly When[]; /** Default `when` strategy applied when `when` is omitted. */ export declare const DEFAULT_WHEN: When; /** Type guard for `When`. */ export declare function isWhen(value: unknown): value is When; /** * Resolve the validated `when` value, warning in development for unknown * inputs. Returns the input unchanged when valid, or [`DEFAULT_WHEN`] * otherwise. Lives here (rather than in `island.ts`) so the runtime * scheduler can import it without transitively pulling in the JSX * wrapper. */ export declare function resolveWhen(when: unknown): When;