import type { FloorRoomCardBooking, FloorRoomCardData } from './floorRoomCardModel'; import { type FloorRoomCardPaymentUiKind } from './floorRoomCardPaymentUi'; import type { FloorRoomCardResolvedDensity } from './floorRoomCardDensity'; export declare type RoomCardStandardBodyType = 'not_arrived' | 'late' | 'payed' | 'payment_required' | 'timeout'; export declare function paymentBadgeClassName(kind: FloorRoomCardPaymentUiKind): string; export declare type RoomCardBodyViewModel = { layout: 'compact' | 'full'; checkoutDomKey: string; cardType: RoomCardStandardBodyType; contactName: string; contactPhoneMasked: string | null; showContactPhone: boolean; /** 每层整段不换行;层与层之间用模板中的 ` · ` 分隔并可换行 */ guestContactSegments: string[]; guestNameCompact: string; timeLabel: string; partySize: number; amountDisplay: string | number; orderNumberDisplay: string | null; amountPrefixLabel: string | null; countdown: string | null; reservedLateOverrun: string | null; occupiedTimeoutOverrun: string | null; paymentAmountClass: string; paymentBadgeClass: string; paymentBadgeText: string; paymentStampText: string; paymentIsPaid: boolean; showLargeAmountRow: boolean; showProgress: boolean; showPaymentStamp: boolean; /** 圆桌单条占用:为 true 时不展示底部圆印章,改在金额后放角标 */ showInlinePaymentBadge: boolean; /** full 布局金额行是否带角标:仅圆桌单条占用 */ showAmountInlineBadge: boolean; /** 多条 compact 占用行:展示金额/徽章/件数;预留行 false */ showCompactCommerceRow: boolean; /** 印章两态:与 {@link FloorRoomCardPaymentUiKind} 一致 */ paymentStampVariant: FloorRoomCardPaymentUiKind; itemsCountLabel: string; /** 多条 compact:件数放进中间滚动区(仅占用行) */ itemsCountInsideScroll: boolean; /** 圆桌单条占用:外缘环形进度由壳层绘制,正文不再展示底部横条 */ showEdgeProgressRing: boolean; /** 方桌单条占用:外缘矩形边框进度由壳层绘制,正文不再展示底部横条 */ showEdgeProgressRectBorder: boolean; progressPercent: number; progressIsTimeout: boolean; nextGuestLine: string | null; /** Next 条联系人分层,与 {@link guestContactSegments} 同一换行规则 */ nextGuestContactSegments: string[]; nextTimeRange: string | null; }; export declare function buildRoomCardBodyViewModel(params: { cardType: RoomCardStandardBodyType; booking: FloorRoomCardBooking; data: FloorRoomCardData; compact: boolean; /** 圆桌图元:占用 full 布局用行内角标替代印章 */ shellShape?: 'rect' | 'circle'; nowMs?: number; floorDensity?: FloorRoomCardResolvedDensity; }): RoomCardBodyViewModel;