import { ComponentProps, FC } from "react";

//#region src/components/Avatar/index.d.ts

/**
 * Props for the Avatar component
 */
interface AvatarProps extends Omit<ComponentProps<'button'>, 'onClick'> {
  /** Image source URL for the avatar */
  src?: string;
  /** Full name used to generate initials and alt text */
  fullname?: string;
  /** Displays a loading spinner when true */
  isLoading?: boolean;
  /** Whether the user is authenticated */
  isLoggedIn?: boolean;
  /** Size variant of the avatar */
  size?: 'sm' | 'md' | 'lg' | 'xl';
  /** Click handler - when provided, makes the avatar clickable */
  onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
  /** Alternative text for accessibility */
  alt?: string;
  /** Whether the avatar should be focusable when not clickable */
  focusable?: boolean;
}
/**
 * @description Gets the capital letters from a name.
 * @param name - The name to extract capitals from.
 * @param separator - The separator to split the name (default is an empty string, which splits by each character).
 * @returns {string[]} An array of capital letters from the name.
 */
declare const getCapitals: (name: string, separator?: string) => string[];
/**
 * Avatar component that displays user profile images, initials, or a default user icon.
 * Supports loading states, authentication states, and accessibility features.
 *
 * @example
 * ```tsx
 * // With image
 * <Avatar src="https://example.com/avatar.jpg" fullname="John Doe" />
 *
 * // With initials
 * <Avatar fullname="John Doe" />
 *
 * // Clickable avatar
 * <Avatar
 *   fullname="John Doe"
 *   onClick={(e) => console.log('Avatar clicked')}
 * />
 *
 * // Loading state
 * <Avatar isLoading fullname="John Doe" />
 * ```
 */
declare const Avatar: FC<AvatarProps>;
//#endregion
export { Avatar, AvatarProps, getCapitals };
//# sourceMappingURL=index.d.ts.map