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<ResourceWallControlPanelProps>;
