import React from 'react'; import { type VenueWallStatusToneOverrides } from './venueWallUtils'; export declare type ResourceWallLayoutPreset = { key: string; label: string; cols: number; rows: number; }; export declare type ResourceWallControlPanelApplyPayload = { resourceIds: string[]; layoutKey: string; customCols: number; customRows: number; pageDurationSec: number; occupiedCardColor: string; availableCardColor: string; boardingSoonBeforeMin: number; statusToneOverrides: VenueWallStatusToneOverrides; /** 与 test.tsx「主文案基准宽度占比」对接,写入 {@link VenueWallCard} */ heroMaxWidthRatio: number; }; export interface ResourceWallControlPanelProps { open: boolean; onClose: () => void; isDark: boolean; layoutPresets: readonly ResourceWallLayoutPreset[]; layoutKey: string; customCols: number; customRows: number; pageDurationSec: number; occupiedCardColor: string; availableCardColor: string; boardingSoonBeforeMin: number; statusToneOverrides: VenueWallStatusToneOverrides | undefined; selectedResourceIds: string[]; onApply: (payload: ResourceWallControlPanelApplyPayload) => void; /** 与 test.tsx「当前分页 / 倒计时」展示一致(1-based current) */ carouselPager: { currentPage: number; totalPages: number; }; /** 主文案宽度占比初值,与 {@link VenueWallCardProps.heroMaxWidthRatio} 一致 */ heroMaxWidthRatio?: number; } /** * 资源墙管理台(Portal):选资源、网格预设/自定义行列、翻页秒数、占用/空闲色、六态说明与色值; * `onApply` 回传负载中含 `diffVenueWallStatusToneOverrides` 压缩结果。 * 源自 test `showAdmin` 对接;关闭(Close / Escape / 遮罩)时提交草稿并关闭。 */ export declare const ResourceWallControlPanel: React.FC;