import "./member_profile_card.css"; import type * as React from "react"; import { type ReactNode } from "react"; import { useRender } from "@base-ui/react/use-render"; import { type StyleProps } from "./style_props"; export interface MemberProfileLabels { role?: string; groups?: string; joined?: string; noGroups?: string; inactive?: string; /** The trigger's screen-reader name; in this slice, not Peek's, since it describes the card. */ profile?: (name: string) => string; } /** The fields without styling, so `MemberPeek` takes them without a second part union. */ export interface MemberProfileCardFields { /** Blank falls back to the locale's unknown label, like `MemberChip`. */ name?: string | null; image?: string | null; /** What they sign in as — an email or an admin-issued name, so never labelled "Email". */ identity?: string | null; /** **Already translated** ("Quản trị viên"), never the raw enum: the kit has no domain vocabulary or * i18n logic. A permission level, not seniority; omit where it means nothing. */ role?: string | null; /** `undefined` drops the row (never told); `[]` keeps it and says none — "unknown" is not "on no team". */ groups?: readonly string[] | null; /** An ISO date, formatted by `formatDate` under the locale so hosts cannot drift; month and year, * answering "is this the new person?". */ joined?: string | null; /** Badged and muted, so a record still naming them reads as history. */ inactive?: boolean; /** One door to the fuller record; a peek needing a second verb wanted to be a screen. */ action?: ReactNode; labels?: MemberProfileLabels; } interface MemberProfileCardProps extends MemberProfileCardFields, StyleProps { ref?: React.Ref; render?: useRender.RenderProp; } /** * Who this person is — avatar, name, sign-in identity, role and teams — one card everywhere, the body * `MemberPeek` reveals, so no call site picks a different subset. Pure; rows appear only when their field * does. * * ```tsx * } * /> * ``` */ export declare function MemberProfileCard(props: MemberProfileCardProps): React.ReactElement>; export {};