import React from 'react';
import { ItemProps, ItemLayout, SelectorVariant, PresetConfig } from '../types';
interface UsePresetItemPropsParams {
    variant?: SelectorVariant;
    itemLayout?: ItemLayout;
    preset?: PresetConfig;
    itemProps?: ItemProps;
    indicator: React.ReactNode;
    numberSelector: React.ReactNode;
    mode?: 'single' | 'multiple';
    disabled?: boolean;
    selected?: boolean;
}
interface PresetItemPropsResult {
    mediaProps: Record<string, any>;
    cardProps: Record<string, any>;
}
/**
 * 根据预设项生成 option Item 的 props
 *
 * 规则说明：
 * 1. variant='default': 使用 Card，borderless，horizontal，selectedType='none'，actionsPosition='left'
 *    1.1 preset.variant='1': renderContent={() => <span>{dataSource._label}</span>}
 *    1.2 preset.variant='2': renderContent={() => <span>{dataSource._label}</span>}
 * 2. variant='media': 使用 MediaItem
 *    2.1 preset.variant='1': size='small', showIndicator=false, 单选shape='circle'，多选shape='square'
 *    2.2 preset.variant='2': size='large', showIndicator=true, shape='circle'
 * 3. variant='card': 根据 itemLayout 区分横向和纵向
 *    3.1 横向（horizontal）:
 *        - preset.variant='2': selectedType='filled'
 *        - preset.variant='5': variant='borderless'
 *        - 默认样式: styles.container = { padding: 8 }
 *        - 使用 lodash merge 深度合并样式，itemProps.styles 优先级更高
 *    3.2 纵向（vertical）:
 *        - 统一使用 borderless，selectedType='none'
 *        - preset.variant='2': indicator 通过 corner 传入
 *    3.3 actions 处理:
 *        - 优先使用 numberSelector（如果存在）
 *        - 其次使用 indicator
 *        - 纵向且 preset.variant='2': indicator 放到 corner，actions 仅展示 numberSelector
 */
declare const usePresetItemProps: (params: UsePresetItemPropsParams) => PresetItemPropsResult;
export default usePresetItemProps;
