import { SxProps, Theme } from '@mui/material/styles';
import { ComponentSize } from '../types';
import { NavSection } from './types';
export interface NavMenuProps {
    sections: NavSection[];
    selected?: string;
    onSelect?: (id: string) => void;
    size?: ComponentSize;
    /** Make the menu scrollable within its container. */
    scrollable?: boolean;
    /** Start all collapsible items expanded. Defaults to false. */
    defaultExpanded?: boolean;
    /** Animate expand/collapse transitions. Defaults to true. */
    animate?: boolean;
    /** Initial expanded state to merge over computed defaults (e.g. from persistence). */
    initialExpandedState?: Record<string, boolean>;
    /** Called whenever expanded state changes (for external persistence). */
    onExpandedChange?: (state: Record<string, boolean>) => void;
    sx?: SxProps<Theme>;
}
/** Walk the section tree and return IDs of all ancestor items containing the target. */
export declare function findAncestors(sections: NavSection[], targetId: string): string[];
declare function NavMenu({ sections, selected, onSelect, size, scrollable, defaultExpanded, animate, initialExpandedState, onExpandedChange, sx, }: NavMenuProps): import("react/jsx-runtime").JSX.Element;
declare namespace NavMenu {
    var displayName: string;
}
export default NavMenu;
