import { Module, PisellCore, ModuleOptions } from '../../types';
import { BaseModule } from '../BaseModule';
import { ScheduleModuleAPI, ScheduleAvailabilityDateItem, ScheduleItem, LoadScheduleAvailableDateParams } from './types';
export declare class ScheduleModule extends BaseModule implements Module, ScheduleModuleAPI {
    protected defaultName: string;
    protected defaultVersion: string;
    private request;
    private store;
    private cacheId;
    private openCache;
    private fatherModule;
    constructor(name?: string, version?: string);
    initialize(core: PisellCore, options: ModuleOptions): Promise<void>;
    /**
     * 加载当前店铺下所有 schedule
     *
     * @memberof ScheduleModule
     */
    loadAllSchedule(): Promise<void>;
    setScheduleList(list: ScheduleItem[]): void;
    loadScheduleAvailableDate({ startDate, endDate, custom_page_id, channel, }: LoadScheduleAvailableDateParams): Promise<import("../Date/types").ITime[]>;
    getScheduleListByIds(ids: number[]): ScheduleItem[];
    setAvailabilityScheduleDateList(list: ScheduleAvailabilityDateItem[]): void;
    getAvailabilityScheduleDateList(): ScheduleAvailabilityDateItem[];
    setOtherProductsIds(ids: number[]): void;
    getOtherProductsIds(): number[];
    storeChange(): void;
    /**
     * 传入一个时间, 判断改时间是否在schedule 内
     * @param param0 { date: string, schedule: any } date: 日期, schedule: schedule
     * @returns
     */
    isInScheduleByDate({ date, schedule, }: {
        date: string;
        schedule: any;
    }): boolean;
    /**
     * 传入一个时间, 判断改时间是否在schedule 内
     * @param param0 { date: string, schedule: any } date: 日期, schedule: schedule
     * @returns
     */
    static isInScheduleByDate({ date, schedule, }: {
        date: string;
        schedule: any;
    }): boolean;
}
