import React from "react";
import { MenuProps } from "antd";
import "./style.scss";
export type MenuItem = Required<NavigationProps>["items"][number];
export interface CustomMenuProps extends Omit<MenuProps, "items"> {
    items: CustomMenuItem[];
}
export type CustomMenuItem = {
    label: string;
    value: string;
    key: string;
    hidden?: boolean;
    icon?: React.ReactNode;
    children?: CustomMenuItem[];
    meta?: RouteMeta;
    disabled?: boolean;
    isNew?: boolean;
} & Required<MenuProps>["items"][number];
export interface RouteMeta {
    micro?: MicroInfo;
    hideSideNavigationBar?: boolean;
    hideInBreadcrumb?: boolean;
    hideTopNavigationBar?: boolean;
    hideOperationalZone?: boolean;
}
export interface MicroInfo {
    name: any;
    entry: string;
    props?: {
        routePrefix: string;
        baseRoute?: string;
    };
}
export interface NavigationProps extends CustomMenuProps {
    operationItems?: MenuItem[];
    onOperItemClick?: (label: string) => void;
    footerOperation?: React.ReactNode;
    userName?: string;
    noticeNum?: number;
    onClickSearchItem?: (item: CustomMenuItem) => void;
    showSearch?: boolean;
    className?: string;
    customLogo?: {
        noName: React.ReactNode;
        withName: React.ReactNode;
    };
}
declare const Navigation: React.FC<NavigationProps>;
export default Navigation;
