import { default as React } from 'react';
import { IconFontColor, IconFontSize, ButtonColors, VisualSlotType } from '../../../shared/types/types';
export interface ButtonSlotLeftProps {
    /** Slot izquierdo */
    leftSlot?: VisualSlotType;
    /** Tamaño del botón */
    size?: 'xxs' | 'xs' | 'sm' | 'md' | 'lg';
    /** Color del botón */
    color?: ButtonColors;
    /** Color personalizado del icono */
    colorIcon?: IconFontColor | IconFontColor;
    /** Clases CSS adicionales */
    className?: string;
    /** Si el botón está deshabilitado */
    disabled?: boolean;
    /** Ancho de línea del icono */
    strokeWidth?: number;
    /** Handler de click del slot izquierdo */
    onClickLeftSlot?: (e: React.MouseEvent<HTMLDivElement>) => void;
    /** Props de duotone para slot izquierdo */
    leftSlotDuotonePrimary?: IconFontColor;
    leftSlotDuotoneSecondary?: IconFontColor;
    leftSlotDuotoneOpacityPrimary?: number;
    leftSlotDuotoneOpacitySecondary?: number;
    /** Si hay children (texto) */
    hasChildren: boolean;
    /** Tamaño del icono del slot (prioridad sobre el derivado del tamaño del botón). */
    iconFontSize?: IconFontSize;
}
/**
 * Renderiza el slot izquierdo del botón
 */
export declare const ButtonSlotLeft: React.FC<ButtonSlotLeftProps>;
/**
 * Componente atómico para el slot derecho del botón
 */
export interface ButtonSlotRightProps {
    /** Slot derecho */
    rightSlot?: VisualSlotType;
    /** Tamaño del botón */
    size?: 'xxs' | 'xs' | 'sm' | 'md' | 'lg';
    /** Color del botón */
    color?: ButtonColors;
    /** Color personalizado del icono */
    colorIcon?: IconFontColor | IconFontColor;
    /** Clases CSS adicionales */
    className?: string;
    /** Si el botón está deshabilitado */
    disabled?: boolean;
    /** Ancho de línea del icono */
    strokeWidth?: number;
    /** Handler de click del slot derecho */
    onClickRightSlot?: (e: React.MouseEvent<HTMLDivElement>) => void;
    /** Props de duotone para slot derecho */
    rightSlotDuotonePrimary?: IconFontColor;
    rightSlotDuotoneSecondary?: IconFontColor;
    rightSlotDuotoneOpacityPrimary?: number;
    rightSlotDuotoneOpacitySecondary?: number;
    /** Si hay children (texto) */
    hasChildren: boolean;
    /** Tamaño del icono del slot (prioridad sobre el derivado del tamaño del botón). */
    iconFontSize?: IconFontSize;
}
/**
 * Renderiza el slot derecho del botón
 */
export declare const ButtonSlotRight: React.FC<ButtonSlotRightProps>;
//# sourceMappingURL=ButtonSlots.d.ts.map