import { default as React } from 'react'; import { ButtonVariant, PlacementCorners } from '../types'; type IconComponent = React.FC>; type ButtonProps = { leftIcon?: IconComponent | React.ReactElement; rightIcon?: IconComponent | React.ReactElement; label?: string; size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'; waitFor?: number; variant?: ButtonVariant; layout?: 'rounded' | 'default' | 'outlined' | 'plain' | 'sharp'; isLoading?: boolean; disabled?: boolean; onClick?: (e: React.MouseEvent) => void | Promise; ariaLabel?: string; children?: React.ReactNode; className?: string; loadingMessage?: string; href?: string; newTab?: boolean; title?: string; id?: string; type?: 'submit' | 'link' | 'button'; fullWidth?: boolean; tooltip?: React.ReactNode; tooltipPlacement?: PlacementCorners; confirmText?: React.ReactNode; confirmTitle?: string; confirmOkText?: string; confirmCancelText?: string; } & Omit, 'type'>; declare function Button({ label, leftIcon: LeftIcon, rightIcon: RightIcon, size, waitFor, variant, layout, type, isLoading, disabled, onClick, ariaLabel, children, className, loadingMessage, href, newTab, title, id, fullWidth, tooltip, tooltipPlacement, confirmText, confirmTitle, confirmOkText, confirmCancelText, ...rest }: ButtonProps): React.JSX.Element; export { Button };