import { CalendarHeatmapChartDataOptionsInternal } from '../../../../../../../../../domains/visualizations/core/chart-data-options/types.js';
import { HighchartsOptionsInternal } from '../../../../../../../../../domains/visualizations/core/chart-options-processor/chart-options-service.js';
import { CalendarHeatmapChartDesignOptions } from '../../../../../../../../../domains/visualizations/core/chart-options-processor/translations/design-options.js';
import { BeforeRenderHandler } from '../../../../../../../../../props';
import { CalendarHeatmapChartEventProps } from '../../../../../../../../../props.jsx';
import { ContainerSize } from '../../../../../../../../../shared/components/dynamic-size-container/dynamic-size-container';
import { CalendarHeatmapSubtype, CalendarHeatmapViewType } from '../../../../../../../../../types.js';
import { CalendarHeatmapChartData } from '../../data.js';
import { MonthData, MonthInfo } from '../helpers/view-helpers.js';
export interface UseCalendarHeatmapChartOptionsParams {
    chartData: CalendarHeatmapChartData;
    dataOptions: CalendarHeatmapChartDataOptionsInternal;
    designOptions: CalendarHeatmapChartDesignOptions;
    availableMonths: MonthInfo[];
    currentMonth: MonthData;
    subtype: CalendarHeatmapSubtype;
    viewType: CalendarHeatmapViewType;
    containerSize: ContainerSize;
    eventHandlers: Pick<CalendarHeatmapChartEventProps, 'onDataPointClick' | 'onDataPointContextMenu' | 'onDataPointsSelected'>;
    onBeforeRender?: BeforeRenderHandler;
}
/**
 * Custom hook for generating Highcharts options for calendar heatmap charts.
 *
 * Transforms chart data, design options, and event handlers into Highcharts configuration
 * objects for each month in the current view. Each month gets its own chart instance
 * with filtered data and appropriate sizing.
 *
 * @param params - Configuration object containing all required parameters
 * @param params.chartData - The complete calendar heatmap chart data
 * @param params.dataOptions - Internal data options configuration
 * @param params.designOptions - Design and styling options for the chart
 * @param params.availableMonths - Array of all available months
 * @param params.currentMonth - Current month
 * @param params.viewType - View type that determines how many months to display
 * @param params.containerSize - Container size for calculating optimal chart dimensions
 * @param params.eventHandlers - Event handlers for data point interactions
 * @param params.onBeforeRender - Optional callback executed before chart rendering
 * @returns Array of Highcharts options objects, one for each month in the current view
 *
 * @example
 * ```typescript
 * const chartOptionsPerMonth = useCalendarHeatmapChartOptions({
 *   chartData,
 *   dataOptions,
 *   designOptions,
 *   availableMonths,
 *   currentMonth,
 *   viewType,
 *   containerSize,
 *   eventHandlers: { onDataPointClick: handleClick },
 *   onBeforeRender
 * });
 * ```
 */
export declare function useCalendarHeatmapChartOptions({ chartData, dataOptions, designOptions, availableMonths, currentMonth, subtype, viewType, containerSize, eventHandlers, onBeforeRender, }: UseCalendarHeatmapChartOptionsParams): HighchartsOptionsInternal[];
