import type { FloorMapDataSources, FloorMapMergedItem } from '../types';
/**
 * 数据源行：平面图 dataSources 列表项至少含 `id`（与 {@link FloorMapSceneElementDataBinding.recordId} 对应）。
 */
export declare type FloorMapDataSourceRow = {
    id: string;
    [key: string]: unknown;
};
/**
 * 按画布图元上的 `dataBinding` 在 `dataSources[dataSourceKey]` 中查找对应行。
 * 与 private-materials 预约 `findReservationRow` 算法一致：`recordId` 与行的 `id` 均按字符串比较。
 */
export declare function findFloorMapRowByDataBinding<T extends FloorMapDataSourceRow>(item: FloorMapMergedItem, dataSources: FloorMapDataSources): T | undefined;
/**
 * 当 {@link findFloorMapRowByDataBinding} 无结果时，占位卡可据此选择文案（业务层自行 i18n）。
 */
export declare type FloorMapBindingPlaceholderReason = 'missing_data_source_key' | 'missing_record_id' | 'new_unsaved_slot' | 'record_not_in_list';
/**
 * 若已能解析到数据源行则返回 `null`；否则返回占位原因（不含文案，便于各业务映射 locales）。
 */
export declare function getFloorMapBindingPlaceholderReason(item: FloorMapMergedItem, dataSources: FloorMapDataSources): FloorMapBindingPlaceholderReason | null;
