/**
 * 产品展示配置类型定义
 */
/// <reference types="react" />
import type { ProductCardConfig } from '../../../../plus/productSelect/ProductCard/SkuCard/type';
/** 预设配置的字符串键 */
export declare type ProductDisplayPresetKey = 'product-select' | 'sku-list-a1' | 'sku-list-a2' | 'sku-list-a5' | 'default';
/** ProductSelect 布局配置 */
export interface ProductSelectLayout {
    grid: boolean;
    config: string;
}
export declare type NumberBoolean = 0 | 1;
/** ProductSelect 列表设置 */
export interface ProductListSetting {
    /** 是否显示产品封面 */
    isProductCover?: NumberBoolean;
    /** 产品封面宽度 */
    imgWidth?: string;
    /** 产品封面高度 */
    imgHeight?: string;
    /** 无图封面文字字号 */
    coverTextFontSize?: number | string;
    /** 卡片横向 padding */
    skuCardPaddingX?: number;
    /** 卡片纵向 padding */
    skuCardPaddingY?: number;
    /** 卡片封面与文本间距 */
    gap?: number;
    /** 卡片右侧内容样式 */
    rightStyle?: React.CSSProperties;
    /** 是否显示标题 */
    isTitle?: NumberBoolean;
    /** 是否显示副标题 */
    isSubtitle?: NumberBoolean;
    /** 是否显示价格 */
    isPrice?: NumberBoolean;
    /** 是否显示原价 */
    isOriginPrice?: NumberBoolean;
    /** 是否显示库存 */
    isStock?: NumberBoolean;
}
/** ProductSelect 模式配置 */
export interface ProductSelectConfig {
    /** 是否显示搜索框 */
    showSearch?: boolean;
    /** 是否显示分类Tab */
    showTab?: boolean;
    /** 是否使用紧凑模式 */
    compact?: boolean;
    /** 布局配置 */
    layout?: ProductSelectLayout;
    /** 产品列表设置 */
    productListSetting?: ProductListSetting;
}
/** SkuCard 显示模式 */
export declare type SkuCardDisplayMode = 'display_a1' | 'display_a2' | 'display_a5' | 'display_a9' | 'display_custom';
/**
 * SkuCard 配置
 * 直接使用 ProductCardConfig 类型，保持类型同步
 *
 * @see packages/private-materials/src/plus/productSelect/ProductCard/SkuCard/type.ts ProductCardConfig
 */
export declare type SkuCardAllConfig = ProductCardConfig;
/** List 布局类型 */
export declare type ListLayoutType = 'grid' | 'list';
/** Tab 样式类型 */
export declare type TabStyleType = 'switch' | 'anchor' | 'none';
/** List 组件配置 */
export interface ListConfig {
    /** 布局类型 */
    layout?: ListLayoutType;
    /** 列数 */
    columns?: number;
    /** 是否显示分页 */
    showPagination?: boolean;
    /** 是否显示Tab */
    showTab?: boolean;
    /** Tab 样式类型：switch-切换模式，anchor-锚点模式，none-不显示 */
    tabStyle?: TabStyleType;
    /** Tab 是否吸顶 */
    stickyTop?: boolean;
    /** Tab配置 */
    tabConfig?: any;
    /** 分页配置 */
    paginationConfig?: any;
    [key: string]: any;
}
/** SkuList 模式配置 */
export interface SkuListConfig {
    /** List 组件配置 */
    listConfig?: ListConfig;
    /** SkuCard 配置 */
    skuCardAllConfig?: SkuCardAllConfig;
}
/** 展示模式类型 */
export declare type DisplayMode = 'product-select' | 'sku-list';
/**
 * 产品展示配置
 * 用于配置化控制产品展示的方式
 */
export interface ProductDisplayConfig {
    /** 展示模式 */
    displayMode: DisplayMode;
    /** ProductSelect 模式配置 */
    productSelectConfig?: ProductSelectConfig;
    /** SkuList 模式配置 */
    skuListConfig?: SkuListConfig;
}
/**
 * 产品展示配置预设
 * 支持通过字符串键或直接使用配置对象
 */
export declare const ProductDisplayPresets: Record<ProductDisplayPresetKey, ProductDisplayConfig>;
/**
 * 兼容性：保持原有的导出方式
 * @deprecated 建议使用 ProductDisplayPresets['product-select'] 或字符串键访问
 */
export declare const LegacyProductDisplayPresets: {
    /** @deprecated 使用 ProductDisplayPresets['product-select'] */
    DEFAULT_PRODUCT_SELECT: ProductDisplayConfig;
    /** @deprecated 使用 ProductDisplayPresets['sku-list-a1'] */
    DEFAULT_SKU_LIST_A1: ProductDisplayConfig;
    /** @deprecated 使用 ProductDisplayPresets['sku-list-a2'] */
    DEFAULT_SKU_LIST_A2: ProductDisplayConfig;
    /** @deprecated 使用 ProductDisplayPresets['sku-list-a5'] */
    DEFAULT_SKU_LIST_A5: ProductDisplayConfig;
};
/**
 * 工具函数：将字符串键或配置对象解析为配置对象
 */
export declare function resolveProductDisplayConfig(config?: ProductDisplayPresetKey | ProductDisplayConfig): ProductDisplayConfig;
