import type { DrawerProps } from 'antd';
export interface SalesType {
    /** 是否支持代发 */
    isOnce: boolean;
    /** 是否支持集采 */
    isPurchase: boolean;
}
export interface SpecItem {
    /** 规格属性id */
    id: string;
    /** 规格属性名称 */
    name: string;
    /** 规格属性值 */
    value: string;
    /** 规格属性值id */
    valueId: string;
}
export interface SkuListItem {
    /** 商品图片 */
    image: string;
    /** 商品价格 */
    price: number;
    /** 商品规格属性列表 */
    specList: SpecItem[];
    /** 商品规格属性排序 */
    skuPropertyOrder: string;
}
export interface BasicInfo {
    /** 商品图片 */
    images: string[];
    /** 商品视频 */
    video: {
        url: string;
        cover: string;
    };
    /** 商品名称 */
    name: string;
    /** 商品描述 */
    desc: string;
    /** 商品卖点 */
    sellingPoint: string;
    /** 商品库存 */
    stock: number;
    /** 商品品牌 */
    brand: string;
    /** 商品货号 */
    goodsNo: string;
    /** 商品单位 */
    unit: string;
    /** 供应商 */
    supplier: string;
    /** 商品分类 */
    category: string;
    /** 商品税码 */
    taxCode: string;
    /** 商品发票类型 */
    invoiceType: string;
    /** 商品型号 */
    modelNo: string;
    /** 采购员 */
    purchaser: string;
    /** 商品条码 */
    upc: string;
    /** 商品标签 */
    tag: string;
    /** 适用行业 */
    industry: string;
    /** 适用场景 */
    scene: string;
    /** 适用人群 */
    befitPerson: string;
    /** 适用送礼对象 */
    befitPresent: string;
    /** 商品风格 */
    style: string;
    /** 商品包装 */
    packaging: string;
    /** 包装规格 */
    suit: string;
    /** 上市时间 */
    marketTime: string;
    /** 是否支持贴标 */
    isPrintLogo: boolean;
    /** 是否支持定制 */
    isCustom: boolean;
    /** 京东智慧采购价 */
    jdWisdomPurchasePrice: string;
    /** 京东智慧采购链接 */
    jdWisdomPurchaseUrl: string;
    /** 第三方链接 */
    thirdUrl: string;
    /** 是否存在规格 */
    isExistSpec: boolean;
    /** 商品规格列表 */
    skuList: SkuListItem[];
    [key: string]: any;
}
export interface SkuPriceListItem {
    /** 69码 */
    upc: string;
    /** 商品编号 */
    goodsNo: string;
    /** 采购价 */
    purchasePrice: string;
    /** 销售价 */
    salePrice: string;
    /** 市场价 */
    marketPrice: string;
    /** 商品规格属性排序 */
    skuPropertyOrder: string;
}
export interface SalePriceItem {
    /** 最小采购价 */
    purchasePriceMin: string;
    /** 最大采购价 */
    purchasePriceMax: string;
    /** 最小销售价 */
    salePriceMin: string;
    /** 最大销售价 */
    salePriceMax: string;
    /** 最小市场价 */
    marketPriceMin: string;
    /** 最大市场价 */
    marketPriceMax: string;
    /** 商品sku列表 */
    skuPriceList: SkuPriceListItem[];
}
export interface StockInfo {
    /** 库存数 */
    stock: number;
    /** 是否支持现货 */
    isSupportSpot: boolean;
    /** 是否支持订货 */
    isSupportContract: boolean;
    /** 箱规 */
    boxNumber: number;
    /** 出货时间 */
    shipmentDay: number;
    /** 订货最小数量 */
    contractMin: number;
    /** 订货最大数量 */
    contractMax: number;
    /** 订货范围 */
    reserveList: {
        /** 订货数量 */
        number: number;
        /** 预计出货时间 */
        shipmentDay: number;
    }[];
    /** 商品sku列表 */
    skuStockList: {
        /** 商品规格属性排序 */
        skuPropertyOrder: string;
        /** 商品库存 */
        stock: number;
    }[];
}
export interface PurchaseStairListItem {
    /** 最小数量 */
    minNum: number;
    /** 销售价 */
    salePrice: string;
}
export interface OrderInfoListItem {
    /** 下单信息 */
    label: string;
    /** 下单提示 */
    placeholder: string;
    /** 是否必填 */
    isMust: string;
}
export interface SampleSalesInfo {
    /** 是否支持拿样 */
    isSupportSample: boolean;
    /** 样品价格 */
    samplePrice: string;
    /** 样品限购类型 1: 无限制 2: 限购总数 3: 按规格限购 */
    sampleLimitType: 1 | 2 | 3;
    /** 样品限购数量 */
    sampleLimitTotal: number | null;
    /** 样品剩余限购数量 */
    residueLimitTotal: number | null;
    /** 样品限购规则 1: 按企业限售 2: 按人限售 */
    sampleLimitRules: 1 | 2;
    /** 样品限购规则数量 */
    sampleLimitRulesNum: number | null;
    /** 样品价格 */
    skuPriceList: {
        /** 样品价格 */
        samplePrice: string;
        /** 样品限购数量 */
        sampleLimitNum: number;
        /** 样品供应商样品价格 */
        supplierSamplePrice: string;
        /** 商品规格属性排序 */
        skuPropertyOrder: string;
    }[];
    /** 样品库存列表 */
    skuStockList: {
        /** 商品规格属性排序 */
        skuPropertyOrder: string;
        /** 样品库存 */
        stock: number;
    }[];
}
export interface SalesInfo {
    /** 价格有效期 */
    priceEffective: string;
    /** 代发价格信息 */
    onceInfo: Partial<SalePriceItem> | null;
    /** 集采价格信息 */
    purchaseInfo: Partial<SalePriceItem & {
        /** 计量单位 */
        measureUnit: string;
        /** 是否包含税 */
        isContainsTax: boolean;
        /** 销售类型 1: 按阶梯定价 2: 按规格定价 */
        pricingType: 1 | 2;
        /** 阶梯价 */
        stairList: PurchaseStairListItem[];
    }> | null;
    /** 样品信息 */
    sampleSalesInfo: Partial<SampleSalesInfo> | null;
    /** 库存信息 */
    stockInfo: Partial<StockInfo> | null;
    /** 重量体积 */
    weightVolumeInfo: {
        /** 单位重量 */
        weightText: string;
        /** 包装体积 */
        volumeText: string;
    } | null;
    /** 售后服务 */
    afterSalesInfo: {
        /** 7天无理由退货 */
        isAfterSales: boolean;
    } | null;
    /** 下单信息 */
    orderInfoList: OrderInfoListItem[] | null;
}
export type FreightInfoType = {
    /** 运费名称 */
    freightName: string;
    /** 计费模式 按件计费 按重量计费 */
    chargeMode: string;
    /** 不发货地区 */
    noDeliveryRegionNames: string;
    /** 是否包邮 */
    isFreeShipping: boolean;
    /** 运费类型 1: 运费模板 2: 运费说明 */
    freightType: 1 | 2;
    /** 运费说明 */
    freightDescription: string;
    /** 运费规则 */
    rules: {
        /** 配送地区 */
        regionNames: string;
        /** 运费规则 */
        rateText: string;
    }[];
};
export interface FreightInfo {
    /** 代发运费信息 */
    onceFreightInfo: FreightInfoType | null;
    /** 集采运费信息 */
    purchaseFreightInfo: FreightInfoType | null;
    /** 样品运费信息 */
    sampleFreightInfo: FreightInfoType | null;
}
export interface GoodsDetail {
    /** 商品素材列表 */
    materialList: {
        /** 素材文件url */
        fileUrl: string;
        /** 素材文件名称 */
        fileName: string;
        /** 素材文件类型 */
        fileMime: string;
    }[];
    /** 商品详情 */
    detail: string;
}
export interface GoodsInfo {
    /** 是否是自有商品 */
    isSelf?: boolean;
    /** 是否是子供应商 */
    isSubSupplier?: boolean;
    /** 销售类型 */
    salesType: Partial<SalesType>;
    /** 基础信息 */
    basicInfo: Partial<BasicInfo>;
    /** 销售信息 */
    salesInfo: Partial<SalesInfo>;
    /** 运费信息 */
    freightInfo: Partial<FreightInfo>;
    /** 商品素材/详情 */
    goodsDetail: Partial<GoodsDetail>;
}
export interface AuditInfo {
    /** 审核状态 10: 审核中 20: 审核通过 -10: 审核不通过 -20: 审核撤回 */
    status: 10 | 20 | -10 | -20;
    /** 审核类型 10: 交易信息 20: 基础信息 30: 商品下架 40: 商品移除 */
    changeType: 10 | 20 | 30 | 40;
    /** 审核原因 */
    applyReason: string;
    /** 驳回原因 */
    rejectReason: string;
    /** 变更前内容 */
    beforeContent: GoodsInfo;
    /** 变更后内容 */
    changeContent: GoodsInfo;
}
export type RequestData<T> = {
    data: T | undefined;
    success?: boolean;
} & Record<string, any>;
export type HideFieldsType = 'salesType' | 'basicInfo' | 'basicInfo.video' | 'basicInfo.images' | 'basicInfo.name' | 'basicInfo.desc' | 'basicInfo.sellingPoint' | 'basicInfo.goodsNo' | 'basicInfo.modelNo' | 'basicInfo.taxCode' | 'basicInfo.brand' | 'basicInfo.unit' | 'basicInfo.supplier' | 'basicInfo.category' | 'basicInfo.befitPerson' | 'basicInfo.befitPresent' | 'basicInfo.style' | 'basicInfo.packaging' | 'basicInfo.suit' | 'basicInfo.marketTime' | 'basicInfo.tag' | 'basicInfo.industry' | 'basicInfo.scene' | 'basicInfo.skuList' | 'basicInfo.isPrintLogo' | 'basicInfo.isCustom' | 'basicInfo.jdWisdomPurchasePrice' | 'basicInfo.jdWisdomPurchaseUrl' | 'basicInfo.thirdUrl' | 'basicInfo.purchaser' | 'basicInfo.upc' | 'basicInfo.invoiceType' | 'salesInfo' | 'salesInfo.priceEffective' | 'salesInfo.onceInfo' | 'salesInfo.onceInfo.purchasePrice' | 'salesInfo.onceInfo.salePrice' | 'salesInfo.onceInfo.marketPrice' | 'salesInfo.onceInfo.price' | 'salesInfo.purchaseInfo' | 'salesInfo.purchaseInfo.measureUnit' | 'salesInfo.purchaseInfo.isContainsTax' | 'salesInfo.purchaseInfo.pricingType' | 'salesInfo.purchaseInfo.purchasePrice' | 'salesInfo.purchaseInfo.marketPrice' | 'salesInfo.purchaseInfo.stairList' | 'salesInfo.purchaseInfo.price' | 'salesInfo.sampleSalesInfo' | 'salesInfo.sampleSalesInfo.supportSample' | 'salesInfo.sampleSalesInfo.price' | 'salesInfo.sampleSalesInfo.limitTotal' | 'salesInfo.sampleSalesInfo.rules' | 'salesInfo.stockInfo' | 'salesInfo.stockInfo.supplyMode' | 'salesInfo.stockInfo.boxNumber' | 'salesInfo.stockInfo.shipmentDay' | 'salesInfo.stockInfo.stock' | 'salesInfo.stockInfo.reserveList' | 'salesInfo.weightVolumeInfo' | 'salesInfo.weightVolumeInfo.weight' | 'salesInfo.weightVolumeInfo.volume' | 'salesInfo.afterSalesInfo' | 'salesInfo.afterSalesInfo.isAfterSales' | 'salesInfo.orderInfoList' | 'freightInfo' | 'freightInfo.onceFreightInfo' | 'freightInfo.purchaseFreightInfo' | 'freightInfo.sampleFreightInfo' | 'goodsDetail' | 'goodsDetail.materialList' | 'goodsDetail.detail';
export interface GoodsDetailDrawerProps<DataSource = GoodsInfo & AuditInfo> extends DrawerProps {
    /** 展示类型 detail: 商品详情 audit: 审核变更 readAudit: 查看审核 */
    type?: 'detail' | 'audit' | 'readAudit';
    /** 弹窗开关 */
    open?: boolean;
    /** 隐藏字段 */
    /**
     * 需要隐藏的字段，支持传入各信息对象的字段名数组
     * 例如：['isOnce', 'name', 'stock', 'freightTemplate', 'detail']
     */
    hideFields?: HideFieldsType[];
    /** 关闭弹窗 */
    onClose?: () => void;
    /** 请求数据 */
    request?: () => Promise<RequestData<Partial<DataSource>>>;
    /** 通过审核 */
    onPass?: () => void;
    /** 驳回审核 */
    onReject?: (reason: string) => void;
    /** 撤回变更 */
    onWithdraw?: () => void;
}
export interface GoodsDetailDrawerRef {
    data: Partial<GoodsInfo & AuditInfo> | null;
    loading: boolean;
    refresh: () => Promise<Partial<GoodsInfo & AuditInfo> | null>;
}
