import { ChartType } from '../../../../../types.js';
/** Returns a defensive copy of the set of valid chart types. */
export declare function getValidChartTypes(): Set<string>;
/** Frozen array of chart types valid for NLQ translation (excludes 'image') */
export declare const VALID_CHART_TYPES_ARRAY: readonly string[];
/** Top-level ChartJSON keys */
export declare const CHART_JSON_TOP_LEVEL_KEYS: readonly ["chartType", "dataOptions", "styleOptions", "filters", "highlights"];
/** Valid dataOptions axis keys (union of all chart types) */
export declare const VALID_DATA_OPTIONS_KEYS: Set<string>;
/** Per-chart-type axes metadata: valid axes and required axes */
export declare const CHART_TYPE_AXES_METADATA: Record<string, {
    validAxes: Set<string>;
    requiredAxes: string[];
}>;
/** Known dimension axes (used for axis type detection) */
export declare const DIMENSION_AXES: Set<string>;
/** Known measure axes (used for axis type detection) */
export declare const MEASURE_AXES: Set<string>;
/**
 * Returns valid/required axes metadata for a chart type.
 * Returns defensive copies so callers cannot mutate shared structures.
 *
 * @param chartType - The chart type to look up
 * @returns Metadata (with new Set and array copies) or undefined if chart type is unknown
 */
export declare function getChartTypeMetadata(chartType: string): {
    validAxes: Set<string>;
    requiredAxes: readonly string[];
} | undefined;
/**
 * Type guard: value is a valid ChartType for NLQ translation.
 */
export declare function isValidChartType(value: unknown): value is ChartType;
/**
 * Checks if a key is a valid dataOptions axis.
 */
export declare function isValidDataOptionsKey(key: string): boolean;
