import { B as BookingStatus } from './booking-CUy8u7Za.js';

interface PopupTriggerConfig {
    deadlineTime?: string;
    advanceMinutes?: number;
    triggerType: 'after_deadline' | 'before_deadline' | 'always';
}
interface PopupContentConfig {
    title: string;
    message: string;
    confirmText?: string;
    cancelText?: string;
    showCancel?: boolean;
    theme?: 'warning' | 'info' | 'error' | 'success';
}
interface PopupDisplayConfig {
    width?: number;
    height?: number | string;
    maskClosable?: boolean;
    autoCloseSeconds?: number;
}
interface PopupConfig {
    id: string;
    name: string;
    description?: string | null;
    type: string;
    enabled?: boolean | null;
    triggerConfig: PopupTriggerConfig;
    contentConfig: PopupContentConfig;
    displayConfig?: PopupDisplayConfig | null;
    blockProcess?: boolean | null;
    businessModule: string;
    businessScene: string;
    sortOrder?: string | null;
    createdAt?: string | Date | null;
    updatedAt?: string | Date | null;
}

/**
 * ShowMasterpiece 模块 - 预订管理服务
 *
 * 提供预订管理相关的类型定义和服务函数
 *
 * @fileoverview 预订管理服务
 */

/**
 * 预订管理数据接口
 */
interface BookingAdminData {
    /** 预订ID */
    id: number;
    /** 用户ID */
    userId: number;
    /** 用户名 */
    userName: string;
    /** 用户手机号 */
    userPhone: string;
    /** QQ号 */
    qqNumber?: string;
    /** 手机号 */
    phoneNumber?: string;
    /** 画集ID */
    collectionId: number;
    /** 画集标题 */
    collectionTitle: string;
    /** 画集编号 */
    collectionNumber: string;
    /** 画集信息 */
    collection: {
        /** 画集ID */
        id: number;
        /** 画集标题 */
        title: string;
        /** 画集编号 */
        number: string;
        /** 封面图片 */
        coverImage: string;
        /** 价格 */
        price: number;
    };
    /** 预订状态 */
    status: BookingStatus;
    /** 预订时间 */
    bookingTime: string;
    /** 更新时间 */
    updatedAt: string;
    /** 创建时间 */
    createdAt: string;
    /** 管理员备注 */
    adminNotes?: string;
    /** 用户备注 */
    notes?: string;
    /** 领取方式 */
    pickupMethod?: string;
    /** 数量 */
    quantity: number;
    /** 价格 */
    price: number;
    /** 总价格 */
    totalPrice: number;
    /** 确认时间 */
    confirmedAt?: string;
    /** 完成时间 */
    completedAt?: string;
    /** 取消时间 */
    cancelledAt?: string;
}
/**
 * 预订管理统计信息接口
 */
interface BookingAdminStats {
    /** 总预订数 */
    totalBookings: number;
    /** 待处理预订数 */
    pendingBookings: number;
    /** 已确认预订数 */
    confirmedBookings: number;
    /** 已完成预订数 */
    completedBookings: number;
    /** 已取消预订数 */
    cancelledBookings: number;
    /** 总金额 */
    totalAmount: number;
    /** 总收入 */
    totalRevenue: number;
    /** 总数量 */
    totalQuantity: number;
    /** 今日新增预订数 */
    todayBookings: number;
    /** 本周新增预订数 */
    weekBookings: number;
}
/**
 * 预订管理接口响应类型
 */
interface BookingAdminResponse {
    bookings: BookingAdminData[];
    stats: BookingAdminStats;
}
/**
 * 预订管理查询参数
 */
interface BookingAdminQueryParams {
    /** QQ号搜索 */
    qqNumber?: string;
    /** 手机号搜索 */
    phoneNumber?: string;
    /** 状态过滤 */
    status?: BookingStatus | 'all';
}
/**
 * 预订管理服务类
 */
declare class BookingAdminService {
    /**
     * 获取所有预订数据
     */
    static getAllBookings(params?: BookingAdminQueryParams): Promise<BookingAdminData[]>;
    /**
     * 强制刷新获取所有预订数据（绕过所有缓存）
     */
    static forceRefreshAllBookings(params?: BookingAdminQueryParams): Promise<BookingAdminData[]>;
    /**
     * 获取预订统计信息
     */
    static getBookingStats(params?: BookingAdminQueryParams): Promise<BookingAdminStats>;
    /**
     * 强制刷新获取预订统计信息（绕过所有缓存）
     */
    static forceRefreshBookingStats(params?: BookingAdminQueryParams): Promise<BookingAdminStats>;
    /**
     * 更新预订状态
     */
    static updateBookingStatus(bookingId: number, status: BookingStatus, adminNotes?: string): Promise<void>;
    /**
     * 删除预订
     */
    static deleteBooking(bookingId: number): Promise<void>;
    /**
     * 导出预订数据
     */
    static exportBookings(format?: 'csv' | 'excel'): Promise<Blob>;
}
declare const getAllBookings: typeof BookingAdminService.getAllBookings;
declare const getBookingStats: typeof BookingAdminService.getBookingStats;
declare const forceRefreshAllBookings: typeof BookingAdminService.forceRefreshAllBookings;
declare const forceRefreshBookingStats: typeof BookingAdminService.forceRefreshBookingStats;
declare const updateBookingStatus: typeof BookingAdminService.updateBookingStatus;
declare const deleteBooking: typeof BookingAdminService.deleteBooking;
declare const exportBookings: typeof BookingAdminService.exportBookings;

export { BookingAdminService as B, type PopupConfig as P, getBookingStats as a, forceRefreshBookingStats as b, type BookingAdminData as c, deleteBooking as d, exportBookings as e, forceRefreshAllBookings as f, getAllBookings as g, type BookingAdminStats as h, type BookingAdminResponse as i, type BookingAdminQueryParams as j, updateBookingStatus as u };
