import { Currency } from '../../commonStateTypes/amount'; import { ID } from '../../commonStateTypes/common'; import { GlobalMerchantType } from '../../view/globalMerchantView/globalMerchantAutoCompleteView/globalMerchantAutoCompleteViewState'; import { ZeniDate } from '../../zeniDayJS'; import ZeniUrl from '../../zeniUrl'; export interface GlobalMerchantBase { globalMerchantId: ID; globalMerchantName: string; globalMerchantType: GlobalMerchantType; thirdPartyMerchantId: ID | undefined; createTime?: ZeniDate; isActive?: boolean; logo?: ZeniUrl; reason?: string; updateTime?: ZeniDate; websiteUrl?: ZeniUrl; } export interface GlobalMerchantTenantMetaData { qboVendorId: ID; remarks: string; requestorEmail: string; requestorUserId: ID; tenantId: ID; vendorName: string; zeniVendorId: ID; } interface OtherAttributes { labels: string; location: string; } export interface GlobalMerchant extends GlobalMerchantBase { globalMerchantNameInLowerCase: string; isReviewed: boolean; createdByUserId?: ID; createdUserId?: ID; currency?: Currency; displayName?: string; legalName?: string; merchantInsights?: string; otherAttributes?: OtherAttributes; remarks?: string; source?: string; tenantMetadata?: GlobalMerchantTenantMetaData; } export interface TenantMerchant { accountName: string; className: string; oldMerchantName: string; tenantId: ID; tenantMerchantId: ID; tenantMerchantName: string; tenantMerchantType: GlobalMerchantType; tenantName: string; lastUpdatedMerchantNameByUserId?: ID; logo?: ZeniUrl; websiteUrl?: ZeniUrl; } export interface GlobalMerchantState { globalMerchantsById: Record; tenantMerchantsByKey: Record; } export declare function getTenantMerchantKey(tenantId: ID, merchantId: ID): `${string}-${string}`; export type TenantMerchantKey = ReturnType; export {};