import type { AsElementType, AppNavItemTheme, OtherHTMLAttributes } from '@instructure/shared-types'; import type { WithStyleProps, ComponentStyle } from '@instructure/emotion'; import type { Cursor } from '@instructure/shared-types'; import React from 'react'; import { Renderable } from '@instructure/shared-types'; type AppNavItemOwnProps = { /** * The text to display. If the `icon` prop is used, label text must be wrapped * in `ScreenReaderContent`. */ renderLabel: Renderable; /** * Content to display after the renderLabel text, such as a badge */ renderAfter?: Renderable; /** * The visual to display (ex. an Image, Logo, Avatar, or Icon) */ renderIcon?: Renderable; /** * If the item goes to a new page, pass an href */ href?: string; /** * If the item does not go to a new page, pass an onClick */ onClick?: (event: React.MouseEvent) => void; /** * Denotes which item is currently selected */ isSelected?: boolean; /** * provides a reference to the underlying focusable (`button` or `a`) element */ elementRef?: (element: Element | null) => void; /** * The element type to render as (will default to `` if href is provided) */ as?: AsElementType; /** * Specify the mouse cursor to use on :hover. * The `pointer` cursor is used by default. */ cursor?: Cursor; /** * Disables the link or button visually and functionally */ isDisabled?: boolean; }; type PropKeys = keyof AppNavItemOwnProps; type AllowedPropKeys = Readonly>; type AppNavItemProps = AppNavItemOwnProps & WithStyleProps & OtherHTMLAttributes; type AppNavItemStyle = ComponentStyle<'item' | 'label'>; declare const allowedProps: AllowedPropKeys; export type { AppNavItemProps, AppNavItemStyle }; export { allowedProps }; //# sourceMappingURL=props.d.ts.map