/// <reference types="react" />
interface ITopNavItemBase {
    label: string;
    icon?: JSX.Element;
    current?: boolean | ICurrentItemJSONFormat;
}
interface ICurrentItemJSONFormat {
    pathname: string;
    operator: "equals" | "includes";
    filterCondition?: {
        filter: string;
        value: string;
        isObject: boolean;
    };
}
interface IHandleClickJSONFormat {
    link: string;
    setFilter?: {
        filter: string;
        value: string;
    };
}
interface ITopNavItemWithSubItems extends ITopNavItemBase {
    handleClick?: never;
    subItems: ITopNavItem[];
}
interface ITopNavItemWithoutSubItems extends ITopNavItemBase {
    handleClick?: () => any | IHandleClickJSONFormat;
    type: "readme" | "internal" | "external";
    subItems?: never;
}
export type ITopNavItem = ITopNavItemWithSubItems | ITopNavItemWithoutSubItems;
export interface TopNavProps {
    items: ITopNavItem[];
    mobileLogo?: JSX.Element;
    layoutClassName?: string;
}
export declare const PrimaryTopNav: ({ items, mobileLogo, layoutClassName }: TopNavProps) => JSX.Element;
export {};
