/**
 * 平面图 RoomCard：密度档位（布局像素 × viewportScale → visualShortSide）。
 */
import React from 'react';
export declare type FloorRoomCardDensity = 'auto' | 'comfortable' | 'compact' | 'mini' | 'micro';
export declare type FloorRoomCardResolvedDensity = 'comfortable' | 'compact' | 'mini' | 'micro';
export declare const FLOOR_ROOM_CARD_DENSITY_HYSTERESIS_PX = 6;
export declare function pickDensityFromVisualShortSide(visualShortSide: number): FloorRoomCardResolvedDensity;
export declare function applyDensityHysteresis(visualShortSide: number, prev: FloorRoomCardResolvedDensity | null): FloorRoomCardResolvedDensity;
export declare function computeVisualShortSide(layoutW: number, layoutH: number, viewportScale: number): number;
export declare function pickDensityFromLayoutAndViewport(layoutW: number, layoutH: number, viewportScale: number): FloorRoomCardResolvedDensity;
/**
 * 对外仅两种视觉档位：大卡 vs Tooltip 极简小卡（见 {@link toFloorRoomCardUiDensity}）。
 */
export declare type FloorRoomCardUiDensity = 'comfortable' | 'micro';
/**
 * 根节点 `data-density`：方桌仅 **micro** → micro；圆桌 **mini / micro** → micro。
 */
export declare function toFloorRoomCardUiDensity(d: Exclude<FloorRoomCardDensity, 'auto'> | FloorRoomCardResolvedDensity, shellShape?: 'rect' | 'circle'): FloorRoomCardUiDensity;
/**
 * Tooltip 极简小卡壳：方桌仅 **micro**；圆桌 **mini** 与 **micro**。
 */
export declare function isFloorRoomCardTooltipDensity(d: FloorRoomCardResolvedDensity | FloorRoomCardUiDensity, shellShape?: 'rect' | 'circle'): boolean;
export declare const FloorRoomCardDensityContext: React.Context<FloorRoomCardResolvedDensity>;
export declare function useFloorRoomCardDensity(): FloorRoomCardResolvedDensity;
export declare function useResolvedFloorRoomCardDensity(options: {
    rootRef: React.RefObject<HTMLElement | null>;
    density: FloorRoomCardDensity;
    viewportScale: number;
}): FloorRoomCardResolvedDensity;
