import { IconName, IconProps } from '@mesalvo/icons';
import { DeepPartial } from '../../types';
import { ButtonProps } from '../button';
import { IconButtonTheme } from './theme';
export interface IconButtonProps extends ButtonProps {
    theme?: DeepPartial<IconButtonTheme>;
    icon?: IconName;
    iconProps?: Omit<IconProps, "name">;
    label?: string;
}
/**
 * @name IconButton
 *
 * @description Base component for displaying icons as button with ripple effect, tooltip, and loading state
 *
 * @param props IconButtonProps extends ButtonBaseProps
 *
 * @returns React.FC IconButton component
 *
 * @example ```
 * <IconButton label="Search" color="primary" size="md" rounded="full" isLoading={false} outline={false}>
 *    <TbSearch />
 * </IconButton>
 *
 * <IconButton>
 *    <MdFilter />
 * </IconButton>
 *
 * <IconButton color="info" size="xl" rounded="none">
 *    <LogoIcon />
 * </IconButton>
 * ```
 */
export declare const IconButton: ({ className, variant, iconProps, icon, rounded, theme: customTheme, label, type, ...props }: IconButtonProps) => import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=IconButton.d.ts.map