import { default as React } from 'react';
import { InnerButtonProps, ButtonProps } from './button';
import { BadgeProps } from './badge';
import { LegacyIconName, LegacyIconProps } from './legacyIcon';
/** URLs permitidas en slots (avatares), alineado con Visual. */
export type LegacyUrlString = `http://${string}` | `https://${string}` | `data:${string}` | `blob:${string}`;
export type LegacyVisualSlotType = LegacyIconName | LegacyUrlString;
/**
 * Configuración del icono principal (equivalente a `ButtonIconConfig` pero con `LegacyIcon`).
 */
export interface LegacyButtonIconConfig extends Omit<LegacyIconProps, 'name'> {
    icon: LegacyIconName;
    show?: boolean;
    /** @deprecated Usar colorDuotonePrimary */
    iconDuotonePrimary?: LegacyIconProps['colorDuotonePrimary'];
    /** @deprecated Usar colorDuotoneSecondary */
    iconDuotoneSecondary?: LegacyIconProps['colorDuotoneSecondary'];
    /** @deprecated Usar opacityDuotonePrimary */
    iconDuotoneOpacityPrimary?: LegacyIconProps['opacityDuotonePrimary'];
    /** @deprecated Usar opacityDuotoneSecondary */
    iconDuotoneOpacitySecondary?: LegacyIconProps['opacityDuotoneSecondary'];
}
export interface LegacyButtonSlotConfig {
    icon?: LegacyVisualSlotType;
    colorIcon?: LegacyIconProps['color'];
    onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
    iconDuotonePrimary?: LegacyIconProps['colorDuotonePrimary'];
    iconDuotoneSecondary?: LegacyIconProps['colorDuotoneSecondary'];
    iconDuotoneOpacityPrimary?: LegacyIconProps['opacityDuotonePrimary'];
    iconDuotoneOpacitySecondary?: LegacyIconProps['opacityDuotoneSecondary'];
    show?: boolean;
}
export interface LegacyButtonBadgeConfig extends Omit<BadgeProps, 'label' | 'icon' | 'iconSlot'> {
    label?: string;
    icon?: LegacyIconName;
    show?: boolean;
}
export type InnerLegacyButtonProps = Omit<InnerButtonProps, 'icon' | 'leftSlot' | 'rightSlot' | 'badgeIcon' | 'iconProps' | 'leftSlotProps' | 'rightSlotProps' | 'badge'> & {
    icon?: LegacyVisualSlotType | React.ReactElement | LegacyButtonIconConfig;
    leftSlot?: LegacyVisualSlotType | LegacyButtonSlotConfig;
    rightSlot?: LegacyVisualSlotType | LegacyButtonSlotConfig;
    badgeIcon?: LegacyIconName;
    iconProps?: LegacyButtonIconConfig;
    leftSlotProps?: LegacyButtonSlotConfig;
    rightSlotProps?: LegacyButtonSlotConfig;
    badge?: LegacyButtonBadgeConfig;
};
export interface LegacyButtonProps extends Omit<InnerLegacyButtonProps, 'iconSizeExtended' | 'defaultSizeIcon' | 'classNameTooltip' | 'tooltipColor'> {
    variant?: ButtonProps['variant'];
}
//# sourceMappingURL=legacyButton.d.ts.map