import { FetchStateAndError, ID } from '../../../commonStateTypes/common'; import { Recommendation } from '../../../commonStateTypes/recommendationBase'; import { RecommendedAccountBase } from '../../../entity/account/accountState'; import { RecommendedClassBase } from '../../../entity/class/classState'; export interface VendorViewState { editVendorStateById: Record; loggedInUserVerification: UserVerificationState; newVendorState: VendorDetailState; } export interface VendorContactInfo { email: string; fullName: string; phone: string; contactInfoType?: string; id?: ID; } export interface VendorDetailLocalData { bankAccountIds: ID[]; contacts: VendorContactInfo[]; deleteFileStatusById: Record; documentIds: ID[]; fileIdsToBeDeleted: ID[]; isCategoryRecommendationPrefilled: boolean; isCategoryUpdateSelected: boolean; isClassRecommendationPrefilled: boolean; isClassUpdateSelected: boolean; paymentInstrumentIds: ID[]; recommendedCategory: RecommendedAccountBase | undefined; recommendedClass: RecommendedClassBase | undefined; updateFileStatusById: Record; countryCode?: string; currencyCode?: string; currencySymbol?: string; isVendor1099?: boolean; recommendations?: Recommendation[]; tentativeVendorName?: string; vendorCategory?: string; vendorClass?: string; vendorId?: ID; vendorName?: string; vendorOwner?: ID; vendorType?: string; } export interface VendorDetailState { fetchStatus: FetchStateAndError; saveStatus: FetchStateAndError; vendorDetailLocalData?: VendorDetailLocalData; } export interface UserVerificationState { otpVerificationStatus: FetchStateAndError; sendOtpStatus: FetchStateAndError; userDetailFetchState: FetchStateAndError; userVerificationStatus: FetchStateAndError; initiateVerification?: boolean; otpChallenge?: string; phone?: string; userId?: ID; }