/**
* Selección automática del tipo de gráfico.
*
* El problema que resuelve. P7 —"la dona no escala a ocho categorías"— no se
* arregla inventando un tipo nuevo: se arregla corrigiendo el default. Hoy una
* distribución por categoría cae en Circular, y una dona con ocho segmentos es
* ilegible por construcción, use la paleta que use.
*
* Circular nunca es el resultado automático. Sigue disponible, pero como
* decisión consciente de quien crea el widget — que es donde una dona rinde: parte
* de un todo, con muy pocos segmentos.
*/
/**
* Si una dimensión es temporal.
*
* Se mira primero el NOMBRE del campo y después el contenido, en ese orden: un
* campo llamado `fecha` es temporal aunque sus valores lleguen como texto libre,
* que es lo habitual cuando el endpoint ya formateó las etiquetas ("Ene", "Feb").
*/
export declare function isTemporalDimension(fieldName: string, sampleValues?: unknown[]): boolean;
export interface SuggestChartTypeInput {
/** Campo que hace de dimensión. Vacío si la métrica es un escalar. */
categoryField?: string;
/** Cuántos puntos trae la consulta. */
pointCount: number;
/** Muestra de valores de la dimensión, para el segundo criterio de temporalidad. */
sampleValues?: unknown[];
/** Cuántas series numéricas hay. */
valueCount?: number;
}
/**
* El tipo que corresponde a una consulta cuando el usuario no elige uno.
*
* ```
* escalar sin dimensión → KPI
* temporal con más de 12 puntos → Líneas
* temporal con 12 puntos o menos → Barras verticales
* cualquier otro caso → Barras horizontales
* ```
*
* El corte en 12 no es arbitrario: es el punto en el que las barras se vuelven más
* angostas que el espacio entre ellas y la serie se lee mejor como trazo continuo.
*/
export declare function suggestChartType(input: SuggestChartTypeInput): string;
/**
* Si conviene avisar al usuario de que eligió una dona para demasiadas categorías.
*
* No lo impide —es su decisión— pero la dona agrupa a partir de 5 segmentos, y
* conviene que sepa que va a ver un "Otros" antes de publicarlo.
*/
export declare function shouldWarnAboutDonut(tipo: string, pointCount: number): boolean;
//# sourceMappingURL=suggestChartType.d.ts.map