import type { TRet } from "../deps"; import type { JSXProps, NJSX } from "./index"; export type HelmetRewind = { head: JSX.Element[]; footer: JSX.Element[]; attr: { body: NJSX.HTMLAttributes; html: NJSX.HTMLAttributes; }; body?: JSX.Element; title?: string; }; type FCHelmet = ((props: JSXProps<{ footer?: boolean; children?: JSX.Element[] | JSX.Element | TRet; }>) => TRet) & { /** * Rewind Helmet. * @example * const { head, footer, body, attr } = Helmet.rewind(); */ rewind: (elem?: JSX.Element) => HelmetRewind; /** * Custom render. * @deprecated */ render: (elem: JSX.Element) => string; /** * Write head tags. * @example * const current = Helmet.writeHeadTag?.() ?? []; * Helmet.writeHeadTag = () => [ * ...current, * * ]; */ writeHeadTag?: () => JSX.Element[]; /** * Write body tags. * @example * const current = Helmet.writeFooterTag?.() ?? []; * Helmet.writeFooterTag = () => [ * ...current, * * ]; */ writeFooterTag?: () => JSX.Element[]; writeHtmlAttr?: () => NJSX.HTMLAttributes; writeBodyAttr?: () => NJSX.HTMLAttributes; title?: string; reset: () => void; }; /** * Simple SSR Helmet for SEO * @example * const Home: FC = (props) => { * return ( * <> * * Home Title * *

Home Page

* * ) * } */ export declare const Helmet: FCHelmet; export {};