import { ContainerSize } from '../../../../../../../../../shared/components/dynamic-size-container/dynamic-size-container';
import { CalendarHeatmapSubtype, CalendarHeatmapViewType } from '../../../../../../../../../types.js';
import { CalendarHeatmapChartData } from '../../data.js';
import { CalendarDayOfWeek } from '../../utils/index.js';
export interface CalendarSize extends ContainerSize {
    cellSize: number;
}
export declare function getViewGridInfo(viewType: CalendarHeatmapViewType, size: ContainerSize, subtype?: CalendarHeatmapSubtype): {
    cols: number;
    rows: number;
};
/**
 * Calculate optimal calendar size based on available container space
 * Ensures calendar cells are perfectly square (width = height)
 */
export declare function calculateCalendarSize(containerSize: ContainerSize, subtype: CalendarHeatmapSubtype, viewType: CalendarHeatmapViewType): CalendarSize;
/**
 * Calculates chart size for a specific chart instance based on its data
 *
 * @param containerSize - Available container size
 * @param subtype - Calendar heatmap subtype
 * @param viewType - View type that determines layout
 * @param chartData - Chart data for this specific instance
 * @param startOfWeek - Week start preference (CalendarDayOfWeek)
 * @returns Calculated chart size with optimal cell dimensions
 */
export declare function calculateChartInstanceSize(containerSize: ContainerSize, subtype: CalendarHeatmapSubtype, viewType: CalendarHeatmapViewType, chartData: CalendarHeatmapChartData, startOfWeek: CalendarDayOfWeek): CalendarSize;
