/** * Shared "author byline" card used by article-shaped detail pages * (blog post, product release, onboarding guide, investor update). * * MOVED from the hub so any consuming app can embed it; hub call sites * import it directly and pass their platform-aware copy explicitly * (`fallbackBio={defaultAuthorFallbackBio()}` from the hub's app-config). * * Embed-readiness contract: * - `Link` / `Image` render through the embed-shims (plain `` / `` * in non-Next hosts; the real Next primitives once the host registers * them at app init). * - The avatar is proxied through the OPTIONAL ambient `ChatRuntime` * (`endpoints.imageProxyUrlPrefix`, same config `useProxiedImageUrl` * reads) — when no runtime is mounted the raw URL renders as-is, so the * component never throws outside a provider. Hosts can also inject * `proxyImageUrl` to bypass the runtime entirely. * - `fallbackBio` is a PLAIN prop (no app-config import): the lib has no * platform awareness; pass copy or leave it absent to render nothing. * * Render order: avatar → name + job title + date → bio (when present). * Returns null when `author` is empty (no card rendered). */ import React from 'react'; export interface ArticleAuthorBylineProps { /** Author display name. Required — block is hidden when null/empty. */ author: string | null; /** Avatar URL. Falls back to a placeholder when null. */ avatar?: string | null; /** Optional bio paragraph rendered below the name. */ bio?: string | null; /** Optional job title rendered immediately under the name. */ jobTitle?: string | null; /** Optional published date (ISO string or Date). Rendered next to the name. */ publishedAt?: string | Date | null; /** Optional link target for the author name (e.g. the author page). */ href?: string | null; /** * Fallback paragraph when `bio` is empty. Plain copy — the lib has no * platform/config awareness, so hosts that want a branded default * ("Contributing author on the {platform} platform") pass it explicitly * (the hub wrapper derives it from `getAppConfig()`). Absent/null ⇒ * nothing renders below the name when `bio` is empty. */ fallbackBio?: string | null; /** Avatar size variant. `md` = 56px (default), `lg` = 64px. */ size?: 'md' | 'lg'; /** * Host-injected avatar-URL mapper. Wins over the ambient-runtime proxy * resolution. Use when the host proxies images outside the `ChatRuntime` * config (e.g. a bespoke CDN rewrite). */ proxyImageUrl?: (url: string) => string; className?: string; } export declare function ArticleAuthorByline({ author, avatar, bio, jobTitle, publishedAt, href, fallbackBio, size, proxyImageUrl, className, }: ArticleAuthorBylineProps): React.JSX.Element | null; //# sourceMappingURL=article-author-byline.d.ts.map