import { ReactElement, Ref } from 'react'; import { IconNameWithSize } from '@talend/icons/dist/typeUtils'; import { DataAttributes, DeprecatedIconNames } from '../../../types'; import { ClickableProps } from '../../Clickable'; export type AvailableVariantsTypes = 'primary' | 'destructive' | 'secondary' | 'tertiary'; export type AvailableSizes = 'M' | 'S'; export type ButtonVariantType = { variant: T; } & P; export type SharedButtonTypes = { isLoading?: boolean; isDropdown?: boolean; size?: S; icon?: IconNameWithSize<'S'> | DeprecatedIconNames | ReactElement | IconNameWithSize<'M'>; }; export type BaseButtonProps = Omit & SharedButtonTypes & Partial; declare function ButtonPrimitiveInner(props: BaseButtonProps, ref: Ref): import("react/jsx-runtime").JSX.Element; declare const ButtonPrimitive: (props: BaseButtonProps & { ref?: Ref; }) => ReturnType; export default ButtonPrimitive;