import type * as React from "react"; import type { Button as Base } from "@base-ui/react/button"; import type { AvatarSize } from "./avatar"; import { type StyleProps } from "./style_props"; import { type MemberProfileCardFields } from "./member_profile_card"; import type { PopoverAlign, PopoverSide } from "./popover"; export interface MemberPeekProps extends MemberProfileCardFields, StyleProps { /** The chip's rung on the shared avatar scale — the TRIGGER's size, not the * card's (the card is always a profile header). Default `md`. */ size?: AvatarSize; /** Optional secondary line on the CHIP. The card carries the full detail, so * reach for this only where the resting row needs it on its own. */ secondary?: string | null; side?: PopoverSide; align?: PopoverAlign; /** Override the trigger's announced name. Defaults to the locale's * `memberProfile.profile(name)` — "Profile of Nguyễn Thị An". */ accessibilityLabel?: string; testID?: string; /** The TRIGGER — the box the caller's layout contains. */ ref?: React.Ref; render?: Base.Props["render"]; } /** * A member chip that OPENS — press the person and their profile appears in * place: bigger avatar, what they sign in as, their role, their teams. * * A named component rather than a composition at each call site, because the * three things a hand-rolled version gets wrong are invisible one at a time: the * popover width, the announced name, and WHICH fields the card shows. * * ### Where this must NOT go * * **Not inside a picker option.** A peek there pops an anchored popover over an * anchored popover, at the one moment the reader is trying to CHOOSE. * * **Not inside a row that is itself pressable** — two destinations behind one * object (`composition.md`). Where a row already presses, let it press. * * **Test the container, not its look.** Ask what the press would otherwise have * done; if the answer is anything, the chip stays plain — a `DataGrid` group * band reads inert and is a button that collapses the group. * * That leaves a person named in prose, a static header, a detail row, or a * register whose ROWS do not navigate. * * PURE — pass the member's fields in; this fetches nothing. * * ```tsx * * ``` */ export declare function MemberPeek(props: MemberPeekProps): React.JSX.Element;