import { NestedAccountHierarchyForReport } from '../../../commonStateTypes/accountView/nestedAccountID'; import { NestedClassHierarchyForReport } from '../../../commonStateTypes/classesView/nestedClassID'; import { FetchStateAndError, ID } from '../../../commonStateTypes/common'; import { SelectorView } from '../../../commonStateTypes/viewAndReport/viewAndReport'; import { AccountBase } from '../../../entity/account/accountState'; import { Address } from '../../../entity/address/addressState'; import { BankAccount } from '../../../entity/bankAccount/bankAccount'; import { Contact } from '../../../entity/billPay/contact/contact'; import { ClassBase } from '../../../entity/class/classState'; import { Country } from '../../../entity/countryList/countryListState'; import { File } from '../../../entity/file/fileState'; import { Entity } from '../../../entity/genericEntity/entity'; import { PaymentInstrument } from '../../../entity/paymentInstrument/paymentInstrument'; import { User } from '../../../entity/user/userState'; import { VendorSpend } from '../../../entity/vendorExpense/vendorExpenseState'; import { RootState } from '../../../rootStateTypes'; import { AccountListSelectorView } from '../../accountList/accountListSelector'; import { NewAddressData } from '../../addressView/addressViewState'; import { BankAccountSelectorView } from '../../bankAccountView/bankAccountViewSelector'; import { ClassListSelectorView } from '../../classList/classListSelector'; import { TrendWithTransactionsView } from '../../trendWithTransactions/trendWithTransactionsSelector'; import { VendorType } from '../../vendorTypeList/vendorTypeListPayload'; import { UserVerificationState, VendorDetailLocalData } from './vendorViewState'; export interface VendorDetails { bankAccountsUpdated: BankAccount[]; paymentInstrumentsUpdated: PaymentInstrument[]; saveStatus: FetchStateAndError; supportedCountries: Country[]; vendorBasic: VendorBasic | undefined; vendorAddress?: Address; vendorDetailLocalData?: VendorDetailLocalData; vendorNewAddressStatus?: NewAddressData; } export interface VendorBasic { name: string; account?: AccountBase; bankAccounts?: BankAccount[]; class?: ClassBase; contacts?: Contact[]; countryCode?: string; currencyCode?: string; currencySymbol?: string; id?: ID; isVendor1099?: boolean; legalName?: string; owner?: User; paymentInstruments?: PaymentInstrument[]; vendorDocuments?: File[]; vendorType?: VendorType; } export interface VendorViewSelectorView extends BankAccountSelectorView, SelectorView { accountList: AccountListSelectorView; accountsHierarchyList: NestedAccountHierarchyForReport[]; bankAccountCreationState: FetchStateAndError; classHierarchyList: NestedClassHierarchyForReport[]; classList: ClassListSelectorView; deleteFileStatusById: Record; hasInternationalWireTransfer: boolean; hasWireTransfer: boolean; isAccountingClassesEnabled: boolean; loggedInUserVerification: UserVerificationState; ownerList: User[]; updateFileStatusById: Record; vendorTypeList: VendorType[]; editVendorState?: VendorDetails; newVendorState?: VendorDetails; } export interface VendorDetailPageView extends SelectorView { trendWithTransactions: TrendWithTransactionsView; vendorSpend: VendorSpend; vendorViewDetails: VendorViewSelectorView; } export declare const getVendorView: (state: RootState, vendorIdFromUrl?: ID) => VendorViewSelectorView; export declare const getVendorDetailPageView: (state: RootState, vendorId: ID, entity: Entity) => VendorDetailPageView;