import { type ButtonHTMLAttributes, type CSSProperties, type MouseEvent, type Ref } from 'react'; type StatusButtonStatus = 'idle' | 'loading' | 'success'; type StatusButtonProps = Omit, 'children' | 'className' | 'onClick' | 'style'> & { idleLabel?: string; loadingLabel?: string; successLabel?: string; loadingDuration?: number; successDuration?: number; className?: string; buttonClassName?: string; indicatorClassName?: string; style?: CSSProperties; buttonStyle?: CSSProperties; onClick?: (event: MouseEvent) => void | PromiseLike; onStatusChange?: (status: StatusButtonStatus) => void; onSuccess?: () => void; onError?: (error: unknown) => void; ref?: Ref; }; declare const StatusButton: ({ idleLabel, loadingLabel, successLabel, loadingDuration, successDuration, className, buttonClassName, indicatorClassName, style, buttonStyle, disabled, type, onClick, onStatusChange, onSuccess, onError, ref, "aria-label": ariaLabel, ...buttonProps }: StatusButtonProps) => import("react/jsx-runtime").JSX.Element; export { StatusButton }; export type { StatusButtonProps, StatusButtonStatus };