import { type HTMLAttributes, type ReactNode } from 'react'; /** * Strip everything that's not a digit or a leading `+` so the display * string (`"+49 (0)89 51871478"`) becomes a valid `tel:` URI target * (`"tel:+498951871478"`). RFC 3966 allows visual separators, but most * dialer apps still trip on them — collapsing to a strict E.164-ish * form is the safe default. The `(0)` trunk-prefix convention is * intentionally dropped: it's not a real digit in international * dialling, only a hint for in-country dialling. */ declare function buildTelHref(display: string): string; export interface ContactCardProps extends Omit, 'title'> { /** * Optional card heading rendered inside `Card.Header` as an `

` — * e.g. "Contact information" above one or more office blocks. Omit * when the card sits inside a section that already has a heading. */ title?: ReactNode; /** * `Card` variant. Defaults to `default` (subtle border on `--card` * surface) to match the marketing site's treatment. */ variant?: 'default' | 'outlined' | 'elevated'; children: ReactNode; } export interface ContactCardOfficeProps extends Omit, 'children'> { /** * Office name — rendered as the block's bold label next to the pin * glyph. Not a heading element by default so a card with multiple * offices doesn't fragment the heading outline; pass `nameAs="h3"` * (or `h4` etc.) when the consuming page wants a real heading. */ name: ReactNode; /** * Address lines in document order, one per `
`-equivalent. Country * / region / postcode formatting is the consumer's responsibility — * the kit only inserts the line breaks. */ lines: ReadonlyArray; /** * VAT / tax-ID number. Rendered on its own line with the kit-owned * `ui.contactCard.vatNumberLabel` prefix. */ vatNumber?: string; /** * Phone number as it should display (with separators, parens, trunk * prefix). The kit normalises this into a `tel:` URI internally — * see `buildTelHref` for the rules. */ phone?: string; /** Heading element used for `name`. Defaults to a non-heading `

`. */ nameAs?: 'p' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'; } export type ContactCardLinksProps = HTMLAttributes; export interface ContactCardLinkProps { href: string; /** * Leading glyph. Rendered with `--primary` so the link list reads as * a coloured-icon menu (matches the marketing site's treatment). * Consumers pass a bare lucide-react icon; the kit handles colour / * size / aria-hidden. */ icon: ReactNode; /** Open in a new tab — adds `target="_blank"` and `rel` via `Link`. */ external?: boolean; children: ReactNode; } export declare const ContactCard: import("react").ForwardRefExoticComponent> & { Office: import("react").ForwardRefExoticComponent>; Links: import("react").ForwardRefExoticComponent>; Link: import("react").ForwardRefExoticComponent>; }; export { buildTelHref as __buildTelHref }; //# sourceMappingURL=contact-card.d.ts.map