import React__default from 'react';
import { A as ArtCollection, a as ArtworkPage } from '../../../index-BOMkk6bM.js';
export { G as GenericOrderManager } from '../../../GenericOrderManager-e4WizpNf.js';
import { d as CollectionSummary, B as BookingStatus } from '../../../booking-By-eu9GS.js';
import { c as BookingAdminData, h as BookingAdminStats, j as BookingAdminQueryParams, P as PopupConfig } from '../../../bookingAdminService-CjKhLPUR.js';

/**
 * 画集卡片组件 (CollectionCard) - Tailwind CSS 版本
 *
 * 这是一个用于展示单个画集信息的卡片组件，主要用于画集列表页面。
 *
 * 主要功能：
 * - 画集封面图片展示（支持懒加载）
 * - 画集基本信息显示（标题、编号、分类、描述等）
 * - 作品页数统计显示
 * - 点击进入画集浏览
 *
 * 性能优化特性：
 * - 图片懒加载（Intersection Observer API）
 * - 加载状态和错误处理
 * - Tailwind CSS 样式
 *
 * @component
 */

/**
 * CollectionCard 组件的 Props 接口
 */
interface CollectionCardProps {
    /** 要展示的画集数据 */
    collection: ArtCollection;
    /** 用户ID */
    userId: number;
    /** 用户选择画集时的回调函数 */
    onSelect: (collection: ArtCollection) => void;
}
/**
 * 画集卡片组件主体
 *
 * @param props - 组件属性
 * @param props.collection - 画集数据对象
 * @param props.userId - 用户ID
 * @param props.onSelect - 选择画集的回调函数
 * @returns React函数组件
 */
declare const CollectionCard: React__default.FC<CollectionCardProps>;

interface ArtworkViewerProps {
    artwork: ArtworkPage;
    collectionId: number;
    onNext: () => void;
    onPrev: () => void;
    canGoNext: boolean;
    canGoPrev: boolean;
}
declare const ArtworkViewer: React__default.FC<ArtworkViewerProps>;

interface MobileAlbumViewerProps {
    artworks: ArtworkPage[];
    collectionId: number;
    currentIndex: number;
    onIndexChange: (index: number) => void;
    onNext: () => void;
    onPrev: () => void;
    canGoNext: boolean;
    canGoPrev: boolean;
}
declare const MobileAlbumViewer: React__default.FC<MobileAlbumViewerProps>;

interface ThumbnailSidebarProps {
    pages: ArtworkPage[];
    currentPage: number;
    onPageSelect: (pageIndex: number) => void;
}
declare const ThumbnailSidebar: React__default.FC<ThumbnailSidebarProps>;

interface CollectionOrderManagerV2Props {
    onOrderChanged?: () => void;
    moveCollectionUp?: (id: number) => Promise<void>;
    moveCollectionDown?: (id: number) => Promise<void>;
    updateCollectionOrder?: (orders: {
        id: number;
        displayOrder: number;
    }[]) => Promise<void>;
}
declare function CollectionOrderManagerV2({ onOrderChanged, moveCollectionUp: propMoveCollectionUp, moveCollectionDown: propMoveCollectionDown, updateCollectionOrder: propUpdateCollectionOrder }: CollectionOrderManagerV2Props): React__default.JSX.Element;

interface ArtworkOrderManagerV2Props {
    collectionId: number;
    onOrderChanged?: () => void;
    moveArtworkUp?: (collectionId: number, id: number) => Promise<void>;
    moveArtworkDown?: (collectionId: number, id: number) => Promise<void>;
    updateArtworkOrder?: (collectionId: number, orders: {
        id: number;
        pageOrder: number;
    }[]) => Promise<void>;
}
declare function ArtworkOrderManagerV2({ collectionId, onOrderChanged, moveArtworkUp: propMoveArtworkUp, moveArtworkDown: propMoveArtworkDown, updateArtworkOrder: propUpdateArtworkOrder }: ArtworkOrderManagerV2Props): React__default.JSX.Element;

/**
 * 通用图片上传组件
 * 使用通用文件服务，支持阿里云OSS存储
 * 可在画集封面和作品图片之间复用
 *
 * 修复记录：
 * - 2026-01-19: 修复封面图片上传覆盖问题
 *   为封面图片生成唯一文件夹路径（包含时间戳和随机ID），避免新画集覆盖历史画集的封面图片
 * - 2026-01-19: 修复图片链接过期问题
 *   为封面图片路径添加文件扩展名，确保被正确识别为图片文件，避免生成带过期时间的签名URL
 */

interface UniversalImageUploadProps {
    /** 当前图片值（URL） */
    value?: string;
    /** 通用文件服务的文件ID */
    fileId?: string;
    /** 值变化回调，返回包含image和fileId的对象 */
    onChange: (data: {
        image?: string;
        fileId?: string;
    }) => void;
    /** 占位符文本 */
    placeholder?: string;
    /** 标签文本 */
    label?: string;
    /** 是否禁用 */
    disabled?: boolean;
    /** 业务类型：cover(封面) 或 artwork(作品) */
    businessType?: 'cover' | 'artwork';
    /** 是否显示调试信息 */
    showDebugInfo?: boolean;
    /** 是否显示测试按钮 */
    showTestButton?: boolean;
    /** 自定义样式类名 */
    className?: string;
}
declare const UniversalImageUpload: React__default.FC<UniversalImageUploadProps>;

/**
 * ShowMasterpiece 模块 - 购物车弹窗组件
 *
 * @fileoverview 购物车弹窗组件
 */

/**
 * 购物车弹窗组件属性
 */
interface CartModalProps {
    /** 用户ID */
    userId: number;
    /** 是否显示弹窗 */
    isOpen: boolean;
    /** 关闭弹窗回调 */
    onClose: () => void;
    /** 弹窗标题 */
    title?: string;
    /** 弹窗宽度 */
    width?: number | string;
    /** 弹窗高度 */
    height?: number | string;
}
/**
 * 购物车弹窗组件
 *
 * @param props 组件属性
 * @returns React组件
 */
declare const CartModal: React__default.FC<CartModalProps>;

/**
 * ShowMasterpiece 模块 - 购物车页面组件
 *
 * 完整的购物车页面，包含：
 * - 购物车商品列表展示
 * - 商品数量调整
 * - 商品移除功能
 * - 批量预订表单
 * - 提交和状态管理
 *
 * @fileoverview 购物车页面组件
 */

/**
 * 购物车页面组件属性
 */
interface CartPageProps {
    /** 用户ID */
    userId: number;
    /** 关闭回调 */
    onClose?: () => void;
}
/**
 * 购物车页面组件
 *
 * @param props 组件属性
 * @returns React组件
 */
declare const CartPage: React__default.FC<CartPageProps>;

/**
 * ShowMasterpiece 模块 - 购物车按钮组件
 *
 * 显示购物车图标和商品数量的按钮组件，点击可打开购物车弹窗
 *
 * @fileoverview 购物车按钮组件
 */

/**
 * 购物车按钮组件属性
 */
interface CartButtonProps {
    /** 用户ID */
    userId: number;
    /** 点击回调 */
    onClick: () => void;
    /** 按钮样式类名 */
    className?: string;
    /** 是否显示商品数量 */
    showBadge?: boolean;
}
/**
 * 购物车按钮组件
 *
 * @param props 组件属性
 * @returns React组件
 */
declare const CartButton: React__default.FC<CartButtonProps>;

/**
 * ShowMasterpiece 模块 - 添加到购物车按钮组件
 *
 * 用于将画集添加到购物车的按钮组件
 *
 * @fileoverview 添加到购物车按钮组件
 */

/**
 * 添加到购物车按钮组件属性
 */
interface AddToCartButtonProps {
    /** 画集信息 */
    collection: ArtCollection;
    /** 用户ID */
    userId: number;
    /** 按钮样式类名 */
    className?: string;
    /** 按钮大小 */
    size?: 'sm' | 'md' | 'lg';
    /** 是否显示数量选择器 */
    showQuantitySelector?: boolean;
}
/**
 * 添加到购物车按钮组件
 *
 * @param props 组件属性
 * @returns React组件
 */
declare const AddToCartButton: React__default.FC<AddToCartButtonProps>;

/**
 * ShowMasterpiece 模块 - 画集列表组件
 *
 * 用于预订页面展示画集简略信息，包括：
 * - 画集封面和标题
 * - 艺术家信息
 * - 价格显示
 * - 选择功能
 *
 * @fileoverview 画集列表组件
 */

/**
 * 画集列表组件属性
 */
interface CollectionListProps {
    /** 画集列表 */
    collections: CollectionSummary[];
    /** 当前选中的画集ID */
    selectedCollectionId?: number;
    /** 选择画集回调 */
    onSelectCollection?: (collectionId: number) => void;
    /** 加载状态 */
    loading?: boolean;
    /** 是否禁用选择 */
    disabled?: boolean;
}
/**
 * 画集列表组件
 *
 * @param props 组件属性
 * @returns React组件
 */
declare const CollectionList: React__default.FC<CollectionListProps>;

/**
 * ShowMasterpiece 模块 - 预订管理面板组件
 *
 * 管理员查看所有用户预订信息的面板组件
 *
 * @fileoverview 预订管理面板组件
 */

/**
 * 预订管理面板组件属性
 */
interface BookingAdminPanelProps {
    /** 预订数据列表 */
    bookings: BookingAdminData[];
    /** 统计信息 */
    stats: BookingAdminStats;
    /** 加载状态 */
    loading: boolean;
    /** 错误信息 */
    error?: string;
    /** 搜索参数 */
    searchParams: BookingAdminQueryParams;
    /** 刷新数据回调 */
    onRefresh: () => void;
    /** 搜索预订数据回调 */
    onSearch: (params: BookingAdminQueryParams) => Promise<void>;
    /** 清除搜索条件回调 */
    onClearSearch: () => void;
    /** 更新预订状态回调 */
    onUpdateStatus: (id: number, status: BookingStatus, adminNotes?: string) => Promise<void>;
    /** 删除预订回调 */
    onDeleteBooking: (id: number) => Promise<void>;
    /** 导出预订数据回调 */
    onExportBookings: (format?: 'csv' | 'excel') => Promise<void>;
}
/**
 * 预订管理面板组件
 *
 * @param props 组件属性
 * @returns React组件
 */
declare const BookingAdminPanel: React__default.FC<BookingAdminPanelProps>;

/**
 * ShowMasterpiece 模块 - 预订弹窗组件
 *
 * 使用现有的Modal组件包装预订页面，提供弹窗形式的预订功能
 *
 * @fileoverview 预订弹窗组件
 */

/**
 * 预订弹窗组件属性
 */
interface BookingModalProps {
    /** 是否显示弹窗 */
    isOpen: boolean;
    /** 关闭弹窗回调 */
    onClose: () => void;
    /** 弹窗标题 */
    title?: string;
    /** 弹窗宽度 */
    width?: number | string;
    /** 弹窗高度 */
    height?: number | string;
}
/**
 * 预订弹窗组件
 *
 * @param props 组件属性
 * @returns React组件
 */
declare const BookingModal: React__default.FC<BookingModalProps>;

/**
 * ShowMasterpiece 模块 - 预订页面组件
 *
 * 完整的预订页面，包含：
 * - 画集列表展示和选择
 * - 预订表单（QQ号、数量、备注）
 * - 提交和状态管理
 *
 * @fileoverview 预订页面组件
 */

/**
 * 预订页面组件属性
 */
interface BookingPageProps {
    /** 关闭回调 */
    onClose?: () => void;
}
/**
 * 预订页面组件
 *
 * @param props 组件属性
 * @returns React组件
 */
declare const BookingPage: React__default.FC<BookingPageProps>;

/**
 * ShowMasterpiece 模块 - 用户预订历史记录页面组件
 *
 * 用户查看自己的预订历史记录
 *
 * @fileoverview 用户预订历史记录页面组件
 */

/**
 * 用户预订历史记录页面组件属性
 */
interface CartHistoryPageProps {
    /** 用户QQ号 */
    qqNumber: string;
    /** 用户手机号 */
    phoneNumber: string;
}
/**
 * 用户预订历史记录页面组件
 *
 * @param props 组件属性
 * @returns React组件
 */
declare const CartHistoryPage: React__default.FC<CartHistoryPageProps>;

/**
 * ShowMasterpiece 模块 - 限时弹窗组件
 *
 * 基于配置显示限时提醒弹窗
 *
 * @fileoverview 限时弹窗组件
 */

/**
 * 限时弹窗组件属性
 */
interface DeadlinePopupProps {
    /** 弹窗配置 */
    config: PopupConfig;
    /** 是否显示弹窗 */
    isOpen: boolean;
    /** 关闭回调 */
    onClose: () => void;
    /** 确认回调 */
    onConfirm?: () => void;
    /** 取消回调 */
    onCancel?: () => void;
}
/**
 * 限时弹窗组件
 */
declare const DeadlinePopup: React__default.FC<DeadlinePopupProps>;
/**
 * 多弹窗管理组件
 */
interface DeadlinePopupManagerProps {
    /** 弹窗配置列表 */
    configs: PopupConfig[];
    /** 关闭回调 */
    onClose: (configId: string) => void;
    /** 确认回调 */
    onConfirm?: (configId: string) => void;
    /** 取消回调 */
    onCancel?: (configId: string) => void;
}
declare const DeadlinePopupManager: React__default.FC<DeadlinePopupManagerProps>;

/**
 * ShowMasterpiece 模块 - 弹窗配置管理组件
 *
 * 提供弹窗配置的创建、编辑、删除和启用/禁用功能
 *
 * @fileoverview 弹窗配置管理组件
 */

/**
 * 弹窗配置管理组件属性
 */
interface PopupConfigManagementProps {
}
/**
 * 弹窗配置管理组件
 */
declare const PopupConfigManagement: React__default.FC<PopupConfigManagementProps>;

/**
 * ShowMasterpiece模块 - 系统配置管理组件
 *
 * 从全局configManager复制并适配，专门为showmasterpiece模块使用
 * 用于模块独立化准备
 */

declare const SystemConfigManager: React__default.FC;

/**
 * ShowMasterpiece模块 - 新增配置项对话框组件
 *
 * 从全局configManager复制并简化适配
 */

interface ConfigItemFormData {
    key: string;
    displayName: string;
    description: string;
    value: string;
    defaultValue: string;
    type: 'string' | 'number' | 'boolean' | 'password';
    isRequired: boolean;
    isSensitive: boolean;
    validation: string;
    sortOrder: number;
}
interface AddConfigItemDialogProps {
    isOpen: boolean;
    onSave: (data: ConfigItemFormData) => Promise<void>;
    onCancel: () => void;
}
declare const AddConfigItemDialog: React__default.FC<AddConfigItemDialogProps>;

/**
 * ShowMasterpiece模块 - 删除确认对话框组件
 *
 * 从全局configManager复制并适配
 */

interface ConfigItem {
    id: string;
    key: string;
    displayName: string;
    description: string;
    value: string;
    defaultValue: string;
    type: 'string' | 'number' | 'boolean' | 'password';
    isRequired: boolean;
    isSensitive: boolean;
    validation: string | null;
    sortOrder: number;
    isActive: boolean;
    createdAt: string;
    updatedAt: string;
}
interface DeleteConfirmDialogProps {
    isOpen: boolean;
    item: ConfigItem | null;
    onConfirm: () => void;
    onCancel: () => void;
    loading?: boolean;
}
declare const DeleteConfirmDialog: React__default.FC<DeleteConfirmDialogProps>;

/**
 * ShowMasterpiece 主页面组件 - Tailwind CSS 版本
 *
 * 这是ShowMasterpiece模块的主要页面组件，提供完整的画集浏览体验。
 * 支持两种视图模式：画集列表视图和作品详情视图。
 *
 * 主要功能：
 * - 画集列表展示和搜索
 * - 画集详情浏览和作品查看
 * - 用户权限控制和认证
 * - 响应式设计和优化的用户体验
 * - 配置管理入口（需要管理员权限）
 *
 * 技术特点：
 * - 使用自定义Hook进行状态管理
 * - 集成认证系统，支持权限控制
 * - 动态配置加载，支持个性化设置
 * - 性能优化：使用useMemo缓存计算结果
 * - 使用 Tailwind CSS 进行样式管理
 *
 * @component
 */

interface ShowMasterPiecesPageProps {
    /** Next.js 页面参数 */
    params?: Record<string, string>;
    /** Next.js 搜索参数 */
    searchParams?: Record<string, string | string[] | undefined>;
}
/**
 * ShowMasterpiece 主组件
 *
 * 提供认证上下文包装器，确保组件能够访问用户认证状态。
 * 这是模块的对外接口组件。
 *
 * @returns React函数组件
 */
declare function ShowMasterPieces(props?: ShowMasterPiecesPageProps): React__default.JSX.Element;

declare function ConfigPage(): React__default.JSX.Element;

/**
 * ShowMasterpiece 模块 - 用户购物车历史记录页面
 *
 * 用户输入QQ号和手机号查看自己的购物车历史记录
 *
 * @fileoverview 用户历史记录页面
 */

/**
 * 用户历史记录页面组件
 *
 * @returns React组件
 */
declare function UserHistoryPage(): React__default.JSX.Element;

export { AddConfigItemDialog, AddToCartButton, ArtworkOrderManagerV2 as ArtworkOrderManager, ArtworkOrderManagerV2, ArtworkViewer, BookingAdminPanel, BookingModal, BookingPage, CartButton, CartHistoryPage, CartModal, CartPage, CollectionCard, CollectionList, CollectionOrderManagerV2 as CollectionOrderManager, CollectionOrderManagerV2, DeadlinePopup, DeadlinePopupManager, DeleteConfirmDialog, MobileAlbumViewer, PopupConfigManagement, ConfigPage as ShowMasterPiecesConfigPage, UserHistoryPage as ShowMasterPiecesHistoryPage, ShowMasterPieces as ShowMasterPiecesPage, SystemConfigManager, ThumbnailSidebar, UniversalImageUpload };
