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; }