import { AllowedComponentProps, VNodeProps } from '../common' declare interface SkuAttr { /** 属性名称 */ name: string; /** 属性值列表 */ values: AttrValue[]; /** 属性ID */ id?: string | number; /** 是否必选 */ required?: boolean; } declare interface SkuAttrValue { /** 属性值名称 */ name: string; /** 属性值ID */ id?: string | number; /** 是否禁用 */ disabled?: boolean; /** 自定义样式 */ style?: Record; /** 图片URL(用于显示图片规格) */ imgUrl?: string; /** 预览图片URL */ previewImgUrl?: string; } declare interface SkuSpec { /** 规格名称 */ name: string; /** 规格值列表 */ values: SkuValue[]; /** 规格ID */ id?: string | number; /** 是否必选 */ required?: boolean; } declare interface SkuValue { /** 规格值名称 */ name: string; /** 规格值ID */ id?: string | number; /** 是否禁用 */ disabled?: boolean; /** 自定义样式 */ style?: Record; /** 图片URL(用于显示图片规格) */ imgUrl?: string; /** 预览图片URL */ previewImgUrl?: string; } declare interface SkuItem { /** SKU ID */ id: string | number; /** 商品ID */ goodsId?: string | number; /** 规格组合,如:{颜色: '红色', 尺寸: 'L'} */ specs: Record; /** 价格(分) */ price: number; /** 原价(分) */ originPrice?: number; /** 库存 */ stock: number; /** 商品图片 */ imgUrl?: string; /** 商品名称 */ name?: string; /** 商品编码 */ code?: string; /** 是否禁用 */ disabled?: boolean; } declare interface SkuGoodsInfo { /** 商品ID */ id: string | number; /** 商品标题 */ title: string; /** 商品副标题 */ subtitle?: string; /** 商品图片 */ imgUrl: string; /** 商品图片列表 */ imgUrls?: string[]; /** 商品描述 */ description?: string; /** 默认价格(分) */ price: number; /** 原价(分) */ originPrice?: number; /** 库存 */ stock?: number; /** 商品编码 */ code?: string; /** 商品单位 */ unit?: string; } declare interface SelectedSku { /** 选中的属性组合 */ selectedAttrs: Record; /** 选中的规格组合 */ selectedSpecs: Record; /** 选中的SKU ID */ skuId?: string | number; /** 数量 */ quantity: number; /** 价格(分) */ price: number; /** 原价(分) */ originPrice?: number; /** 库存 */ stock: number; /** 是否有效 */ valid: boolean; /** 商品信息 */ goodsInfo?: SkuGoodsInfo; } declare interface SkuProps { /** 是否显示SKU选择器 */ visible: boolean; /** 商品信息 */ goods: SkuGoodsInfo; /** 属性列表 */ attrs: SkuAttr[]; /** 规格列表 */ specs: SkuSpec[]; /** SKU列表 */ skus: SkuItem[]; /** 初始选中的规格 */ initialSku?: SelectedSku; /** 购买数量限制 */ quantityLimit?: { min?: number; max?: number; step?: number; }; /** 自定义操作按钮 */ customActions?: Array<{ text: string; type?: 'primary' | 'default' | 'warning' | 'danger'; style?: Record; onClick?: () => void; }>; /** 是否显示快速购买按钮 */ showQuickBuy?: boolean; /** 是否显示加入购物车按钮 */ showAddToCart?: boolean; /** 是否显示库存 */ showStock?: boolean; /** 是否显示价格 */ showPrice?: boolean; /** 是否禁用 */ disabled?: boolean; /** 关闭时是否重置 */ resetOnClose?: boolean; /** 自定义样式类名 */ customClass?: string; showClose?: boolean } declare interface SkuEmits { (e: 'update:visible', visible: boolean): void; (e: 'confirm', data: SelectedSku): void; (e: 'add-to-cart', data: SelectedSku): void; (e: 'buy-now', data: SelectedSku): void; (e: 'spec-change', data: SelectedSku): void; (e: 'quantity-change', quantity: number): void; (e: 'close'): void; (e: 'custom-action', index: number): void; } declare interface _Sku { new(): { $props: AllowedComponentProps & VNodeProps & SkuProps $emit: SkuEmits } } export declare const Sku: _Sku export default Sku export type { SkuAttr, SkuAttrValue, SkuSpec, SkuValue, SkuItem, SkuGoodsInfo, SelectedSku, SkuProps, SkuEmits }