import { default as React } from 'react';
import { default as IButtonProps } from './IButtonProps';
/**
 * A versatile Button component that supports various sizes, variants, and states.
 * @param props {@link IButtonProps} - The component props
 * @returns The rendered button component
 *
 * @example
 * ```tsx
 * <Button label="Click me" />
 * ```
 *
 * @example
 * ```tsx
 * // Variant
 * <Button label="Click me" variant="secondary" />
 * ```
 *
 * @example
 * ```tsx
 * // Shape
 * <Button label="Click me" shape="rounded" />
 * ```
 *
 * @example
 * ```tsx
 * // Size - List of available sizes: default, icon, iconXs, iconSm, iconLg
 * <Button label="Click me" size="icon" />
 * ```
 *
 * @example
 * ```tsx
 * // Loading
 * <Button label="Click me" isLoading />
 * ```
 *
 * @example
 * ```tsx
 * // Disabled
 * <Button label="Click me" disabled />
 * ```
 *
 * @example
 * ```tsx
 * // Badge
 * <Button label="Click me" badgeNum={1} />
 * ```
 *
 * @example
 * ```tsx
 * // Full width
 * <Button label="Click me" fullWidth />
 * ```
 *
 * @example
 * ```tsx
 * // Icon only
 * <Button icon="Plus" />
 * ```
 *
 * @example
 * ```tsx
 * // Icon position
 * <Button icon="Plus" iconPosition="right" />
 * ```
 */
declare const Button: React.FC<IButtonProps & React.RefAttributes<HTMLButtonElement>>;
export default Button;
