import { GanttDateCell, GanttWeekGroup, GanttViewMode, GanttTask, FlatTask } from './gantt-types'; declare function normalizeDate(d: Date | string): Date; declare function addDays(date: Date, days: number): Date; declare function diffDays(a: Date, b: Date): number; declare function isSameDay(a: Date, b: Date): boolean; export declare function generateDateCells(start: Date, end: Date, isHoliday: (date: Date) => boolean): GanttDateCell[]; export declare function generateWeekGroups(dateCells: GanttDateCell[], viewMode: GanttViewMode): GanttWeekGroup[]; export declare function generateSecondaryHeaders(dateCells: GanttDateCell[], viewMode: GanttViewMode): GanttWeekGroup[]; export declare function generateMonthCells(start: Date, end: Date, _isHoliday?: (date: Date) => boolean): GanttDateCell[]; export declare function generateQuarterCells(start: Date, end: Date): GanttDateCell[]; export declare function generateYearCells(start: Date, end: Date): GanttDateCell[]; export declare function flattenTasks(tasks: GanttTask[], collapsedIds: Set, depth?: number, parentId?: string): FlatTask[]; export declare function getTaskBarPosition(task: GanttTask, startDate: Date, columnWidth: number, viewMode: GanttViewMode): { left: number; width: number; startCol: number; endCol: number; } | null; export declare function columnToDate(_columnIndex: number, startDate: Date, columnWidth: number, pixelOffset: number, viewMode: GanttViewMode): Date; export declare function getDefaultColumnWidth(viewMode: GanttViewMode): number; export declare function computeDateRange(tasks: GanttTask[], viewMode: GanttViewMode, startDate?: Date | string, endDate?: Date | string): { start: Date; end: Date; }; export declare function getTodayColumnIndex(_startDate: Date, dateCells: GanttDateCell[]): number; export declare function getMarkerPosition(markerDate: Date | string, startDate: Date, columnWidth: number, viewMode: GanttViewMode): number; export { normalizeDate, addDays, diffDays, isSameDay };