/** * OnboardingGuideCard (pure presentation + runtime-derived link attrs). * * Three variants: * - `catalog`: rich detail card (hero + author grid) for the public catalog * page. * - `default`: horizontal step-numbered card for "More in {section}" rail. * - `sm`: compact horizontal card for chat-inline rendering. * * Link semantics: the card derives `target`/`rel` from `ChatRuntime.navigation * .decideNewTab` (hub-wired via `HubRuntimeProvider`) and the placeholder * image from the runtime's base API URL (`endpoints.ogPlaceholderUrl`, via * `useEntityCardPlaceholder`). Explicit `target` / `rel` / `placeholderUrl` * props always WIN — chat dispatch and tests can pre-resolve. No runtime * mounted → same-tab + same-origin relative placeholder. */ import React from 'react'; import type { OnboardingGuide } from '../types/entities/onboarding-guide'; export interface OnboardingGuideCardProps { guide: OnboardingGuide; /** 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 by the catalog + sm variants when no cover. */ placeholderUrl?: string | null; size?: 'catalog' | 'default' | 'sm' | 'portrait'; /** Portrait density: render the content-type chip. Mixed rails only; single-type rails pass false. Default true. */ showTypeBadge?: boolean | 'default' | 'sm' | 'portrait'; className?: string; } export declare function OnboardingGuideCardSkeleton({ size }: { size?: 'catalog' | 'default' | 'sm'; }): React.JSX.Element; export declare function OnboardingGuideCard({ guide, href, target: targetProp, rel: relProp, targetPlatform, placeholderUrl: placeholderUrlProp, size, showTypeBadge, className, }: OnboardingGuideCardProps): React.JSX.Element; //# sourceMappingURL=onboarding-guide-card.d.ts.map