import React from 'react'; import type { UIAnalyticsEvent } from '@atlaskit/analytics-next'; import { type IconButtonProps } from '@atlaskit/button/new'; import type { TriggerProps } from '@atlaskit/popup/types'; import type { TooltipProps } from '@atlaskit/tooltip'; export interface EndItemProps extends Partial> { /** * Provide an accessible label, often used by screen readers. */ label: React.ReactNode; /** * Places an icon within the button. */ icon: IconButtonProps['icon']; /** * Handler called on click. You can use the second argument to fire Atlaskit analytics events on custom channels. * They could then be routed to GASv3 analytics. See the pressable or anchor primitive code examples for * information on [firing Atlaskit analytics events](https://atlassian.design/components/primitives/pressable/examples#atlaskit-analytics) * or [routing these to GASv3 analytics](https://atlassian.design/components/primitives/pressable/examples#gasv3-analytics). */ onClick?: (e: React.MouseEvent, analyticsEvent: UIAnalyticsEvent) => void; /** * Called when the mouse enters the element container. * Allows preloading popup components */ onMouseEnter?: React.MouseEventHandler; /** * Indicates that the button is selected. */ isSelected?: boolean; /** * A unique string that appears as data attribute `data-testid` in the rendered code, serving as a hook for automated tests. */ testId?: string; /** * An optional name used to identify events for [React UFO (Unified Frontend Observability) press interactions](https://developer.atlassian.com/platform/ufo/react-ufo/react-ufo/getting-started/#quick-start--press-interactions). For more information, see [React UFO integration into Design System components](https://go.atlassian.com/react-ufo-dst-integration). */ interactionName?: string; /** * Can be used to disable the default `listitem` role. * * This is intended for when the item is a popup trigger, * and requires you to render your own `` to wrap the action. * * @default true * * @example * ```tsx * * * ( * * )} * > * * Account * * * * * ``` */ isListItem?: boolean; /** * Display a keyboard shortcut in the tooltip. * * Keys will be displayed as individual keyboard key segments after the tooltip content. */ shortcut?: TooltipProps['shortcut']; } /** * __EndItem__ * * An icon button for the `TopNavEnd` layout area of the top navigation. Used for adding custom actions that are not already provided. * * For common actions, like `Notifications`, `Help`, `Profile`, `Settings`, use the provided components as appropriate. */ export declare const EndItem: React.ForwardRefExoticComponent & React.RefAttributes>;