//#region src/integrations/astro.d.ts interface AstroRendererConfig { name: string; clientEntrypoint: string; serverEntrypoint: string; } interface AstroConfigSetupApi { addRenderer(renderer: AstroRendererConfig): void; updateConfig(config: Record): unknown; } interface ElementsKitAstroIntegration { name: string; hooks: { "astro:config:setup": (api: AstroConfigSetupApi) => void; }; } /** * Astro integration: use elements-kit components as Astro islands. * * Registers the elements-kit renderer pair — server rendering via * `elements-kit/server`, client hydration via `elements-kit/hydrate` — and * points Vite's JSX transform at `elements-kit`, so `.tsx` island components * need no per-file pragma. * * ```tsx * // server-rendered, hydrated on load * // client-rendered only * ``` * * Coexists with other framework renderers (React, etc.); scope their JSX * transform with the framework integration's `include` option. * * @example * ```ts * // astro.config.mjs * import { defineConfig } from "astro/config"; * import elementsKit from "elements-kit/integrations/astro"; * * export default defineConfig({ * integrations: [elementsKit()], * }); * ``` */ declare function elementsKit(): ElementsKitAstroIntegration; //#endregion export { ElementsKitAstroIntegration, elementsKit as default };