import { ElementType, type ReactElement, type MouseEventHandler, type ReactNode } from 'react'; import type { DataTestId, PolymorphicComponentProps, StylingProps, WithChildren } from '@dynatrace/strato-components/core'; /** * @public */ export interface AppHeaderActionButtonOwnProps extends StylingProps, DataTestId, WithChildren { /** * Whether the action button is disabled. */ disabled?: boolean; /** * Whether or not the ActionButton label is shown in the expanded header. * If set to false, the label is hidden and only shows in the collapsed menu. * If set to false and the prefixIcon is undefined, the label will be shown regardless. * @defaultValue true */ showLabel?: boolean; /** If set to true, the item will not be moved into the menu in case of insufficient space. */ pin?: boolean; /** Icon shown before the text of the ActionButton. */ prefixIcon?: ReactElement; /** Whether or not the ActionButton is selected. */ isSelected?: boolean; /** Influences the spacings. Condensed is more compact. */ density?: 'default' | 'condensed'; /** Handler that is called when the ActionButton is interacted with. */ onClick?: MouseEventHandler; } /** * @public */ export type AppHeaderActionButtonProps = PolymorphicComponentProps; /** * Allows to check if a ReactNode is a AppHeaderActionButton element. * @internal */ export declare function isAppHeaderActionButton(node: ReactNode): node is ReactElement>; /** * An action button used in `AppHeader.ActionItems`. * @public */ export declare const ActionButton: (props: AppHeaderActionButtonProps) => ReactElement | null;