import type { RecordBoardResourceWallCardModel } from '../../types';
import { type VenueWallStatusKey, type VenueWallStatusTone } from './venueWallUtils';
/** 与平面图 empty / reserved / occupied 对齐的三种大屏展示态 */
export declare type VenueWallFloorLikeStatus = 'empty' | 'reserved' | 'occupied';
/**
 * 标题胶囊 5 态：在 floorLike 三大类基础上，把 `late` 与 `expired` 拆出独立色与文案，
 * 与当前区一档强调色（红）对齐。
 */
export declare type VenueWallHeaderStatusKey = 'empty' | 'reserved' | 'late' | 'occupied' | 'expired';
/** 由 {@link buildVenueWallCardPresentation} 产出，供 VenueWallCard 渲染层使用 */
export declare type VenueWallCardPresentation = {
    statusKey: VenueWallStatusKey;
    floorLikeStatus: VenueWallFloorLikeStatus;
    /** 标题栏右侧 5 态键，决定胶囊样式（描边/底色变体） */
    headerStatusKey: VenueWallHeaderStatusKey;
    /** 标题栏右侧：空闲 / 预约中 / 迟到 / 占用中 / 超时 */
    headerStatusLabel: string;
    /** 标题胶囊主色（迟到/超时为红，与一档强调色对齐） */
    headerStatusColor: string;
    /** 紫色渐变占用卡 vs 浅色强调卡 */
    cardVariant: 'occupied' | 'accent';
    mainColor: string;
    subColor: string;
    surfaceAccentColor: string;
    /** 当前区一档：剩余时间 / 距开始 / 结束提示等（非布局「块」） */
    primaryEmphasisLine: string;
    primaryEmphasisColor: string;
    /** 二档：预约时段文案 */
    timeRangeLine: string;
    /** 二档：联系人（「Available to Book」等占位已剥离） */
    contactLine: string;
    showProgress: boolean;
    progress: number;
    progressColor: string;
    showEndingSoonMarquee: boolean;
    marqueeText: string;
    marqueeColor: string;
    /** 跑马灯胶囊底：与 {@link primaryEmphasisColor} 同一强调色（半透明叠底） */
    marqueeShellBackground: string;
};
/**
 * 纯函数：三态大屏文案 + 进度 + 条件跑马灯。
 * 右上角标题栏仅保留 empty/reserved/occupied；迟到/超时只出现在当前区一档主提示。
 */
export declare function buildVenueWallCardPresentation(args: {
    card: RecordBoardResourceWallCardModel;
    toneMap: Record<VenueWallStatusKey, VenueWallStatusTone>;
    wallNowMs: number;
    liveRemainingMin: number;
    liveRemainingPreciseMin: number;
    liveStartsInMin: number;
    liveLateMin: number;
    boardingSoonBeforeMin: number;
    idleMain: string;
    idleSub: string;
    occupiedCardColor: string;
    availableCardColor: string;
}): VenueWallCardPresentation;
