import type { LucideIcon } from 'lucide-react';
export interface ActionButtonProps {
    label: string;
    onClick: () => void;
    loading: boolean;
    error: boolean;
    icon: LucideIcon;
    /** When true, omits label text — label is still used as aria-label. */
    iconOnly?: boolean;
    /** Button variant. @default 'outline' */
    variant?: 'outline' | 'ghost' | 'default' | 'destructive' | 'secondary' | 'link';
    /** Button size. @default 'sm' */
    size?: 'default' | 'xs' | 'sm' | 'lg' | 'icon' | 'icon-xs' | 'icon-sm' | 'icon-lg';
}
export declare function ActionButton({ label, onClick, loading, error, icon: Icon, iconOnly, variant, size, }: ActionButtonProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=action-button.d.ts.map