/// <reference types="react" />
import { CalendarDataItem, ScheduleItem } from "./type";
import dayjs from "dayjs";
export interface FormState {
    data: {};
    schedulesDetail: {
        id?: number;
        show: boolean;
        type?: "standard" | "time-slots" | "designation";
        fromTabKey?: "products" | "schedules" | "resources" | "openHours";
        callback?: (data: ScheduleItem | {
            id: number;
            isRemove: boolean;
        }) => void;
    };
    schedules: {
        list: ScheduleItem[];
        scheduleMap: Record<string, {
            minTime: dayjs.Dayjs | null;
            maxTime: dayjs.Dayjs | null;
            minTimeStr: string | null;
            maxTimeStr: string | null;
            dateRange: {
                start: string;
                end: string;
            }[];
            dateRangeFormat: {
                start: string;
                end: string;
            }[];
        }>;
        scheduleAllMap: Record<string, {
            minTime: dayjs.Dayjs | null;
            maxTime: dayjs.Dayjs | null;
            minTimeStr: string | null;
            maxTimeStr: string | null;
            dateRange: {
                start: string;
                end: string;
            }[];
            dateRangeFormat: {
                start: string;
                end: string;
            }[];
        }>;
    };
    tabKey: "products" | "schedules" | "resources" | "openHours";
    /** 当前日历选择天详情 */
    currentSelectDayDetail?: {
        scheduleIds: [];
        date: "";
        timeStr: string;
    } | null;
    /** 日历数据 */
    calendar: {
        isEdit: boolean;
        allData: CalendarDataItem[];
        editData?: CalendarDataItem[];
    };
    products: {
        list: any[];
        search: string;
        currentProduct: null | any;
        openProductDetailDrawer: boolean;
        openAddSchedulesDrawer: boolean;
    };
    resources: {
        cacheResource: null | any;
    };
    setGlobalState: Function | null;
}
export declare const Provider: (ComponentUi: any) => any, Context: import("react").Context<{
    state: FormState;
} & {
    dispatch: (params: {
        type: string;
        payload: any;
    }) => void;
}>;
