import { SharePlatform } from '../../molecules/share-buttons/types'; import { QrDisplayTheme } from '../../atoms/qr-code/types'; /** * Metadata for val-share-profile-modal. * * Reusable modal to share a profile (or any entity) via QR + URL: avatar, * name, a QR code encoding the URL, an optional caption and share buttons * (copy link / native / social). * * Content-driven: `name` + `url` are required; the rest is optional. Static * chrome text (caption, button hints) auto-registra defaults i18n * (namespace `ShareProfileModal`) — override pasando los campos directos. */ export interface ShareProfileModalMetadata { /** Display name shown under the avatar (and default modal title) */ name: string; /** URL encoded in the QR and shared by the buttons */ url: string; /** Avatar image URL (falls back to initials of `name`) */ avatarUrl?: string; /** Email — used for the avatar initials/color when no avatarUrl */ email?: string; /** Handle shown as @handle below the name */ handle?: string; /** Modal title (val-display). Default: `name` */ title?: string; /** Caption under the QR. Default: i18n `ShareProfileModal.caption` */ caption?: string; /** Title used by the native share sheet. Default: `name` */ shareTitle?: string; /** Text used by the native share sheet / social messages */ shareText?: string; /** Platforms shown in the share buttons. Default: ['copy', 'native', 'whatsapp'] */ platforms?: SharePlatform[]; /** QR visual theme. Default: 'default' */ qrTheme?: QrDisplayTheme; /** QR size in pixels. Default: 220 */ qrSize?: number; /** Modal corner rounding in px. Default: 24 */ borderRadius?: number; /** Close button label. Default: i18n `_global.close` */ closeLabel?: string; } /** * Default values for ShareProfileModalMetadata. */ export declare const SHARE_PROFILE_MODAL_DEFAULTS: Required>;