import { type ButtonHTMLAttributes, type CSSProperties, type MouseEvent, type Ref } from 'react';
type SendButtonStatus = 'idle' | 'sending' | 'sent' | 'error';
type SendButtonStyle = CSSProperties & {
'--send-button-duration'?: string;
};
type SendButtonProps = Omit, 'children' | 'onClick' | 'style'> & {
idleLabel?: string;
sendingLabel?: string;
sentLabel?: string;
errorLabel?: string;
sendDuration?: number;
sentDuration?: number;
errorDuration?: number;
style?: SendButtonStyle;
onClick?: (event: MouseEvent) => void | PromiseLike;
onStatusChange?: (status: SendButtonStatus) => void;
onSuccess?: () => void;
onError?: (error: unknown) => void;
ref?: Ref;
};
declare const SendButton: ({ "aria-disabled": ariaDisabled, "aria-label": ariaLabel, className, disabled, errorDuration, errorLabel, idleLabel, onClick, onError, onStatusChange, onSuccess, ref, sendDuration, sendingLabel, sentDuration, sentLabel, style, type, ...buttonProps }: SendButtonProps) => import("react/jsx-runtime").JSX.Element;
export { SendButton };
export type { SendButtonProps, SendButtonStatus };