import { type ComponentPropsWithoutRef, type MouseEvent, type ReactNode } from "react";
import { type AvatarProps, type AvatarStatus } from "../Avatar";
import { type CardRadius } from "../Card";
export interface UserCardStat {
    label: ReactNode;
    value: ReactNode;
}
export type UserCardOrientation = "vertical" | "horizontal";
export interface UserCardProps extends Omit<ComponentPropsWithoutRef<"div">, "title" | "role" | "onChange" | "onClick" | "onDrag" | "onDragStart" | "onDragEnd" | "onAnimationStart"> {
    /** User name (display label). */
    name: ReactNode;
    /** Heading level for the name. Default `"h3"`. */
    nameAs?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
    /** Job title / role / handle, rendered below the name. */
    role?: ReactNode;
    /**
     * Structured Avatar fields — forwarded to the polished Avatar
     * primitive. Pass `{ src, initials, alt }`; if omitted, an initial
     * is derived from `name` automatically.
     */
    avatar?: Pick<AvatarProps, "src" | "initials" | "alt">;
    /**
     * Legacy raw-node avatar (e.g. <img />). Renders into the legacy
     * circle. Prefer `avatar` for new code.
     */
    avatarNode?: ReactNode;
    /** Legacy explicit initial character. Prefer `avatar.initials`. */
    initial?: ReactNode;
    /** Avatar status dot (online / offline / busy / away). */
    status?: AvatarStatus;
    /** Optional secondary line under role — email, handle, location. */
    meta?: ReactNode;
    /** Stat row below the name + role. */
    stats?: UserCardStat[];
    /** Action slot at the bottom (Button, link, etc.). */
    action?: ReactNode;
    /** Layout — vertical (centered, default) or horizontal (left-aligned row). */
    orientation?: UserCardOrientation;
    /** Whole-card click handler. */
    onClick?: (e: MouseEvent<HTMLDivElement>) => void;
    /** Renders as <a> via Card.asChild when href is provided. */
    href?: string;
    /** Disable interaction. */
    disabled?: boolean;
    /** Card corner radius (passes through). */
    radius?: CardRadius;
}
export declare const UserCard: import("react").ForwardRefExoticComponent<UserCardProps & import("react").RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=UserCard.d.ts.map