import { CalendarHeatmapChartDesignOptions } from '../../../../../../../../../../domains/visualizations/core/chart-options-processor/translations/design-options.js';
import { DateFormatter } from '../../../../../../../../../../shared/formatters/create-date-formatter.js';
import { CalendarHeatmapChartData } from '../../../data.js';
import { CalendarDayOfWeek } from '../../../utils/calendar-utils.js';
/**
 * Represents a calendar chart data point for Highcharts
 */
export interface CalendarChartDataPoint {
    /** X coordinate (day of week, 0-6) */
    x: number;
    /** Y coordinate (week row, 0-5) */
    y: number;
    /** Data value or null for cells without data */
    value: number | null;
    /** Date timestamp */
    date: number;
    /** Date string for tooltip display */
    dateString?: string;
    /** Custom color override */
    color?: string;
    /** Class name for the data point */
    className?: string;
    /** Custom properties for the data point */
    custom: {
        /** Day of the month (1-31) */
        monthDay?: number;
        /** Whether this cell has data */
        hasData?: boolean;
        /** Whether this data point should be blurred for highlighting */
        blur?: boolean;
    };
}
/**
 * Generates calendar chart data for a single month with provided data values (split view)
 *
 * @param data - Array of data points with dates and values
 * @param dateFormatter - Date formatter function
 * @param startOfWeek - Week start preference
 * @param weekendsConfig - Weekend configuration (days, cellColor, hideValues)
 * @returns Array of calendar chart data points formatted for Highcharts
 */
export declare function generateSplitCalendarChartData(data: CalendarHeatmapChartData, dateFormatter: DateFormatter, startOfWeek: CalendarDayOfWeek, weekendsConfig: CalendarHeatmapChartDesignOptions['weekends']): CalendarChartDataPoint[];
/**
 * Generates calendar chart data for multiple months in continuous layout (GitHub-like layout)
 *
 * @param data - Array of data points with dates and values from multiple months
 * @param dateFormatter - Date formatter function
 * @param startOfWeek - Week start preference
 * @param weekendsConfig - Weekend configuration (days, cellColor, hideValues)
 * @returns Array of calendar chart data points formatted for continuous Highcharts layout
 */
export declare function generateContinuousCalendarChartData(data: CalendarHeatmapChartData, dateFormatter: DateFormatter, startOfWeek: CalendarDayOfWeek, weekendsConfig: CalendarHeatmapChartDesignOptions['weekends']): CalendarChartDataPoint[];
