import { type ReactElement } from "react";
import { type RenderRecursiveItemsProps } from "../utils/RenderRecursively.js";
import { type NavigationItem, type NavigationRenderData } from "./types.js";
/**
 * @since 6.0.0
 */
export type DefaultNavigationRendererProps<Item extends NavigationItem = NavigationItem, Data extends NavigationRenderData = NavigationRenderData> = RenderRecursiveItemsProps<Item, Data>;
/**
 * **Client Component**
 *
 * The default behavior is attempt to render in order:
 * - `const { type, items, ...props } = item`
 * - `type === "divider"` - `<Divider {...props} />`
 * - `type === "subheader"` - `<NavSubheader {...props} />`
 * - `type === "group"` - `<><NavSubheader {...props} />{children}</>`
 * - `!!items` - `<CollapsibleNavGroup />`
 * - `<NavItemLink {...item} as={linkComponent} active={pathname === href} />`
 *
 * @see {@link https://react-md.dev/components/navigation | Navigation Demos}
 * @since 6.0.0
 */
export declare function DefaultNavigationRenderer<Item extends NavigationItem, Data extends NavigationRenderData>(props: DefaultNavigationRendererProps<Item, Data>): ReactElement;
