import { Attribute, Measure } from '@sisense/sdk-data';
import { CalendarHeatmapChartDataOptions, CalendarHeatmapChartDataOptionsInternal } from '../../../../../../../../domains/visualizations/core/chart-data-options/types.js';
import { ChartDataOptionsInternal } from '../../../../../../../../domains/visualizations/core/chart-data-options/types.js';
import { ChartDataOptions } from '../../../../../../../../types';
/**
 * Translates calendar heatmap chart data options from user format to internal format
 *
 * Converts user-provided data options to the internal format used by the chart engine,
 * applying default date formatting and normalizing columns.
 * Ensures that the date attribute has 'day' level granularity, which is required
 * for proper calendar heatmap visualization.
 *
 * @param dataOptions - User-provided calendar heatmap chart data options
 * @returns Normalized internal data options
 */
export declare function translateCalendarHeatmapChartDataOptions(dataOptions: CalendarHeatmapChartDataOptions): CalendarHeatmapChartDataOptionsInternal;
/**
 * Extracts attributes from calendar heatmap chart data options
 *
 * Returns an array of attributes that can be used for data queries.
 * For calendar heatmaps, this typically includes the date attribute.
 *
 * @param dataOptions - Internal calendar heatmap chart data options
 * @returns Array of attributes extracted from the data options
 */
export declare function getCalendarHeatmapAttributes(dataOptions: CalendarHeatmapChartDataOptionsInternal): Attribute[];
/**
 * Extracts measures from calendar heatmap chart data options
 *
 * Returns an array of measures that can be used for data queries.
 * For calendar heatmaps, this typically includes the value measure.
 *
 * @param dataOptions - Internal calendar heatmap chart data options
 * @returns Array of measures extracted from the data options
 */
export declare function getCalendarHeatmapMeasures(dataOptions: CalendarHeatmapChartDataOptionsInternal): Measure[];
/**
 * Type guard to check if data options are valid for calendar heatmap charts
 *
 * Validates that the provided data options contain the required properties
 * for calendar heatmap charts (date and value).
 *
 * @param dataOptions - Data options to validate
 * @returns True if the data options are valid for calendar heatmap charts
 */
export declare function isCalendarHeatmapChartDataOptions(dataOptions: ChartDataOptions): dataOptions is CalendarHeatmapChartDataOptions;
/**
 * Type guard to check if internal data options are valid for calendar heatmap charts
 *
 * Validates that the provided internal data options contain the required properties
 * and are properly structured for calendar heatmap charts.
 *
 * @param dataOptions - Internal data options to validate
 * @returns True if the internal data options are valid for calendar heatmap charts
 */
export declare function isCalendarHeatmapChartDataOptionsInternal(dataOptions: ChartDataOptionsInternal): dataOptions is CalendarHeatmapChartDataOptionsInternal;
