import { ReactElement, MouseEvent } from 'react';
import { LevelType, LinkComponentProps, OnClickHandler, SidebarMenuItemKey, SidebarMenuOptions, OnEditPayload, OnDeletePayload, OnChangePayload } from './types';
import { FormFieldValidity } from '../form-field';
type SidebarMenuItemProps = {
    name: string;
    itemKey: SidebarMenuItemKey;
    expandedKeys: Array<SidebarMenuItemKey>;
    testId: string;
    level: number;
    handleActiveItemChange: (event: MouseEvent, key: SidebarMenuItemKey) => void;
    LinkComponent?: (props: LinkComponentProps & {
        route?: string;
    }) => ReactElement;
    link?: string;
    route?: string;
    isExternal?: boolean;
    isShown?: boolean;
    isDisabled?: boolean;
    onClick?: OnClickHandler;
    hasErrors?: () => string;
    subOptions?: Array<SidebarMenuOptions>;
    activeKey?: SidebarMenuItemKey;
    levels?: LevelType;
    shouldShowActiveBgOnTopLevel: boolean;
    onDelete?: ({ key, level }: OnDeletePayload) => void;
    onEdit?: ({ key, val, level }: OnEditPayload) => void;
    isEditable?: boolean;
    isDeletable?: boolean;
    onChange?: ({ key, val, level }: OnChangePayload) => void;
    validity?: FormFieldValidity;
    tooltipText?: string;
    editItemInputPlaceholder: string;
    value?: string;
    deleteAriaLabel: string;
    editAriaLabel: string;
    helperText?: string;
    shouldNotTruncate?: boolean;
};
export declare function SidebarMenuItem({ name, value, itemKey, level, testId, expandedKeys, activeKey, handleActiveItemChange, isExternal, isShown, isDisabled, isEditable, isDeletable, link, route, shouldShowActiveBgOnTopLevel, onDelete, onEdit, onChange, validity, levels, LinkComponent, subOptions, onClick, hasErrors, tooltipText, deleteAriaLabel, editAriaLabel, editItemInputPlaceholder, helperText, shouldNotTruncate, }: SidebarMenuItemProps): import("react/jsx-runtime").JSX.Element | null;
export {};
