/**
 * CaseStudyCard (pure presentation). Two densities — `default` (vertical
 * detail) and `sm` (compact horizontal for chat-inline).
 *
 * The card writes NO click logic — callers wrap with their own anchor
 * and pass the resolved detail URL via `href`.
 *
 * Image-fallback chain:
 *   `study.featured_image` → `placeholderUrl` (caller passes
 *   `useOgPlaceholder(...)`) → `bg-ods-bg`.
 */
import React from 'react';
import type { CaseStudy } from '../../../types/case-study';
export interface CaseStudyCardProps {
    study: CaseStudy;
    /** Detail URL resolved by the caller. */
    href: string;
    /** When `_blank`, opens in a new tab. Set by chat dispatch via
     *  `computeIsNewTab`. Defaults to same-tab. */
    target?: '_blank';
    rel?: 'noopener noreferrer';
    targetPlatform?: string | null;
    /** OG placeholder URL, used when `study.featured_image` is missing. */
    placeholderUrl?: string | null;
    size?: 'default' | 'sm';
    className?: string;
}
export declare function CaseStudyCardSkeleton({ size }: {
    size?: 'default' | 'sm';
}): React.JSX.Element;
export declare function CaseStudyCard({ study, href, target: targetProp, rel: relProp, targetPlatform, placeholderUrl: placeholderUrlProp, size, className, }: CaseStudyCardProps): React.JSX.Element;
//# sourceMappingURL=case-study-card.d.ts.map