import { ButtonHTMLAttributes, ReactNode } from 'react';
/**
 * Button component for Analytica Ensino platforms
 *
 * A flexible button component with multiple variants, sizes and actions.
 *
 * @param children - The content to display inside the button
 * @param size - The size variant (extra-small, small, medium, large, extra-large)
 * @param variant - The visual style variant (solid, outline, link)
 * @param action - The action type (primary, secondary, positive, negative)
 * @param className - Additional CSS classes
 * @param props - All other standard button HTML attributes
 * @returns A styled button element
 *
 * @example
 * ```tsx
 * <Button variant="solid" action="primary" size="medium" onClick={() => console.log('clicked')}>
 *   Click me
 * </Button>
 * ```
 */
declare const Button: import("react").ForwardRefExoticComponent<{
    /** Content to be displayed inside the button */
    children: ReactNode;
    /** Ícone à esquerda do texto */
    iconLeft?: ReactNode;
    /** Ícone à direita do texto */
    iconRight?: ReactNode;
    /** Size of the button */
    size?: "extra-small" | "small" | "medium" | "large" | "extra-large";
    /** Visual variant of the button. Use 'raw' for no default styling */
    variant?: "solid" | "outline" | "link" | "raw";
    /** Action type of the button */
    action?: "primary" | "secondary" | "positive" | "negative";
    /** Additional CSS classes to apply */
    className?: string;
} & ButtonHTMLAttributes<HTMLButtonElement> & import("react").RefAttributes<HTMLButtonElement>>;
export default Button;
//# sourceMappingURL=Button.d.ts.map