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; wallNowMs: number; liveRemainingMin: number; liveRemainingPreciseMin: number; liveStartsInMin: number; liveLateMin: number; boardingSoonBeforeMin: number; idleMain: string; idleSub: string; occupiedCardColor: string; availableCardColor: string; }): VenueWallCardPresentation;