import { ScheduleFormData, ScheduleFormOtherValue, ScheduleItem, ScheduleAllMap } from './types';
/**
 * 根据日程配置生成日历数据
 * @param values
 * @param others
 * @param type
 */
export declare const calcCalendarDataBySchedule: (values: ScheduleFormData, others: ScheduleFormOtherValue, type?: 'standard' | 'time-slots' | 'designation') => any[];
/**
 * 获取开始时间和结束时间之间的所有日期
 * @param startDate
 * @param endDate
 */
export declare const getDaysByStartEnd: (startDate: any, endDate: any) => string[];
/**
 * 根据标准日程计算日历数据
 * @param values
 * @param others
 */
export declare const calcCalendarDataByStandard: (values: ScheduleFormData, others: ScheduleFormOtherValue, isGetRange?: boolean) => any[];
/**
 * 根据多时间段计算日历数据
 * @param values
 * @param others
 */
export declare const calcCalendarDataByTimeSlots: (values: ScheduleFormData, others: ScheduleFormOtherValue, isGetRange?: boolean) => any[];
/**
 * 根据指定日期计算日历数据
 * @param values
 * @param others
 */
export declare const calcCalendarDataByDesignation: (values: ScheduleFormData, others: ScheduleFormOtherValue, isGetRange?: boolean) => any[];
export declare const isAllDay: (value: ScheduleItem) => boolean;
/**
 * 根据接口返回的Schedule计算日历数据
 * @param schedule
 */
export declare const calcCalendarDataByScheduleResult: (schedule: ScheduleItem) => any[];
/**
 * 接口返回schedule转换格式
 * @param schedule
 */
export declare const formatScheduleResult: (schedule: ScheduleItem) => {
    scheduleFormData: Partial<ScheduleFormData>;
    scheduleFormOtherValue: ScheduleFormOtherValue;
};
export declare const calcScheduleDateRange: (schedule: ScheduleItem) => any[];
export declare const calcCalendarDataBySchedules: (schedules: ScheduleItem[]) => unknown[];
export declare const calcMinTimeMaxTimeBySchedules: (schedules: ScheduleItem[], scheduleAllMap?: ScheduleAllMap, selectDate?: string) => {};
/**
 * @title: 格式化日程数据
 * @description:
 * @param {Array} relation 资源列表
 * @param {string} table_type 关联表类型
 * @param {string} item_type 资源类型
 * @param {boolean} isExcluded 是否排除
 * @return {*}
 * @Author: WangHan
 * @Date: 2024-09-04 11:54
 */
export declare const formatScheduleData: (relation: Array<any>, table_type?: string, item_type?: string, isExcluded?: boolean) => any;
export interface TimeRange {
    start: string;
    end: string;
    count?: number;
}
export declare function getAllSortedDateRanges(schedules: Record<string, any>): TimeRange[];
