import 'rollup-plugin-inject-process-env'; /** * Body attribute a host page sets to declare "a form widget already *is* this page". * * The standalone contact/booking page (`@xapp/contact-app`, serving contact.xapp.ai, * book.xapp.ai and sche.dule.pro) renders a docked form as its whole content, then injects * the chat widget on top when the URL carries `?chatWidgetKey=`. That widget arrives with * the App's Studio-configured ActionBar, which offers a Contact button and a Book button * into the very form already filling the screen. * * The page has to say so, because nothing the widget can observe would tell it. A docked * form in the DOM is not the same claim - plenty of pages embed one *and* want a separate * one from the bar. * * The reader is `@xapp/chat-widget`'s `useIsFormPage`, and its stylesheet also keys the * form-widget side button off this. Those packages ship separately, so this string is the * contract between them - the same arrangement `[data-xapp-form-side-button]` already uses. * Do not rename it on one side only. XappMedia/chat-widget#1626. */ export declare const FORM_PAGE_ATTRIBUTE = "data-xapp-form-page"; /** * Companion reference count, so two markers on one page do not clear each other on the way * out. Mirrors the `data-xapp-action-bar-count` the chat widget keeps for the same reason. */ export declare const FORM_PAGE_COUNT_ATTRIBUTE = "data-xapp-form-page-count"; /** * Declares this page to be a form page, and returns the release for it. * * Imperative form of {@link useFormPageMarker}, for pages that are not React. */ export declare function markFormPage(): () => void; /** * Declares this page to be a form page for as long as the component is mounted. * * @param enabled pass false to render without making the claim */ export declare function useFormPageMarker(enabled?: boolean): void;