import { ComponentType, HTMLProps } from "react"; export declare const enum BadgePosition { START = 0, END = 1 } export interface ProfileBadge { /** The tooltip to show on hover. Required for image badges */ description?: string; /** Custom component for the badge (tooltip not included) */ component?: ComponentType; /** The custom image to use */ iconSrc?: string; link?: string; /** Action to perform when you click the badge */ onClick?(event: React.MouseEvent, props: ProfileBadge & BadgeUserArgs): void; /** Action to perform when you right click the badge */ onContextMenu?(event: React.MouseEvent, props: BadgeUserArgs & BadgeUserArgs): void; /** Should the user display this badge? */ shouldShow?(userInfo: BadgeUserArgs): boolean; /** Optional props (e.g. style) for the badge, ignored for component badges */ props?: HTMLProps; /** Insert at start or end? */ position?: BadgePosition; /** The badge name to display, Discord uses this. Required for component badges */ key?: string; /** * Allows dynamically returning multiple badges. * Must not call hooks */ getBadges?(userInfo: BadgeUserArgs): ProfileBadge[]; } /** * Register a new badge with the Badges API * @param badge The badge to register */ export declare function addProfileBadge(badge: ProfileBadge): void; /** * Unregister a badge from the Badges API * @param badge The badge to remove */ export declare function removeProfileBadge(badge: ProfileBadge): boolean; /** * Inject badges into the profile badges array. * You probably don't need to use this. */ export declare function _getBadges(args: BadgeUserArgs): ProfileBadge[]; export interface BadgeUserArgs { userId: string; guildId: string; }