import { ArticleMetadata } from '../article/types';
import { FaqCategory, FaqItem, FaqMetadata } from './types';
import * as i0 from "@angular/core";
/**
* `val-faq`
*
* Organism de preguntas frecuentes. Q&A categorizado con accordion colapsable
* y buscador en vivo. Pensado para vistas FAQ públicas — el caller puede
* reusar la misma data (`FaqMetadata.categories`) para emitir el structured
* data `FAQPage` (JSON-LD) y ganar rich results en buscadores.
*
* Las respuestas (`FaqItem.answer`) son **Markdown** — se parsean con
* `parseMarkdownArticle` y se renderizan vía `val-article`. Soportan links,
* listas, negritas, tablas, etc.
*
* @example
* ```html
*
* ```
*/
export declare class FaqComponent {
private readonly i18n;
private readonly props_;
set props(value: FaqMetadata | undefined);
get props(): FaqMetadata;
/** Término de búsqueda actual. */
private readonly query;
/**
* Cache de respuestas parseadas (Markdown → ArticleMetadata). Se reconstruye
* solo cuando cambian las categorías — el parseo NO corre por keystroke.
* Keyed por id de item (los ids son únicos en toda la FAQ).
*/
private readonly parsedAnswers;
/** Respuesta parseada de un item — desde el cache. */
answerOf(item: FaqItem): ArticleMetadata;
/**
* Categorías visibles tras el filtro. Una categoría desaparece si ninguna
* de sus preguntas matchea. Match sobre pregunta + respuesta (raw markdown),
* case-insensitive.
*/
readonly visibleCategories: import("@angular/core").Signal;
/** `true` si se debe mostrar el label de cada categoría. */
readonly showCategoryLabel: import("@angular/core").Signal;
onSearch(term: string): void;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵcmp: i0.ɵɵComponentDeclaration;
}