export interface IsubscribePlanParams {
    plan: string
    payChannel?: string
}

export interface IpurchaseApiPlanParams {
    plan: string
}

export interface IbindwxParams {
    phoneNumber: string
    code: string
}

export interface IpaginationParams {
    page: number
}

export interface BenefitsDescription {
    enabled: string[]
    disabled: string[]
}
export interface PlansRes {
    level: string
    description: string
    tips: string
    name: string
    price: string
    benefitsDescription: BenefitsDescription
    plan: string
    sort: number
    btnText: string
}

export interface MixPlan {
    plans?: PlansRes[]
    powerPackages?: IpackageItem[]
    tips?: string
}

export interface PowerPackages {
    powerBalanceAmount?: number
    imageBalanceAmount?: number
    powerAmount: number
    expiredTime: string
    effectiveTime: string
    description: string
}
export interface MyPlanRes extends PlansRes {
    expiredTime?: string
    powerAmount?: number
    powerPackages: PowerPackages[]
    duration: string
    sort: number
    isExtraPurchasable: boolean
    shopifyOperateFlag?: ShopifyOperateFlag
}

export type ShopifyOperateFlag = 'canSubscribe' | 'canCancelSubscribe'

export interface IgetPayStatus {
    paymentOrderId: string
}

export interface OrderInfoRes {
    payUrl: string
    paymentOrderId: string
    price: string
    name: string
    isInviteCodeBound: boolean
    plan: string
    level: string
}

export interface IinvoiceParams {
    paymentOrderId: string
    invoiceTitle: string
    invoiceTaxNo: string
    invoiceAddress: string
    invoicePhone: string
    invoiceBankName: string
    invoiceAccountNo: string
    mailingContactPerson: string
    mailingContactPhone: string
    mailingAddress: string
}

export interface InoLoginParams {
    noLogin?: boolean
}

export interface IpayPowerPackageParam {
    packageId: string
    payChannel?: string
}

export interface IpackageItem {
    packageId: string
    name: string
    description: string
    powerAmount: string
    price: string
    discountPrice: string
}

export interface IsameLevelPlans {
    plan: string
    detailDesc1: string
    detailDesc2: string
    name: string
    price: string
    level: string
    tips: string
}
