import { type AnchorHTMLAttributes, type ReactNode } from 'react'; import { type VariantProps } from 'class-variance-authority'; export declare function WhatsAppGlyph({ className, }: { className?: string; }): ReactNode; declare const rootVariants: (props?: ({ variant?: "pill" | "fab" | null | undefined; size?: "sm" | "md" | "lg" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; declare const positionVariants: (props?: ({ position?: "bottom-end" | "bottom-start" | "static" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; export interface WhatsAppButtonProps extends Omit, 'href' | 'children'>, VariantProps, VariantProps { /** * Phone number to chat to. E.164 format is recommended * (e.g. `+393331234567`). Any non-digit characters are stripped * before the URL is built — `wa.me` requires digits only. */ phoneNumber: string; /** * Optional prefilled message. The receiver sees this in their * compose box. Keep it short and human — long pasted text is the * single most common reason consumers drop the affordance. */ message?: string; /** * Override the visible / accessible label. Defaults to * `t('whatsApp.label')` (or `t('whatsApp.questionPrompt')` when * `tone="question"`) for the pill variant, and * `t('whatsApp.fabLabel')` for the FAB. */ label?: ReactNode; /** * Copy tone for the pill variant. * - `standard` (default) — brief "Chat on WhatsApp" affordance. * - `question` — invitational "Have questions? Chat on WhatsApp" * copy. Routes through `t('whatsApp.questionPrompt')`. Use on * public-facing surfaces (booking pages, marketing) where the * button is the only prompt encouraging engagement. * * Ignored for `variant="fab"` — the floating action button is * glyph-only and its `aria-label` stays concise via `fabLabel`. */ tone?: 'standard' | 'question'; /** * Pill only. Below the named Tailwind breakpoint the pill becomes a * glyph-only circle (the `fab` chrome of the same `size`) and the * label moves to screen-reader-only text, so the accessible name is * unchanged. Pure CSS, so server render and first paint agree. * Use it where the pill's copy earns its space on desktop but would * crowd a phone: the booking site's practice page passes `"sm"`. * * Ignored for `variant="fab"`, which is glyph-only already. */ collapseLabelBelow?: 'sm' | 'md'; } export declare const WhatsAppButton: import("react").ForwardRefExoticComponent>; export {}; //# sourceMappingURL=whatsapp-button.d.ts.map