import type { DiscountKeyboardValueState } from '../../../../pro/priceKeyboard/components/discountKeyboard/types';
import type { AdjustTimeProduct } from '../types';
import type { AdjustTimeActionKey } from '../components/AdjustTimeActionList';
export declare const ADJUST_TIME_PREFERENCES_KEY = "pisell.adjust-time.modal-preferences";
/**
 * 加时弹窗的本地偏好使用浏览器级缓存：
 * 只记录用户最近一次的操作习惯，不和单个 booking 绑定。
 */
export interface AdjustTimeActionAvailability {
    canProductAddTime: boolean;
    canManualAddTime: boolean;
    canPayOvertime: boolean;
    canRestart: boolean;
}
export interface AdjustTimeModalPreferences {
    action?: AdjustTimeActionKey;
    /** Manual Add time 的结束时间，HH:mm。 */
    manualEndTime?: string;
    priceAction?: AdjustTimeActionKey;
    priceInputState?: DiscountKeyboardValueState;
    /** Amount Due 展示金额仅作历史记录；再次打开时不直接套用，需用户确认键盘后生效。 */
    dueAmount?: number;
    /** 保存前二次确认的本地偏好；true 表示下次点击 Save 直接保存。 */
    skipSaveConfirm?: boolean;
}
/**
 * 从 localStorage 读取时做一次轻量校验，避免旧版本缓存或手动改坏的数据
 * 直接影响弹窗初始化。
 */
export declare const readAdjustTimePreferences: () => AdjustTimeModalPreferences | undefined;
export declare const writeAdjustTimePreferences: (preferences: AdjustTimeModalPreferences) => void;
/** 单独写入保存确认偏好，避免影响用户最近一次加时方式和价格键盘草稿。 */
export declare const writeAdjustTimeSkipSaveConfirm: (skipSaveConfirm: boolean) => void;
/**
 * 恢复左侧 action 时必须重新校验当前可用性：
 * 商品可能已下架，restart/manual/pay overtime 也可能因当前时间变化而不可用。
 */
export declare const resolvePersistedAdjustTimeAction: (action: AdjustTimeActionKey | undefined, products: AdjustTimeProduct[], availability: AdjustTimeActionAvailability) => AdjustTimeActionKey;
/** 只恢复折扣键盘里的草稿选项和数字，不恢复右侧 Amount Due 的显示金额。 */
export declare const resolvePersistedPriceInputState: (preferences: AdjustTimeModalPreferences | undefined, action: AdjustTimeActionKey) => DiscountKeyboardValueState | undefined;
