import { type JSX, type ReactNode } from 'react';
import { SidebarCollapseToggle as SidebarNavigationCollapseToggle } from '../../../backoffice/molecules/sidebar_collapse_toggle/SidebarCollapseToggle.js';
import { type SidebarNavSectionItemData } from '../../../backoffice/molecules/sidebar_nav_section/SidebarNavSection.js';
export type SidebarNavigationItem = {
    id: string;
    label: ReactNode;
    href?: string;
    icon?: ReactNode;
    badge?: ReactNode;
    isActive?: boolean;
    exact?: boolean;
    disabled?: boolean;
    onClick?: () => void;
    children?: readonly SidebarNavigationItem[];
    actionSlot?: ReactNode;
    dragHandleSlot?: ReactNode;
    dragHandleLabel?: string;
    actionsVisibility?: 'auto' | 'always';
    ariaLabel?: string;
    data?: SidebarNavSectionItemData;
};
export type SidebarNavigationReorder = {
    enabled: boolean;
    onReorder: (fromId: string, toId: string) => void;
};
export type SidebarNavigationSection = {
    id: string;
    title?: ReactNode;
    icon?: ReactNode;
    items: readonly SidebarNavigationItem[];
    collapsible?: boolean;
    isCollapsed?: boolean;
    defaultCollapsed?: boolean;
    onCollapsedChange?: (collapsed: boolean) => void;
    reorder?: SidebarNavigationReorder;
};
export type SidebarNavigationSize = 'standard' | 'compact';
export type SidebarNavigationProps = {
    header?: ReactNode;
    search?: ReactNode;
    footer?: ReactNode;
    sections: readonly SidebarNavigationSection[];
    isCollapsed?: boolean;
    defaultCollapsed?: boolean;
    onCollapsedChange?: (collapsed: boolean) => void;
    collapseToggleLabel?: ReactNode;
    expandToggleLabel?: ReactNode;
    collapseShortcut?: readonly string[] | string;
    navigationAriaLabel?: string;
    hideCollapseToggle?: boolean;
    size?: SidebarNavigationSize;
    className?: string;
};
export declare const SidebarNavigation: ({ header, search, footer, sections, isCollapsed, defaultCollapsed, onCollapsedChange, collapseToggleLabel, expandToggleLabel, collapseShortcut, navigationAriaLabel, hideCollapseToggle, size, className, }: SidebarNavigationProps) => JSX.Element;
export { SidebarNavigationCollapseToggle };
export default SidebarNavigation;
//# sourceMappingURL=SidebarNavigation.d.ts.map