import type React from 'react'; import type { GlobalHTMLAttributes } from './types'; export interface BaseSelectableCardProps extends Omit { /** * Main title or label for the card. */ title: string; /** * Optional metadata (e.g., pricing, status). */ meta?: string; /** * Optional description text. */ description?: string; /** * Optional image configuration. * Can be either an object with image properties or a custom React element (e.g., Next.js Image). * When using a custom element, ensure it respects the 52px height constraint applied by CSS. */ image?: { /** * Image source URL. */ src: string; /** * Alt text for the image. */ alt?: string; /** * Loading strategy for the image. * @default 'lazy' */ loading?: 'lazy' | 'eager'; /** * Aspect ratio of the image. * @default '1:1' */ aspectRatio?: '1:1' | '16:9'; /** * Error handler for when the image fails to load. */ onError?: React.ReactEventHandler; } | React.ReactElement; /** * Custom content that renders below the description. * Use this for advanced layouts or interactive elements. */ children?: React.ReactNode; /** * ARIA labelledby for the input. * Only use this when you need to reference multiple elements for the label. * The native