import { EventEmitter, OnInit, OnChanges, SimpleChanges } from '@angular/core';
import { Router } from '@angular/router';
import { DocsSidebarMetadata, DocsSidebarSection, DocsSidebarLink } from './types';
import * as i0 from "@angular/core";
/**
 * val-docs-sidebar
 *
 * A hierarchical navigation sidebar for documentation sites.
 * Supports collapsible sections, active route highlighting, and badges.
 *
 * @example Basic usage
 * ```html
 * <val-docs-sidebar
 *   [props]="{
 *     logo: { src: '/assets/logo.svg', alt: 'Docs', title: 'DOCS' },
 *     sections: [
 *       { title: 'Getting Started', route: ['/docs', 'getting-started'] },
 *       {
 *         title: 'Components',
 *         expanded: true,
 *         children: [
 *           { label: 'Button', route: ['/docs', 'components', 'button'] },
 *           { label: 'Card', route: ['/docs', 'components', 'card'], badge: 'New' }
 *         ]
 *       }
 *     ]
 *   }"
 *   (navigate)="onNavigate($event)"
 * ></val-docs-sidebar>
 * ```
 */
export declare class DocsSidebarComponent implements OnInit, OnChanges {
    private router;
    props: DocsSidebarMetadata;
    navigate: EventEmitter<string[]>;
    expandedSections: Record<string, boolean>;
    private currentRoute;
    constructor(router: Router);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    private initializeExpandedSections;
    private updateCurrentRoute;
    private autoExpandActiveSection;
    onSectionClick(section: DocsSidebarSection): void;
    onNavigate(route: string[]): void;
    isSectionActive(section: DocsSidebarSection): boolean;
    isLinkActive(link: DocsSidebarLink): boolean;
    private routesMatch;
    static ɵfac: i0.ɵɵFactoryDeclaration<DocsSidebarComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DocsSidebarComponent, "val-docs-sidebar", never, { "props": { "alias": "props"; "required": false; }; }, { "navigate": "navigate"; }, never, never, true, never>;
}
