import { default as React } from 'react';
import { IconFontColor, IconFontSize, AnyIconDefinition, ButtonColors, VisualSize } from '../../../shared/types/types';
import { IconBackgroundColor } from '../../../shared/types/icon';
export interface ButtonIconProps {
    /** Icono a renderizar */
    icon: AnyIconDefinition | React.ReactElement;
    /** Tamaño del botón */
    size?: 'xxs' | 'xs' | 'sm' | 'md' | 'lg';
    /** Color del botón */
    color?: ButtonColors;
    /** Color personalizado del icono */
    colorIcon?: string;
    /** Clases CSS adicionales para el icono */
    classNameIcon?: string;
    /** Ancho de línea del icono */
    strokeWidth?: number;
    /** Tema del botón (`icon`: el clic se delega al glifo). @deprecated Preferir API sin `theme`; ver documentación del botón. */
    theme?: 'solid' | 'icon';
    /** Handler de click del icono */
    onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
    /** Handler de click del icono (alternativo) */
    onClickIcon?: (e: React.MouseEvent<HTMLDivElement>) => void;
    /** Props de duotone para el icono */
    iconDuotonePrimary?: IconFontColor;
    iconDuotoneSecondary?: IconFontColor;
    iconDuotoneOpacityPrimary?: number;
    iconDuotoneOpacitySecondary?: number;
    /** Tamaño del glifo (si no se pasa, se deriva del tamaño del botón). */
    iconFontSize?: IconFontSize;
    background?: boolean;
    backgroundColor?: IconBackgroundColor;
    backgroundSize?: VisualSize;
    padding?: 'none' | 'xxs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
}
/**
 * Renderiza el icono del botón
 *
 * @example
 * ```tsx
 * <ButtonIcon
 *   icon="ImageOutlined"
 *   size="md"
 *   color="primary"
 *   theme="solid"
 * />
 * ```
 */
export declare const ButtonIcon: React.FC<ButtonIconProps>;
//# sourceMappingURL=ButtonIcon.d.ts.map