/**
 * 非 comfortable 极简态：独立 DOM（`.rc-tooltip-time-root`），不使用 `.rc-body` / `.rc-progress`。
 * 时间用 antd `Tooltip` 的 `title` 挂在桌名上，`open` 常驻以保持原先「始终可见」的小卡信息密度。
 */
import React from 'react';
import type { FloorRoomCardBooking, FloorRoomCardData } from '../floorRoomCardModel';
import type { RoomCardStandardBodyType } from '../buildCardBodyViewModel';
/**
 * 在标题尾部按 `(N/M)` 形态拼接订单计数：
 * - 仅在 `bookingCount > 0` 时拼；
 * - N = `completeBookingCount ?? 0`（缺失按 0 渲染，与 RoomCardHeaderView 行为一致）；
 * - M = `bookingCount`。
 * 拼到 base 字符串末尾。同源策略复用于多处资源标题：
 * - 小卡 tooltip 标题（`--overflow` 修饰允许越出卡片宽度显示）；
 * - 预约详情 Modal 标题（`ReservationBookingDetailModal`）。
 *
 * 入参用结构化 `BookingCountSource` 而非具体 `FloorRoomCardData`，让不同上游
 * （平面图卡片数据 / 表格行 `PisellReservationTableRow` 等）都能直接复用，
 * 避免在多处重复实现导致格式漂移。
 */
export declare type BookingCountSource = {
    bookingCount?: number;
    completeBookingCount?: number;
};
export declare function appendBookingCountSuffix(baseTitle: string, source: BookingCountSource): string;
export declare function RoomCardTooltipTimeLayout(props: {
    data: FloorRoomCardData;
    booking: FloorRoomCardBooking;
    cardType: RoomCardStandardBodyType;
    shellShape?: 'rect' | 'circle';
    /** 外缘进度（壳层）启用时，隐藏小卡内部线性进度条以避免重复 */
    hideInnerLinearProgress?: boolean;
    headerMainFieldOverride?: string;
    scrollSurfaceHandlers?: Pick<React.HTMLAttributes<HTMLDivElement>, 'onTouchStart' | 'onTouchMove' | 'onTouchEnd' | 'onWheel'>;
}): React.JSX.Element;
/**
 * 空态小卡（方桌 / 圆桌共用）：只有桌名、无时间。
 *
 * 与 {@link RoomCardTooltipTimeLayout} 共用 `rc-tooltip-time-*` DOM 结构，但额外加
 * `--title-only` 修饰类：让 `.rc-tooltip-time-title` 取消 ellipsis 裁切，并允许文本
 * 以 anchor 中心为参考向左右**溢出**卡片宽度（卡内仍以居中点为锚，不挤占周围卡片排版）。
 *
 * 该卡片祖先链上的 `data-tooltip-time='on'` 已把 `pisell-res-floor-room-card`、
 * `__viewport-compensate`、`.rc--tooltip-time`、`.rc-tooltip-time-main` 等全部设为
 * `overflow: visible`，因此 title 文本可直接突破小卡边框显示。
 */
export declare function RoomCardTooltipTitleOnlyLayout(props: {
    data: FloorRoomCardData;
    headerMainFieldOverride?: string;
    scrollSurfaceHandlers?: Pick<React.HTMLAttributes<HTMLDivElement>, 'onTouchStart' | 'onTouchMove' | 'onTouchEnd' | 'onWheel'>;
}): React.JSX.Element;
