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