import React, { Context } from 'react';
import { IMainNavigationContext, MainNavigationState } from '../../types';
export type NavigationItemProps = {
    childRoutes?: string[];
    className?: string;
    context?: Context<IMainNavigationContext>;
    defaultIsSelected?: boolean | ((props: {
        name: string;
        state: MainNavigationState;
        to: string;
    }) => boolean);
    icon?: JSX.Element | ((color?: string) => JSX.Element);
    isAlpha?: boolean;
    isDrillDown?: boolean;
    isGuarded?: boolean;
    isLocked?: boolean;
    isNotSelectable?: boolean;
    isRoot?: boolean;
    label?: string;
    name?: string;
    onClick?: () => void;
    openInNewTab?: boolean;
    preload?: () => Promise<any>;
    title?: string;
    to?: string;
    tooltipLabel?: string | null | undefined;
    unseenAlerts?: JSX.Element;
};
type NavigationItemInnerProps = Pick<NavigationItemProps, 'className' | 'icon' | 'isAlpha' | 'isDrillDown' | 'isLocked' | 'isRoot' | 'label' | 'openInNewTab' | 'preload' | 'to' | 'tooltipLabel' | 'onClick' | 'unseenAlerts'> & {
    isSelected?: boolean;
};
export declare const NavigationItemUI: React.MemoExoticComponent<({ className, icon, isDrillDown, isSelected, isAlpha, isLocked, isRoot, label, onClick, to, preload, openInNewTab, tooltipLabel, unseenAlerts, }: NavigationItemInnerProps) => JSX.Element>;
export declare const NavigationItem: ({ className, icon, isAlpha, isDrillDown, isLocked, isRoot, label, name, isNotSelectable, onClick, preload, openInNewTab, to, context, defaultIsSelected, tooltipLabel, unseenAlerts, }: NavigationItemProps) => JSX.Element;
export {};
