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