import React from 'react'; export type IslandStrategy = 'load' | 'idle' | 'visible' | 'media' | 'interaction'; export interface IslandProps { /** Lazy component loader — keeps the client JS out of static-only pages. */ load: () => Promise<{ default: React.ComponentType>; }>; /** Pick when to hydrate. Default: 'load'. */ strategy?: IslandStrategy; /** Used with strategy='media' — CSS media query. */ media?: string; /** Used with strategy='visible' — IntersectionObserver options. */ visibleOptions?: IntersectionObserverInit; /** Used with strategy='interaction' — DOM events that trigger hydration. */ interactionEvents?: Array; /** Fallback rendered on server / before hydration. Typically the SSR HTML. */ fallback?: React.ReactNode; /** Props forwarded to the loaded component. */ children?: React.ReactNode; [key: string]: unknown; } /** * Delay client-side hydration until the chosen strategy fires. The `fallback` * is what the server rendered; the real component mounts later. */ export declare function Island({ load, strategy, media, visibleOptions, interactionEvents, fallback, children, ...rest }: IslandProps): import("react/jsx-runtime").JSX.Element; /** Marker for build-time scanning — indicates a component boundary should hydrate. */ export declare function clientBoundary>>(Component: T): T; //# sourceMappingURL=islands.d.ts.map