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
*
*
* @input props - Accordion configuration
* @output navigate - Emits route when a link is clicked
*/
export declare class LinksAccordionComponent {
private router;
private menuCtrl;
private i18n;
private elementRef;
/**
* Accordion configuration.
*/
props: LinksAccordionMetadata;
/**
* Emits the route when a link is clicked.
*/
navigate: EventEmitter;
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.
*/
/**
* Estado del rail. El accordion no lo recibe por input: lo lee del mismo
* atributo que publica `val-menu` y que ya usan el contenido y la barra
* inferior. Un input obligaría a cada app a cablearlo.
*/
private isRailCollapsed;
/**
* Pide al menú que se expanda. Con el rail angosto no hay lugar para
* desplegar una sección con hijos, así que primero se abre el rail.
*/
private requestRailExpand;
/** Sección con ruta propia: navega igual esté el rail abierto o cerrado. */
onSectionClick(section: LinksAccordionSection, event?: Event): Promise;
/** Cabecera de una sección que solo agrupa hijos. */
onGroupHeaderClick(event: Event): void;
onLinkClick(route: string[], event?: Event): Promise;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}