import { IAudit } from './audit'; import { ISkIdTitleValue, SkBrand, SkCategory, SkSubCategoryItem, SkValueType } from './etc'; import { ISkOrderList } from './order'; import { SkProductListItem } from './product'; import { ISkUser } from './user'; export declare enum SkCouponType { Code = "CODE", Inject = "INJECT" } export declare enum SkCouponTarget { All = "ALL", Brand = "BRAND", Category = "CATEGORY", SubCategory = "SUBCATEGORY", Product = "PRODUCT" } export declare enum SkCouponTrigger { None = "NONE", All = "ALL", Brand = "BRAND", Category = "CATEGORY", SubCategory = "SUBCATEGORY", Product = "PRODUCT" } export interface ISkCouponCount { total?: number; trash?: number; } export interface ISkCouponListItem extends IAudit { id?: number; title?: string; type?: SkCouponType; startDate?: string; endDate?: string; forever?: boolean; singleCode?: string; activated?: boolean; } export interface ISkCouponDetail extends ISkCouponListItem { usableWithOthers?: boolean; duplicatable?: boolean; anonymous?: boolean; total?: number; used?: number; couponTarget?: SkCouponTarget; couponTargetBrands?: SkBrand[]; couponTargetCategories?: SkCategory[]; couponTargetSubCategories?: SkSubCategoryItem[]; couponTargetProducts?: SkProductListItem[]; couponTrigger?: SkCouponTrigger; couponTriggerAmount?: number; couponTriggerBrands?: SkBrand[]; couponTriggerCategories?: SkCategory[]; couponTriggerSubCategories?: SkSubCategoryItem[]; couponTriggerProducts?: SkProductListItem[]; discountAmount?: number; discountType?: SkValueType; minUsablePrice?: number; } export interface ISkCouponTicket { id?: number; code?: string; coupon?: ISkCouponDetail; order?: ISkOrderList; user?: ISkUser; } export interface ISkCouponTriggerUpdate { couponTrigger?: SkCouponTrigger; couponTriggerAmount?: number; couponTriggerBrandIds?: number[]; couponTriggerCategoryIds?: number[]; couponTriggerSubCategoryIds?: number[]; couponTriggerProductIds?: number[]; } export interface ISkUserCouponInfo { id?: number; title?: string; code?: string; startDate?: string; endDate?: string; forever?: boolean; activated?: boolean; usableWithOthers?: boolean; couponTarget?: SkCouponTarget; couponTargetBrands?: ISkIdTitleValue[]; couponTargetCategories?: ISkIdTitleValue[]; couponTargetSubCategories?: ISkIdTitleValue[]; couponTargetProducts?: ISkIdTitleValue[]; discountAmount?: number; discountType?: SkValueType; minUsablePrice?: number; orderId?: string; paidDate?: string; } export interface ISkUserCouponInfo { id?: number; title?: string; code?: string; startDate?: string; endDate?: string; forever?: boolean; activated?: boolean; usableWithOthers?: boolean; couponTarget?: SkCouponTarget; couponTargetBrands?: ISkIdTitleValue[]; couponTargetCategories?: ISkIdTitleValue[]; couponTargetSubCategories?: ISkIdTitleValue[]; couponTargetProducts?: ISkIdTitleValue[]; discountAmount?: number; discountType?: SkValueType; minUsablePrice?: number; orderId?: string; paidDate?: string; }