import type { ReactNode, Ref } from 'react'; import type { BaseProps, ForwardRefForwardPropsComponent, PropsWithDefaults, AsProp } from '../../types'; export interface ButtonProps extends BaseProps, AsProp { /** Text or content for the Button. */ children: ReactNode; /** * Determines if the Button will be disabled. * @default false */ disabled?: boolean; /** A location to navigate to. Passing an href will render an anchor styled as a Button. */ href?: string; /** * Controls the styling of the Button. * @default 'secondary' */ variant?: 'primary' | 'secondary' | 'simple' | 'link' | 'text'; /** * Controls the behavior of a Button within a Form. * @default 'button' */ type?: 'button' | 'reset' | 'submit'; /** * Set the Icon prop to `true` if you're using just an Icon in your Button. Make sure to pass an Icon as children if `true`. * @default false */ icon?: boolean; /** * Used for a smaller sized button. * @default false */ compact?: boolean; /** The label text will be used inside a Tooltip. */ label?: string; /** The aria label text will be inserted as the aria-label on the Button. */ 'aria-label'?: string; /** * Applies visual disabled styles without disabling the button element itself. * @default false */ 'aria-disabled'?: boolean | 'true' | 'false'; /** * Optionally renders an indeterminate progress indicator in a button. * @default false */ loading?: boolean; /** Ref forwarded to the wrapping element. */ ref?: Ref; } type ButtonPropsWithDefaults = PropsWithDefaults; export declare const StyledButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute, HTMLButtonElement>, ButtonPropsWithDefaults>> & string; export declare const StyledButtonLink: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute, HTMLAnchorElement>, Pick & Pick>> & string; declare const Button: ForwardRefForwardPropsComponent; export default Button; //# sourceMappingURL=Button.d.ts.map