import React, { PropsWithoutRef, RefAttributes } from 'react'; import type { PressEvents, FocusableProps } from '@react-types/shared'; import type { AriaButtonProps } from '@react-types/button'; import { CSS } from '../theme'; import { NormalColors } from '../utils/prop-types'; import ButtonGroup from './button-group'; import { ButtonVariantsProps } from './button.styles'; export interface Props extends PressEvents, FocusableProps, AriaButtonProps { light?: boolean; color?: NormalColors; flat?: boolean; animated?: boolean; disabled?: boolean; ghost?: boolean; bordered?: boolean; auto?: boolean; ripple?: boolean; icon?: React.ReactNode; iconRight?: React.ReactNode; onClick?: React.MouseEventHandler; as?: keyof JSX.IntrinsicElements; className?: string; children?: React.ReactNode | undefined; iconLeftCss?: CSS; iconRightCss?: CSS; } declare type NativeAttrs = Omit, keyof Props>; export declare type ButtonProps = Props & NativeAttrs & Omit & { css?: CSS; }; declare type ButtonComponent = React.ForwardRefExoticComponent & RefAttributes> & { Group: typeof ButtonGroup; }; declare const _default: ButtonComponent; export default _default;