import dayjs from 'dayjs'; /** * @title: 高阶函数结果缓存(Memoization) */ export declare function memoize any>(fn: T): T; declare type RType = (url: string, data?: {} | undefined, config?: {} | undefined) => Promise; declare class Request { private request; constructor(); setRequest(val: any): void; getRequest(): { get: RType; post: RType; put: RType; remove: RType; custom: RType; }; } export declare const request: Request; /** * @title: 格式化持续时长用于展示 * @description: * @param {number} service_times * @return {*} * @Author: zhiwei.Wang * @Date: 2024-04-26 14:00 */ export declare const getDiscountTime: (service_times: number, isDay?: boolean) => string; /** * @title: 格式化跨日预约的时长用于展示 * @description: * @param {number} days * @param {number} minutes * @return {*} */ export declare const getDiscountTimeByDayMinutes: (days: number, minutes: number) => string; /** * @title: 时间切片(带缓存版本) * @description: 使用 memoize 高阶函数包裹 sliceDayIntoFiveMinutes,相同参数时直接返回缓存结果 */ export declare const sliceDayIntoFiveMinutes: (config: any, locale: string, isDay?: boolean) => { timeSlices: { label: string; value: string; }[]; durationSlicesBasedOnTime: { label: string; value: number; }[]; }; export declare const getNowTime: () => string; export declare const isNowTime: (time: string) => boolean; /** * @title: 获取服务的开始时间, 如果是now 转换为当前的时间 * @description: * @param {string} start_time * @return {*} * @Author: zhiwei.Wang * @Date: 2024-04-26 14:03 */ export declare const getServeStartTime: (start_time: string) => string; /** * @title: 格式化服务的 开始时间-结束时间-时长, 用于展示 * @description: * @param {any} item * @param {any} currentDate * @return {*} * @Author: zhiwei.Wang * @Date: 2024-04-26 14:04 */ export declare const getServiceTime: (item: any, currentDate: any) => string; export declare const findNextSlice: ({ timeSlices, index, date, }: { timeSlices: any[]; index?: number | undefined; date?: string | undefined; }) => any; export declare const findNextDuration: (current: any, array: any, defaultValue?: any) => any; export declare const formatProductListByCategory: (list: any, filterItem: any) => unknown[]; export declare const getResourceTimeIsUsable: (item: any, cacheItem: any) => any; /** * @title: 查找是否有可用的time * @description: * @param {any} resourceItem * @return {*} * @Author: zhiwei.Wang * @Date: 2024-01-09 13:57 */ export declare const formatTimes: (resourceItem: any, cacheItem: any) => any; /** * @title: 获取店铺的营业结束时间 * @description: * @return {*} * @Author: zhiwei.Wang * @Date: 2024-02-23 10:00 */ export declare const getShopOpeningHours: () => string; /** * @title: 对灵活时长进行处理 * @description: * @return {*} * @Author: zhiwei.Wang * @Date: 2024-02-23 10:00 */ export declare const flexibleObj: { create: (num: number) => any; getValue: (str: string | number) => number; isFlexible: (str: string | number) => boolean; add: (current: number | string, duration: number) => any; }; /** * @title: 获取结束时间 * @description: 取 endDate | 店铺营业时间 最小的那一个 * @param {any} startDate * @param {string} duration * @param {any} endDate * @return {*} * @Author: zhiwei.Wang * @Date: 2024-02-23 10:01 */ export declare const getEndDate: (startDate: any, duration: string | number, endDate: any) => any; export declare const getServiceTimes: (service: any) => { startDate: dayjs.Dayjs; endDate: dayjs.Dayjs; }; export declare const getErrorList: (resource: any, cacheItem: any, isDay?: boolean) => { label: any; type: string; }[]; /** * @title: 格式化资源, 添加自定义参数 * @description: * @param {any} resourceItem * @return {*} * @Author: zhiwei.Wang * @Date: 2024-01-09 13:40 */ export declare const formatResource: (resourceItem: any, cacheItem?: any, formatLabel?: any) => any; export declare const getLastServer: (list: any) => any; export declare const getCacheParams: () => any; export declare const deleteCacheParams: () => void; /** * @title: 获取跨日预约的时长 * @description: * @param {any} cacheItem * @return {*} * @Author: WangHan * @Date: 2024-12-01 22:43 */ export declare const getDays: (cacheItem: any, type: 'minutes' | 'days') => any; export declare const isSessionProduct: (cacheItem: any) => boolean; export declare const getIsEject: (item: any, type: 'select' | 'detail') => any; export declare const getIsOnlySession: (item: any) => boolean; /** * @title: 创建一个服务商品 * @description: * @param {any} state * @param {any} item * @return {*} * @Author: zhiwei.Wang * @Date: 2024-01-26 14:09 */ export declare const getServerItemExtend: (state: any, cacheItem: any, timeObj: any) => any; export declare const getMainPrice: (item: any, price?: number) => number; export declare const getProductTotalPrice: (item: any, options?: { isUseExtendPrice?: boolean; }) => number; /** * @title: 判断 duration * @description: 用于处理不同格式的duration * @param {number} duration * @return {*} * @Author: zhiwei.Wang * @Date: 2024-02-23 10:02 */ export declare const getDuration: (duration: number | { type: string; value: number; }) => number | { type: string; value: number; } | "flexible"; export declare const isWalkIn: (customer_id?: number | string) => boolean; export declare const getIsEdit: (state: any) => boolean; export declare type DiscountFilterRejectKey = 'total_credits' | 'per_user_limit' | 'max_per_day' | 'max_per_week' | 'max_per_month'; /** * 统一处理扫码失败的 Toast 提示 * @param val 接口返回的结果 * @param scene 场景:goodpass / voucher */ export declare function showDiscountScanFailMessage(val: any, scene: "goodpass" | "voucher" | undefined, locales: any): any; export {};