import { EventEmitter } from '@angular/core';
import { Router } from '@angular/router';
import { IonAccordionGroup, MenuController } from '@ionic/angular/standalone';
import { LinksAccordionLink, LinksAccordionMetadata, LinksAccordionSection } from './types';
import * as i0 from "@angular/core";
/**
 * val-links-accordion
 *
 * A hierarchical navigation component using Ionic accordions.
 * Supports sections with optional sub-links and automatic menu closing.
 *
 * @example
 * <val-links-accordion
 *   [props]="{
 *     sections: [
 *       { title: 'Home', route: ['/'] },
 *       { title: 'Products', links: [
 *         { text: 'Catalog', route: ['/products'] },
 *         { text: 'New Arrivals', route: ['/products', 'new'] }
 *       ]}
 *     ]
 *   }"
 *   (navigate)="onNavigate($event)"
 * ></val-links-accordion>
 *
 * @input props - Accordion configuration
 * @output navigate - Emits route when a link is clicked
 */
export declare class LinksAccordionComponent {
    private router;
    private menuCtrl;
    private i18n;
    /**
     * Accordion configuration.
     */
    props: LinksAccordionMetadata;
    /**
     * Emits the route when a link is clicked.
     */
    navigate: EventEmitter<string[]>;
    accordionGroup: IonAccordionGroup;
    constructor(router: Router, menuCtrl: MenuController);
    /**
     * Gets a unique value for the accordion section.
     */
    getSectionValue(section: LinksAccordionSection, index: number): string;
    /**
     * Gets the section title, supporting i18n via titleKey.
     */
    getSectionTitle(section: LinksAccordionSection): string;
    /**
     * Gets the link text, supporting i18n via textKey.
     */
    getLinkText(link: LinksAccordionLink): string;
    /**
     * Handles link click - closes accordion/menu and navigates.
     */
    onLinkClick(route: string[], event?: Event): Promise<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<LinksAccordionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LinksAccordionComponent, "val-links-accordion", never, { "props": { "alias": "props"; "required": false; }; }, { "navigate": "navigate"; }, never, never, true, never>;
}
