import type { FdoMyEInvoiceMarketingProfile, FdoMyEInvoiceMerchantProfile, FdoMyEInvoiceRestaurantProfile, FdoThEInvoiceMarketingProfile, FdoThEInvoiceMerchantProfile, FdoThEInvoiceRestaurantProfile, FdoVnEInvoiceMarketingProfile, FdoVnEInvoiceMerchantProfile, FdoVnEInvoiceRestaurantProfile } from "@/type"; import type { F_E_INVOICE_MERCHANT_TYPE } from "./type/profile/e-invoice-profile.enum"; type BaseMerchantEInvoice = { id: string; name: string; code: string; thumbnail: string; customAttributes: { [key: string]: string; }; type: F_E_INVOICE_MERCHANT_TYPE; profile: FdoMyEInvoiceMerchantProfile | FdoVnEInvoiceMerchantProfile | FdoThEInvoiceMerchantProfile | null; }; export type RestaurantEInvoice = BaseMerchantEInvoice & { type: typeof F_E_INVOICE_MERCHANT_TYPE.enum.restaurant; profile: FdoMyEInvoiceRestaurantProfile | FdoVnEInvoiceRestaurantProfile | FdoThEInvoiceRestaurantProfile; }; export type MarketingEInvoice = BaseMerchantEInvoice & { type: typeof F_E_INVOICE_MERCHANT_TYPE.enum.marketing; businessId: string; profile: FdoMyEInvoiceMarketingProfile | FdoVnEInvoiceMarketingProfile | FdoThEInvoiceMarketingProfile; }; export type MerchantEInvoice = RestaurantEInvoice | MarketingEInvoice; export {};