import { IAudit } from './audit'; import { ISkAddress } from './etc'; import { ISkFile } from './file'; import { ISkPayment } from './payment'; import { ISkProductDetail } from './product'; import { ISkShipping, SkShippingMethod } from './shipping'; import { ISkAuthor, ISkUser, SkUser } from './user'; export interface ISkOrderCount { total?: number; wait?: number; paid?: number; process?: number; complete?: number; cancel?: number; } export declare enum SkOrderType { Normal = "NORMAL", Admin = "ADMIN", DEALER = "DEALER" } export declare enum SkOrderStatus { Prepare = "PREPARE", Progress = "PROGRESS", Wait = "WAIT", Paid = "PAID", ProcessStart = "PROCESS_START", ProcessPartial = "PROCESS_PARTIAL", Process = "PROCESS", Complete = "COMPLETE", CancelRequest = "CANCEL_REQUEST", CancelSystem = "CANCEL_SYSTEM", Cancel = "CANCEL", Error = "ERROR" } export declare enum SkOrderCancelType { Just = "JUST", ModifyOrder = "MODIFY_ORDER", Wrong = "WRONG", Cheaper = "CHEAPER", Error = "ERROR" } export declare function getSkOrderCancelTypeText(type: SkOrderCancelType): string; export declare function getSkOrderStatusText(status: SkOrderStatus): string; export interface ISkOrderItemOption { id?: number; optionTitle?: string; valueTitle?: string; addedPrice?: number; amount?: number; } export interface ISkOrderList { id?: string; title?: string; type?: SkOrderType; image?: ISkFile; status?: SkOrderStatus; user?: ISkAuthor; total?: number; subtotal?: number; shippingFee?: number; usedPoint?: number; createdDate?: string; } export interface ISkOrderDetail { id?: string; title?: string; type?: SkOrderType; status?: SkOrderStatus; receiverName?: string; email?: string; phone?: string; items?: ISkOrderDetailItem[]; payment?: ISkPayment; cancelType?: SkOrderCancelType; cancelDesc?: string; refundAccount?: string; shipping?: ISkShipping; overseas?: boolean; customsCode?: string; user?: ISkUser; memo?: string; total?: number; subtotal?: number; shippingFee?: number; usedPoint?: number; discount?: number; maxUsablePoint?: number; affiliateKey?: string; createdDate?: string; } export declare class SkOrderDetail { id: string; title: string; type: SkOrderType; status: SkOrderStatus; receiverName: string; email: string; phone: string; items: SkOrderDetailItem[]; payment: ISkPayment; cancelType?: SkOrderCancelType; cancelDesc?: string; refundAccount?: string; shipping: ISkShipping; overseas: boolean; customsCode: string; user: SkUser; memo: string; total: number; subtotal: number; shippingFee: number; usedPoint: number; maxUsablePoint: number; discount: number; affiliateKey?: string; createdDate: string; constructor(data?: ISkOrderDetail); } export interface ISkOrderDetailItem { id?: number; product?: ISkProductDetail; amount?: number; options?: ISkOrderItemOption[]; cartId?: string; price?: number; point?: number; couponDiscount?: number; } export declare class SkOrderDetailItem { id: number; product: ISkProductDetail; amount: number; options: ISkOrderItemOption[]; cartId: string; price: number; point: number; couponDiscount: number; originalPriceAtMoment: number; discountedPriceAtMoment: number; discountedMemo: string; constructor(data?: ISkOrderDetailItem); getSinglePrice(): number; getTotalPrice(): number; checkOptionExists(): boolean; } export interface ISkOrderReqProgress { addressData?: ISkAddress; createAddress?: boolean; usePoint?: number; banker?: string; memo?: string; method?: SkShippingMethod; useCoupons?: string[]; customsCode?: string; } export interface ISkOrderLog extends IAudit { id?: number; type?: 'SYSTEM' | 'MEMO'; message?: string; } export interface ISkValidateCoupon { discountAmount?: number; couponData?: { discountAmount: number; title: string; serial: string; }[]; }