import { MenuTemplate } from '../components/MenuTemplate'; import { HeroBeneficiosTemplate } from '../components/HeroBeneficiosTemplate'; import { HomePageV1Template } from '../components/HomePageV1Template'; /** * Mapa de slugs de templates a componentes React */ declare const TEMPLATE_COMPONENTS: { readonly menu: typeof MenuTemplate; readonly 'servicios-hero-beneficios': typeof HeroBeneficiosTemplate; readonly 'home-page-v1': typeof HomePageV1Template; }; export type TemplateSlug = keyof typeof TEMPLATE_COMPONENTS; export interface TemplateRendererProps { /** Slug del template a renderizar */ templateSlug: TemplateSlug; /** Contenido del template (JSON de la DB) */ content: unknown; } /** * TemplateRenderer * * Componente inteligente que mapea un slug de template a su componente React correspondiente. * Este es el componente principal que usarĂ¡ el saas-cliente para renderizar landing pages. * * @example * ```tsx * // En el cliente: * const landingData = await fetch('/api/landing-pages/my-menu') * * * ``` */ export declare function TemplateRenderer({ templateSlug, content, }: TemplateRendererProps): import("react/jsx-runtime").JSX.Element; /** * Hook para obtener el componente de un template por slug * * @param slug - Slug del template * @returns El componente del template o undefined si no existe */ export declare function useTemplateComponent(slug: string): typeof MenuTemplate | typeof HeroBeneficiosTemplate | typeof HomePageV1Template; /** * Verifica si un slug de template existe * * @param slug - Slug a verificar * @returns true si el template existe, false en caso contrario */ export declare function isValidTemplateSlug(slug: string): slug is TemplateSlug; export {}; //# sourceMappingURL=TemplateRenderer.d.ts.map