import { CatalogCardProps } from '../../types';
/**
 * **CatalogCard** — tarjeta de catálogo / proveedor / usuario (API **cerrada** por props) alineada al archivo Figma
 * [Cards](https://www.figma.com/design/3w0SWvV7C5tDKUybsOcgA4/Cards).
 *
 * Implementación partida en {@link CatalogCatalogCard}, {@link CatalogSupplierCard} y paneles de menú
 * (`catalogCardMenuPanels`) para mantener archivos acotados.
 *
 * No expone slots `media` / `details` / `cta` con ReactNode arbitrario: el organismo compone `Picture`,
 * `Icon`, `Tooltip`, `Button`, `Badge`, `Picture`, `Popup` y `List` según props. El menú **…** es lista de acciones
 * ({@link CatalogCardMenuItem}); los checkboxes de `tags` van en el panel del **CTA principal** (`onPrimaryTagsSelectionChange`).
 * Familia **`user`**: mismo layout que proveedor (~270px), **sin** rating; opcional **`profile.avatarImageSrc`** (o plano
 * `avatarImageSrc`) para foto en el avatar en lugar de iniciales.
 *
 * **Catálogo `layout="horizontal"`:** fila sin wrap, imagen izquierda a toda la altura; textos y debajo **⋯** + CTA ícono; enlace de tarjeta solo en textos.
 * **`layout="stacked"`:** ancho fluido; cabecera con miniatura (**1/3** del ancho en ratio **16:9**), calificación centrada y primera `tag`; cuerpo con categoría, título y ubicación; pie con fila de `tags` y **⋯** + CTA ícono; enlace solo en el cuerpo.
 * **`layout="compact"`:** ancho fluido; cabecera en fila (miniatura **1/3** del ancho en **16:9**, calificación + primera `tag` debajo, solo CTA ícono arriba a la derecha; **sin** menú **⋯**); debajo categoría, título y ubicación; tags adicionales bajo el bloque enlazado si hay más de una `tag`.
 * Por defecto **`vertical`** (~250px, media arriba); **`fullWidth`** quita el tope de ancho en vertical.
 *
 * `selected` no altera el estilo del contenedor (solo `data-selected`); el relieve viene del hover y de `emphasized`.
 * Con `optionsMenu: { hidden: true }` no se muestra el **⋯**; solo el CTA del pie. Con **`primaryCta: { hidden: true }`** o **`footer: { showPrimaryCta: false }`** no se muestra el CTA principal del pie (ni el ícono horizontal en otros layouts); la interacción puede ser solo **`onClick`** en la raíz o enlaces en el cuerpo. Con **`media.hideImage`** y sin `hidden` explícito, el **⋯** también queda oculto por defecto (`hidden: false` para mostrarlo).
 *
 * Las props opcionales pueden **omitirse** (no hace falta pasar `undefined`/`null`); los bloques de UI asociados no se
 * renderizan si falta el dato o el texto está vacío (p. ej. `categoryLabel`, `locationLabel`, `ratingValue`, `statusLabel`,
 * `phone`, `email` en proveedor). En catálogo, el bloque media (~141px) se monta por defecto; sin `imageSrc`, `Picture`
 * muestra su placeholder salvo que **`media.hideImage`** sea `true` (solo texto, sin imagen ni overlays de media). Con `disabled`, sin hover de tarjeta ni enlace en la zona principal; en catálogo
 * `Picture` y CTAs desactivados (Figma Cards — capa terciaria + luminosity); en proveedor `Avatar`, badge de estado e
 * iconos de contacto en estilo deshabilitado y CTA desactivado. El menú **⋯** (opciones) sigue activo para flujos como reactivación externa;
 * opcionalmente `onClick` en la raíz también puede pasarse con `disabled` (p. ej. abrir detalle) sin `href`/`to`.
 * Props compartidas `to` / `href` (`to` prioriza) enlazan la zona principal como `<a>`; el pie con CTA y **⋯** queda fuera
 * para evitar `<a>` anidando botones.
 *
 * @example
 * ```tsx
 * <CatalogCard
 *   family="catalog"
 *   subtleBorder
 *   title="IMJ-ZMG-ESP-O-11594A"
 *   media={{
 *     imageSrc: url,
 *     showExclusiveBadge: true,
 *     indicators: catalogCardDefaultMediaIndicators,
 *   }}
 *   content={{
 *     categoryLabel: 'ESPECTACULAR',
 *     ratingValue: '3.5',
 *     locationLabel: 'GUADALAJARA (ZMG)',
 *   }}
 *   tagRow={{ tags: ['Vista Cruzada'] }}
 *   optionsMenu={{
 *     optionsMenuItems: [
 *       { label: 'Duplicar', onSelect: () => {} },
 *       { type: 'separator' },
 *       { label: 'Eliminar', color: 'red', onSelect: () => {} },
 *     ],
 *   }}
 *   primaryCta={{ onPrimaryClick: () => {} }}
 * />
 * ```
 */
export declare const CatalogCard: import('react').ForwardRefExoticComponent<CatalogCardProps & import('react').RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=CatalogCard.d.ts.map