import { ButtonAppearance, ButtonKind, ButtonSize } from '@viasat/beam-shared/components/button'; import { ProductType, ThemeTypes } from '@viasat/beam-shared/utils/constants'; import { default as React, ReactNode } from 'react'; import { MarginSpacingProps } from './../../utils/spacing'; import { SpinnerValues } from '@viasat/beam-shared/components/spinner'; export declare const ButtonIconWrap: ({ children }: { children: ReactNode; }) => import("react/jsx-runtime").JSX.Element; export interface ButtonProps extends React.ComponentPropsWithoutRef<'button'>, MarginSpacingProps { /** * Specify the appearance of a Button * @default 'accent' */ 'appearance'?: ButtonAppearance; /** * Specify the kind of Button * @default 'filled' */ 'kind'?: ButtonKind; /** * Specify the size of a Button * @default 'md' */ 'size'?: ButtonSize; /** * Specify if the Button is disabled */ 'disabled'?: boolean; /** * Specify if the Button is in a loading state */ 'loading'?: boolean; /** * Specify if the loading spinner is determinate by setting a value * @default undefined */ 'loadingValue'?: SpinnerValues; /** * Specify if Button is fluid */ 'fluid'?: boolean; /** * Specify the width of a Button */ 'width'?: React.CSSProperties['width']; /** * Specify if the Button displays icon before the text */ 'iconBefore'?: React.ReactNode; /** * Specify if the Button displays icon after the text */ 'iconAfter'?: React.ReactNode; /** * Specify if the icon displays without text */ 'iconOnly'?: boolean; /** * Specify the productType of a Button */ 'productType'?: ProductType; /** * Provide content for the Button */ 'children'?: React.ReactNode; /** * Specify the theme of the Button. By default it inherits the theme from the parent */ 'theme'?: ThemeTypes; /** * Provide an accessible label for the button, especially important for icon-only buttons */ 'aria-label'?: string; } export declare const Button: React.ForwardRefExoticComponent>;