import type { DashboardPeriod } from '../types'; import type { WidgetUserParams } from '../api/widgetEnvelope'; /** * Fuente de datos secundaria de un indicador. * * Un indicador puede declarar OTRA entrada del catálogo como fuente adicional * (`config_schema.series.widgetId`), y se pide por el mismo proxy que la suya. Eso * es lo que permite que un KPI tenga sparkline sin inventar un endpoint nuevo: * * - Autorización: la del widget referenciado. Y es lo correcto — si el * usuario no puede ver ese indicador, no se le filtra por un sparkline. * - Caché y TTL: los suyos, por su `refresh_policy`. * - Cualquier fuente: lo que el proxy alcance por HTTP, incluido un * adaptador del host delante de BigQuery o de la transaccional. * * La clave de consulta es deliberadamente la misma que usaría ese widget si * estuviera en pantalla: si el gráfico grande ya está en el tablero, el sparkline * sale de su misma entrada de caché y no cuesta ninguna petición. * * Es secundaria de verdad: nunca bloquea. El widget principal pinta con lo * suyo y esto entra después; si tarda, falla o llega vacío, no pasa nada. */ export interface SecondarySourceConfig { widgetId: string; /** * Parámetros extra para el proxy — p. ej. `{ points: 7 }`. * * Valores primitivos, como los admite el DTO del proxy: viajan como query en un * `GET` y como cuerpo JSON en un `POST`. * * ⚠️ Cambian la respuesta, así que entran en la clave de caché: con ellos, esta consulta * deja de compartir entrada con el fetch del widget referenciado —que pide sin ellos— y cada * una guarda lo suyo. Sin ellos, la clave es idéntica y la entrada se comparte, que es el caso * que ahorra la petición. */ userParams?: WidgetUserParams; } export declare function useSecondarySource(config: SecondarySourceConfig | undefined, period: DashboardPeriod, enabled?: boolean): number[] | null; //# sourceMappingURL=useSecondarySource.d.ts.map