export declare enum DateHooks {
}
/**
 * 日期模块状态
 */
export interface DateState {
    /**
     * 可用时间列表
     */
    dateList: ITime[];
    /**
     * 日期范围
     */
    dateRange: ITime[];
}
/**
 * 时间
 */
export interface ITime {
    date: string;
    week: string;
    weekNum: number;
    status: 'unavailable' | 'available' | 'lots_of_space' | 'filling_up_fast' | 'sold_out';
    summaryCount?: number;
    availableCount?: number;
    resource?: any[];
    color?: string[];
}
/**
 * 日期模块 API
 */
export interface DateModuleAPI {
    /**
     * 获取资源可用时间列表
     */
    getResourceAvailableTimeList: (params: IGetAvailableTimeListParams) => Promise<ITime[]>;
    /**
     * 设置日期范围
     */
    setDateRange: (range: ITime[]) => void;
    /**
     * 获取资源日期
     */
    getResourceDates: (params: IGetAvailableTimeListParams) => Promise<ITime[]>;
}
export interface IGetAvailableTimeListParams {
    url?: string;
    /** 是否使用缓存 */
    useCache?: boolean;
    /** 查询参数 */
    query?: {
        /** 开始日期 */
        start_date: string;
        /** 结束日期 */
        end_date: string;
        /** 资源ID */
        resource_ids?: Array<number | string>;
    };
    /** 规则 */
    rules?: Array<{
        /**
         * 提前量
         */
        cut_off_time?: {
            future_day?: number;
            unit?: number;
            unit_type?: 'minutes' | 'hours' | 'days';
        };
        /**
         * 资源ID
         */
        resourceFormIds?: number[];
        /**
         * 日程ID
         */
        schedule?: {
            date: string;
            color?: string[];
            isExcluded: boolean;
        }[];
    }>;
    /** 类型：按月查 ｜ 按日查 */
    type?: 'month' | 'day';
}
