import dayjs from 'dayjs';
import { getDurationValue } from './flexible';
export interface TimeSlice {
    label: string;
    value: string;
}
export interface DurationSlice {
    label: string;
    value: number;
}
export interface TimeSlicesResult {
    timeSlices: TimeSlice[];
    durationSlicesBasedOnTime: DurationSlice[];
}
/**
 * 把一天切成等长时间槽，输出 timeSlices（开始时间标签）与 durationSlicesBasedOnTime（基于切片的时长选项）。
 *
 * 与 info2 `sliceDayIntoFiveMinutes` 行为等价；为了不依赖 `locales`，label 输出原始时间字符串（'08:00 AM' / '90'），
 * UI 侧需要本地化展示时可基于 value 自行包装。
 *
 * @param config booking config `basic.service_time`，{ value: minutes }
 * @param isDay 是否跨日预约（true 时按 1~30 天切片）
 */
export declare function sliceDayIntoFiveMinutes(config: {
    value?: number;
} | undefined | null, isDay?: boolean): TimeSlicesResult;
/**
 * 取「下一个 duration 选项」：优先用 defaultValue；否则在 array 中找匹配的；找不到取第一个。
 * 与 info2 `findNextDuration` 等价。
 */
export declare function findNextDuration(current: {
    value?: number;
} | undefined, array: DurationSlice[], defaultValue?: number): number | undefined;
/** 取首选 time slice：若指定 date（HH:mm）则找第一个 >= date 的；否则第一个。 */
export declare function findNextSlice(params: {
    timeSlices: TimeSlice[];
    index?: number;
    date?: string;
}): string | undefined;
/** 取 endDate；duration='flexible' 时取 endDate 与店铺营业时间的较小值，否则 startDate + duration 分钟。 */
export declare function getEndDate(startDate: dayjs.Dayjs, duration: string | number, endDate: any, shopOpeningHours?: string): dayjs.Dayjs;
export { getDurationValue };
