import { type ElementType, type MouseEventHandler, type ReactElement } from 'react'; import type { AriaDisabledProps, AriaLabelingProps } from '../../core/types/a11y-props.js'; import type { BehaviorTrackingProps } from '../../core/types/behavior-tracking-props.js'; import type { DataTestId } from '../../core/types/data-props.js'; import type { MaskingProps } from '../../core/types/masking-props.js'; import { type PolymorphicComponentProps } from '../../core/types/polymorph.js'; import type { StylingProps } from '../../core/types/styling-props.js'; import type { WithChildren } from '../../core/types/with-children.js'; /** * Accepted properties for the InlineButton. * @public */ export interface InlineButtonOwnProps extends AriaDisabledProps, AriaLabelingProps, StylingProps, DataTestId, MaskingProps, BehaviorTrackingProps, WithChildren { /** Called when the button is clicked. Not invoked while the button is disabled or loading. */ onClick?: MouseEventHandler; /** * If a button is disabled, it cannot be interacted with: it leaves the tab order * and its pointer and click events are blocked. * @defaultValue false */ disabled?: boolean; /** * The text, icon, and underline/hover color. * @defaultValue 'neutral' */ color?: 'primary' | 'neutral' | 'success' | 'warning' | 'critical'; /** * The current loading state of the button. If true, a loading icon is shown with aria-disabled=true * and aria-busy=true. The button stays in the tab order unless `disabled` is also set. * @defaultValue false */ loading?: boolean; /** Indicates whether the element, or another grouping element it controls, is currently expanded or collapsed. */ 'aria-expanded'?: boolean | 'true' | 'false'; /** Indicates the availability and type of interactive popup element, such as menu or dialog, that can be triggered by an element. */ 'aria-haspopup'?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | 'true' | 'false'; /** Identifies the element (or elements) whose contents or presence are controlled by the current element. */ 'aria-controls'?: string; } /** * Props for InlineButton combined with the props of the underlying element type. * @public */ export type InlineButtonProps = PolymorphicComponentProps; /** * InlineButton is an inline, text-flowing action trigger. It flows with surrounding * text, wraps naturally across line breaks, and supports `color`, `loading`, and * `disabled`/`aria-disabled` states. Use the `as` prop to render a different underlying element. * @public */ export declare const InlineButton: ((props: InlineButtonProps) => ReactElement | null) & { Prefix: (props: import("./Prefix.js").InlineButtonPrefixProps & import("react").RefAttributes) => import("react").ReactElement | null; Suffix: (props: import("./Suffix.js").InlineButtonSuffixProps & import("react").RefAttributes) => import("react").ReactElement | null; }; //# sourceMappingURL=InlineButton.d.ts.map