export interface ProfileMenuUser { /** Two-letter initials shown in the avatar circle (e.g. "TB"). */ initials: string; /** Display name (e.g. "Teslim Bello"). */ name: string; /** Optional email shown under the name. */ email?: string; /** Optional role pill rendered below the email (e.g. "Workspace Admin"). */ badge?: { label: string; /** Visual variant: 'admin' (purple, default) or 'default' (neutral). */ variant?: 'admin' | 'default'; }; /** Optional CSS background override for the avatar (gradient or solid). */ avatarColor?: string; } export interface ProfileMenuItem { /** Stable identifier emitted via `itemClick` when the row is clicked. */ id: string; label: string; /** Icon font class — same convention as NavItem.iconClass (e.g. "fa-solid fa-user"). */ iconClass?: string; /** Raw inline SVG markup. Sanitized internally before render. Takes precedence over `iconClass`. */ iconSvg?: string; /** Optional keyboard hint chip rendered on the right (e.g. "⌘O"). */ shortcut?: string; /** 'danger' renders the row in red (used for Logout). */ variant?: 'default' | 'danger'; disabled?: boolean; } export interface ProfileMenuDivider { type: 'divider'; } export declare type ProfileMenuEntry = ProfileMenuItem | ProfileMenuDivider; export declare function isProfileMenuDivider(entry: ProfileMenuEntry): entry is ProfileMenuDivider;