import { SidebarBadgeTone, SidebarComponentConfig } from './types';
export declare class SidebarComponent {
    private readonly container;
    private readonly aside;
    private readonly config;
    private readonly iconSet;
    private readonly variant;
    private readonly cleanupFns;
    private collapseButton;
    private backdrop;
    constructor(config: SidebarComponentConfig);
    private render;
    private buildSection;
    private buildItem;
    private renderHeader;
    private renderScope;
    private renderCollapseButton;
    private renderFooter;
    private renderBackdrop;
    private setupBehavior;
    private setupKeyboardNavigation;
    private setupMobileToggles;
    /** Mark a nav item as active, removing active state from all others. */
    setActive(itemId: string): void;
    /** Recompute active route state from a supplied pathname or the current location. */
    setPathname(pathname: string | undefined): void;
    /** Update the badge count for a nav item (empty string when count is 0). */
    updateBadge(itemId: string, count: number, tone?: SidebarBadgeTone): void;
    /** Toggle the sidebar between collapsed and expanded states. */
    toggleCollapse(): void;
    /** Collapse the sidebar. */
    collapse(): void;
    /** Expand the sidebar. */
    expand(): void;
    /** Set the mobile open state reflected by the shared CSS contract. */
    setOpen(open: boolean): void;
    /** Remove the sidebar from the DOM. */
    destroy(): void;
    private applyBadge;
    private setCollapsed;
    private isCollapsed;
    private isOpen;
    private getMobileBreakpoint;
    private resolveInitialCollapsed;
    private persistCollapsed;
    private getCurrentPathname;
    private isItemActive;
    private syncActiveRouteState;
    private closeScopeMenus;
    private updateCollapseButton;
}
//# sourceMappingURL=component.d.ts.map