import type * as React from 'react'; import { AnalyticsOverrideProps, AnalyticsParentDataProps } from '../analytics'; export type ButtonSize = 'small' | 'big'; export type ButtonVariation = 'solid' | 'ghost'; export type ButtonRef = React.Ref | React.MutableRefObject; interface CommonButtonProps extends AnalyticsOverrideProps, AnalyticsParentDataProps { /** * Label text or HTML */ children: string | React.ReactNode; /** * Additional classes to be added to the root button element. */ className?: string; disabled?: boolean; /** * When provided, the root component will render as an `` element * rather than `button`. */ href?: string; /** * Access a reference to the `button` or `a` element */ inputRef?: ButtonRef; /** * Applies the alternate color to a Button. By default, Button * uses the `main` color. */ isAlternate?: boolean; /** * Returns the [`SyntheticEvent`](https://facebook.github.io/react/docs/events.html). * Not called when the Button is disabled. */ onClick?: (...args: any[]) => any; /** * Defines a color palette best used when Button is placed on a dark * background-color. By default, Button uses a light color palette. */ onDark?: boolean; size?: ButtonSize; /** * Button [`type`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-type) attribute */ type?: React.ComponentProps<'button'>['type']; /** * A string corresponding to Button variation classes. */ variation?: ButtonVariation; } type OtherProps = Omit & React.ComponentPropsWithRef<'a'>, keyof CommonButtonProps>; export type ButtonProps = CommonButtonProps & OtherProps; /** * For information about how and when to use this component, * [refer to its full documentation page](https://design.cms.gov/components/button/). */ export declare const Button: { (props: ButtonProps): import("react/jsx-runtime").JSX.Element; defaultProps: { isAlternate: boolean; onDark: boolean; type: "button"; }; }; export default Button;