import { default as React } from 'react';
export interface NavTreeItem {
    /**
     * Visible label. Any node composes here — `<Chip.Dot />`, a logo, `<Kbd>` —
     * but keep some text in it (or plain text) so the row has an accessible name.
     */
    title: React.ReactNode;
    /**
     * Stable key. Needed when `href` is absent and `title` isn't a plain string;
     * otherwise `href`/`title` serve as the key.
     */
    id?: string;
    /** Destination. Omit on a branch to make the whole row a collapse toggle. */
    href?: string;
    /** Optional leading icon — pass a sized element, e.g. `<Database size={18} />`. */
    icon?: React.ReactNode;
    /** Right-aligned adornment — a count `<Chip>`, status dot, or badge. */
    trailing?: React.ReactNode;
    /** Nested items. The row gains a chevron and collapses. */
    children?: NavTreeItem[];
}
export interface NavTreeGroup {
    /** Uppercase eyebrow above the group (e.g. "Workspace"). Omit for none. */
    label?: string;
    items: NavTreeItem[];
}
export interface NavTreeProps {
    /** Sections with eyebrow labels — the admin-sidebar form. */
    groups?: NavTreeGroup[];
    /** Ungrouped convenience — equivalent to one unlabeled group. */
    items?: NavTreeItem[];
    /** Current path — highlights the active item and auto-expands its ancestors. */
    currentPath?: string;
    /**
     * Icon-rail mode: rows collapse to centered icons with the title as
     * accessible name and native tooltip; group labels become dividers and
     * nesting is not rendered (top-level only). Pair with a collapsed
     * `Sidebar`. Rows without an `icon` fall back to the title's first letter.
     * Give items a string `title` or an `id` so rail rows keep an accessible
     * name (falls back to `href`).
     */
    iconOnly?: boolean;
    /** Routing link component (e.g. Next.js Link, React Router Link). */
    LinkComponent?: React.ComponentType<{
        href: string;
        children: React.ReactNode;
        className?: string;
    }>;
    /** Accessible label for the nav element. */
    'aria-label'?: string;
    className?: string;
}
/**
 * NavTree — hierarchical navigation for sidebars and docs. Optionally grouped
 * under uppercase eyebrow labels (the admin-console form), with per-item
 * icons, collapsible branches, and active-path highlighting with auto-expanded
 * ancestors.
 *
 * Pass a `LinkComponent` for SPA routers (e.g. Next.js `Link`). When no
 * `currentPath` is provided, no item is highlighted. A branch with an `href`
 * renders a split row: the label navigates, the chevron toggles.
 *
 * Successor to `TreeView` (kept as a deprecated alias).
 */
export declare function NavTree({ groups, items, currentPath, iconOnly, LinkComponent, 'aria-label': ariaLabel, className, }: Readonly<NavTreeProps>): React.JSX.Element;
//# sourceMappingURL=NavTree.d.ts.map