import type { BlogPostSummary } from '../../../types/blog'; export interface BlogCardProps { post: BlogPostSummary; /** Detail URL resolved by the caller (e.g. `buildContentURL`). */ href: string; /** When `_blank`, opens in a new tab. Set by chat dispatch via * `computeIsNewTab`. Defaults to same-tab. */ target?: '_blank'; rel?: 'noopener noreferrer'; /** Platform that owns `href`. Used by parent wrappers; the card * itself doesn't read it but exposes the prop for the standard * pure-presentation contract. */ targetPlatform?: string | null; /** Placeholder URL when `post.featured_image` is missing. Caller * resolves via `useOgPlaceholderUrl` (hub) or a static asset. */ placeholderUrl?: string | null; size?: 'default' | 'sm' | 'portrait'; /** Portrait density: render the content-type chip. Mixed rails only; single-type rails pass false. Default true. */ showTypeBadge?: boolean; className?: string; /** Surfaces a "Video" badge in compact mode. */ hasEmbeddedVideo?: boolean; /** Optional render-prop for the title-area anchor in `default` mode. * When omitted the title renders as plain text (caller wraps the * whole card if it wants a link). */ priority?: boolean; } /** `portrait` shares the default skeleton shape (same zone boxes). */ export declare function BlogCardSkeleton({ size }: { size?: 'default' | 'sm' | 'portrait'; }): import("react").JSX.Element; export declare function BlogCard({ post, href, target: targetProp, rel: relProp, targetPlatform, placeholderUrl: placeholderUrlProp, size, showTypeBadge, className, hasEmbeddedVideo, priority, }: BlogCardProps): import("react").JSX.Element; //# sourceMappingURL=blog-card.d.ts.map