import { ButtonHTMLAttributes, ReactNode } from 'react';
import { icons } from 'lucide-react';
import { Placement } from '@floating-ui/react';

export type IconName = keyof typeof icons;
export interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
    icon: IconName;
    /**
     * Visual size of the button. Defaults to `md`.
     */
    size?: 'sm' | 'md';
    /**
     * Pixel size for the Lucide icon. If not provided, derived from `size`.
     */
    iconSize?: number;
    /**
     * Tooltip content to display on hover. If provided, the button will be wrapped in a Tooltip.
     */
    tooltip?: ReactNode;
    /**
     * Placement of the tooltip. Only used if `tooltip` is provided.
     */
    tooltipPlacement?: Placement;
}
declare const IconButton: ({ icon, size, iconSize, type, className, tooltip, tooltipPlacement, ...rest }: IconButtonProps) => import("react/jsx-runtime").JSX.Element;
export default IconButton;
//# sourceMappingURL=IconButton.d.ts.map