/**
 * Author + publication metadata, rendered as the SAME 2-or-N-cell grid pattern
 * the release detail page uses.
 *
 * Each cell sits inside a single bordered/rounded container, separated by
 * `border-r` dividers — byte-identical visual contract to the release page.
 *
 * Cell taxonomy:
 *   - `<EntityMetadataValueCell>` — top: large value (`text-h4` uppercase),
 *     bottom: small label (`DM_Sans` 14px secondary). Used for Type / Status
 *     / Date.
 *   - `<EntityMetadataAuthorCell>` — `<SquareAvatar>` + name + label. Used
 *     for the Author column.
 *
 * `<EntityAuthorCard>` is the convenience composer for the common
 * "Published + Author" pair. Pass `publishedAt` to get both cells; omit it
 * to get just the Author card (single-cell mode used by surfaces with no
 * separate publication-date concept).
 *
 * Renders null when `author` is null/empty unless `renderEmptyAuthor` is set.
 */
/**
 * Documented empty-author placeholder. Single source for the visual
 * shape of "author cell with no author".
 */
export declare const EMPTY_AUTHOR_PLACEHOLDER: {
    readonly full_name: "—";
    readonly avatar_url: null;
    readonly job_title: "Unknown";
};
export interface EntityAuthorCardProps {
    author: {
        full_name: string | null;
        avatar_url: string | null;
        job_title: string | null;
    } | null | undefined;
    /** Role label rendered under the name. Defaults to "Author". Override
     *  to e.g. "Presenter" / "Contributor" if semantics differ. */
    roleLabel?: string;
    /** Optional publication date. When provided, the component renders as a
     *  2-cell grid (Published | Author). When omitted, only the Author cell
     *  renders inside the same bordered container. */
    publishedAt?: string | Date | null;
    /** Label for the Published cell. Defaults to "Published". */
    publishedLabel?: string;
    /**
     * Extra value cells inserted into the metadata grid BEFORE the
     * Published cell. Each item renders as an `<EntityMetadataValueCell>`
     * with a large `text-h4` value and a small `DM_Sans` 14px label.
     *
     * Use for entity-specific labels (e.g. onboarding-guide section/step,
     * webinar host, customer-interview customer). The grid auto-sizes via
     * `grid-cols-N`.
     */
    extraCells?: Array<{
        value: string;
        label: string;
        uppercase?: boolean;
    }>;
    /** When true, render the author cell even when `author?.full_name` is
     *  missing — using the `EMPTY_AUTHOR_PLACEHOLDER` shape above. Used by
     *  catalog grids that must keep a fixed shape so skeleton alignment
     *  holds. Defaults to false. */
    renderEmptyAuthor?: boolean;
    className?: string;
}
/**
 * Single value cell — top: large `text-h4` value (uppercase), bottom: small
 * `DM_Sans` 14px secondary label.
 */
export declare function EntityMetadataValueCell({ value, label, className, uppercase, }: {
    value: string;
    label: string;
    className?: string;
    uppercase?: boolean;
}): import("react/jsx-runtime").JSX.Element;
/**
 * Author cell — `<SquareAvatar>` + name + role label. The containing border /
 * divider is the caller's responsibility — this is just the cell content.
 */
export declare function EntityMetadataAuthorCell({ author, roleLabel, className, }: {
    author: NonNullable<EntityAuthorCardProps['author']>;
    roleLabel?: string;
    className?: string;
}): import("react/jsx-runtime").JSX.Element;
export declare function EntityAuthorCard({ author, roleLabel, publishedAt, publishedLabel, extraCells, renderEmptyAuthor, className, }: EntityAuthorCardProps): import("react/jsx-runtime").JSX.Element | null;
//# sourceMappingURL=entity-author-card.d.ts.map