import { TasksType, TaskFeildsType, TimeZone, GroupFeildsType, dayInfoType } from "../definitions"; export declare const DAY_IN_MILLISECONDS = 86400000; export declare const WEEK_IN_MILLISECONDS: number; export declare const startDateMilliseconds: number; export declare const endDateMilliseconds: number; export declare function getDayHourlyForWeek(weekOffset: number, timeZone?: TimeZone): { positionDay: number; day: Date; start: number; end: number; }[]; /** * Get daily hours for all days of a specific month. * @param monthOffset - The number of months to offset from current month. * @param timeZone - The optional timezone. * @returns An array of day objects containing start and end timestamps. */ export declare function getDayHourlyForMonth(monthOffset: number, timeZone?: TimeZone): { positionDay: number; day: Date; start: number; end: number; }[]; export declare function millisecondsToDate(milliseconds: number): { formattedDate: string; dayOfWeek: string; }; export declare function millisecondsToInt(milliseconds: number): { formattedDate: string; dayOfWeek: string; }; export declare function getWeekDays(jump: number, timeZone?: TimeZone): { day: string; dayMonth: string; dayYear: number; dayOfTheMonth: number; }[]; /** * Get days of a specific month with an offset. * @param monthOffset - The number of months to offset from current month. * @param timeZone - The optional timezone. * @returns An array of day metadata for the target month. */ export declare function getMonthDay(monthOffset: number, timeZone?: TimeZone): { day: string; dayMonth: string; dayYear: number; dayOfTheMonth: number; }[]; /** * Calculate the week difference between the selected date and the current date. * @param dateSelectionnee - The selected date. * @returns The week difference in days. */ export declare function calculateWeekDifference(dateSelectionnee: Date, timeZone?: TimeZone): number; /** * Calculate the day difference between the selected date and the current date. * @param dateSelectionnee - The selected date. * @param timeZone - The optional timezone. * @returns The difference in days. */ export declare function calculateDayDifference(dateSelectionnee: Date, timeZone?: TimeZone): number; /** * Calculate the month difference between the selected date and the current date. * @param dateSelectionnee - The selected date. * @param timeZone - The optional timezone. * @returns The difference in months. */ export declare function calculateMonthDifference(dateSelectionnee: Date, timeZone?: TimeZone): number; /** * Calculate the number of weeks since an arbitrary origin date (January 1, 2022). * @param annee - The year. * @param numeroSemaine - The week number. * @returns The number of weeks since the origin date. */ /** * Calculates new task properties (position, start/end times) for custom drag and drop or paste operations. * * **Note:** This function relies on `event.dataTransfer` (or `clipboardData`) to retrieve the source task's data. * * @param event - The drag or paste event. * @param positionDay - The new day index target. * @param dropGroupId - The group ID where the task is being dropped. * @param getTask - Function to retrieve a task by its hash and ID. * @param hash - The target bucket hash. * @returns Object containing new timestamps and complete task data. */ export declare function getNewTaskForDropOrPaste(event: any, positionDay: number, dropGroupId: string, getTask: (hash: string, taskId: string) => TaskFeildsType | undefined, hash: string): { taskDropStart: number; taskDropEnd: number; taskDropDate: Date; newTask: any; } | null | undefined; export declare function compareWeekOffset(calendarDate: Date, weekOffset: number, taskDate: Date, timeZone?: TimeZone): boolean; export declare function compareMonthOffset(monthOffset: number, taskDate: Date, timeZone?: TimeZone): boolean; export declare function compareDayOffset(dayOffset: number, taskDate: Date, timeZone?: TimeZone): boolean; export declare const sumHoursByGroups: (groupId: string, tasks: TasksType | any, weekOffset: number, calendarDate: Date, timeZone?: TimeZone) => number; export declare const sumHoursByGroupsForMonth: (groupId: string, tasks: TasksType | any, monthOffset: number, timeZone?: TimeZone) => number; export declare const sumHoursByGroupsForDay: (groupId: string, tasks: TasksType | any, dayOffset: number, timeZone?: TimeZone) => number; export declare function saveTasksToLocalStorage(tasks: TasksType): void; export declare const updateCalendarDateWithOffset: (offset: number, timeZone?: TimeZone) => Date; export declare const updateOffsetWithDateCalendarForWeek: (calendarDate: Date, timeZone?: TimeZone) => number; export declare const updateOffsetWithDateCalendarForMonth: (calendarDate: Date, timeZone?: TimeZone) => number; export declare const updateOffsetWithDateCalendarForDay: (calendarDate: Date, timeZone?: TimeZone) => number; export declare const millisecondsToHours: (milliseconds: number) => string; export declare const checkDuplicates: (tasks: TasksType, taskStart: number, taskEnd: number, groupId: string) => boolean; export declare const getSavedTasks: () => any; export declare const deleteTaskSaved: (taskId: string) => void; export declare const deleteTasksSaved: () => void; export declare function getWeeksInMonth(year: number, month: number): number; export declare function getMonthNumber(monthName: string): number; export declare function getDateObjectInTimeZone(timeZone: string): Date; /** * Returns the current date according to the selected timezone or the local time. * @param timeZone - The optional timezone. * @returns The current date. */ export declare function getCalendarDate(timeZone?: TimeZone): Date; export declare function getArbitraryDateInTimeZone(date: Date, timeZone?: string): Date; export declare function recurringTasks(allTasks: TasksType, task: TaskFeildsType, recurrenceType: "daily" | "weekly" | "monthly", occurrences: number, timeZone?: TimeZone): TaskFeildsType[]; export declare function getHoursByday(tasks: TaskFeildsType[], dayIndex: 0 | 1 | 2 | 3 | 4 | 5 | 6, weekOffset?: number, timeZone?: TimeZone): number; export declare function getHoursByGroup(tasks: TaskFeildsType[], groupId: string, weekOffset?: number, timeZone?: TimeZone): number; export declare function getTaskProgression(task: TaskFeildsType, timeZone?: TimeZone): string | 0 | 100; export declare function convertTasksToIcsFormat(tasks: TaskFeildsType[]): string; export declare function addTask(tasks: TaskFeildsType[], task: TaskFeildsType): TaskFeildsType[]; export declare function deleteTask(tasks: TaskFeildsType[], taskId: string): TaskFeildsType[]; export declare function getTaskInfoById(tasks: TaskFeildsType[], groups: GroupFeildsType[], taskId: string): { group: GroupFeildsType | undefined; task: TaskFeildsType; }; export declare function selectTask(task: TaskFeildsType): void; export declare function deSelectTask(task: TaskFeildsType): void; export declare function copyTasks(task: TaskFeildsType): void; export declare function cutTasks(task: TaskFeildsType, tasks: TaskFeildsType[]): TaskFeildsType[]; export declare function getUniqueId(): string; export declare function pastTasks(dayInfo: dayInfoType, groupId: string, tasks: TaskFeildsType[], taskExpiryDate?: Date, timeZone?: TimeZone): TaskFeildsType[] | undefined; export declare function updateTask(tasks: TaskFeildsType[], taskId: string, newtask: TaskFeildsType): TaskFeildsType[]; export declare function duplicateTasksForPeriod(periodStart: Date, periodEnd: Date, calendarOffset: number, allTasks: TasksType): TasksType; export declare function duplicateTaskForPeriod(periodStart: Date, periodEnd: Date, task: TaskFeildsType, ecartDay?: number, groupId?: string, taskExpiryDate?: Date): TasksType; export declare const GetTimeRangeByDay: (start: number, end: number) => number[]; export declare function totalLabel(milliseconds: number): string; export declare function getHash(weekOffset: number, groupId?: string, dayIndex?: number): { week: string; group: string; day: string; };