import type { BaseSalesScanCodeResult } from '../salesSdk';
export declare type SaleDetailCartItemKind = 'appointment' | 'retail';
export declare type SaleDetailTransactionHabitType = 'pay_now_service_later' | 'service_now_pay_later';
export interface SaleDetailCartItemCardStyle {
    isShowImage: boolean;
    isShowDelete: boolean;
}
export interface SaleDetailTransactionHabit {
    type?: SaleDetailTransactionHabitType;
    buttonRows?: number;
}
declare type SaleDetailBookingConfig = Record<string, any> | null | undefined;
export declare type DiscountFilterRejectKey = 'total_credits' | 'per_user_limit' | 'max_per_day' | 'max_per_week' | 'max_per_month';
export declare type DiscountScanScene = 'goodpass' | 'voucher';
export interface DiscountScanFailResult extends BaseSalesScanCodeResult {
    unavailableReasonKey?: DiscountFilterRejectKey | null;
}
/**
 * 解析 CartItems 的卡片展示配置；bookingConfig 未下发对应字段时保持当前默认展示。
 */
export declare function resolveSaleDetailCartItemCardStyle(bookingConfig: SaleDetailBookingConfig, kind: SaleDetailCartItemKind): SaleDetailCartItemCardStyle;
export declare function resolveSaleDetailShowContactInfo(bookingConfig: SaleDetailBookingConfig): boolean;
export declare function resolveSaleDetailTransactionHabit(bookingConfig: SaleDetailBookingConfig): SaleDetailTransactionHabit;
export declare function getLocalizedDateFormat(): "DD/MM/YYYY" | "YYYY/MM/DD";
export declare function getLocalizedDateTimeFormat(): string;
export declare function formatLocalizedDateTime(value?: string | number | Date | null, emptyText?: string): string;
/**
 * 统一处理扫码失败的多语言提示文案。
 *
 * @param val 扫码接口返回结果
 * @param scene 使用场景，决定默认兜底文案
 * @returns 当前语言下的失败提示文案
 */
export declare function showDiscountScanFailMessage(val: DiscountScanFailResult | null | undefined, scene?: DiscountScanScene): any;
export {};
