import { AccountBase, ClassBase, Currency, ID, NestedAccountHierarchyForReport, NestedClassHierarchyForReport, Recommendation, RecommendedAccountBase, RecommendedClassBase, User, VendorDetails, VendorType } from '@zeniai/client-epic-state'; import { CountrySelectFieldValue } from '../../../../../address/addressHelper'; import { AutoCompleteData } from '../../../../../common/autoComplete/autoCompleteProps'; import { FormSectionProps } from '../../../../../formElements/common/formSection'; import { GroupedSingleSelectFieldValue } from '../../../../../formElements/groupedSingleSelectField/GroupedSingleSelectField'; import { UserSingleSelectFieldValue } from '../../../../../formElements/labeledUserSingleSelectField/UserSingleSelectField'; import { SingleSelectFieldValue } from '../../../../../singleSelect/SingleSelectField'; import { OptionType as AutoCompleteOptionType, CreatableAutoCompleteSingleSelectFieldValue } from './../../../../../formElements/creatableAutoCompleteSingleSelectField/CreatableAutoCompleteSingleSelectField'; export interface VendorDetailsFormData { isCategoryRecommendationPrefilled: boolean; isClassRecommendationPrefilled: boolean; isRecommendedCategorySelected: boolean; isRecommendedClassSelected: boolean; isVendor1099: string; recommendedCategory: RecommendedAccountBase | undefined; recommendedClass: RecommendedClassBase | undefined; vendor: CreatableAutoCompleteSingleSelectFieldValue; vendorCategory: GroupedSingleSelectFieldValue; vendorClass: GroupedSingleSelectFieldValue; vendorCountry: CountrySelectFieldValue; vendorCurrency: Currency | undefined; vendorName: string; vendorOwner: UserSingleSelectFieldValue; vendorType: SingleSelectFieldValue; } export type FormDataKeys = keyof VendorDetailsFormData; declare const subFieldUniqueName: (sectionId: string, key: FormDataKeys, subKey?: "currencyCode" | "currencySymbol") => `${string}.vendor` | `${string}.vendorCurrency.currencySymbol` | `${string}.vendorCurrency.currencyCode` | `${string}.recommendedCategory` | `${string}.recommendedClass` | `${string}.vendorName` | `${string}.isRecommendedCategorySelected` | `${string}.isRecommendedClassSelected` | `${string}.isCategoryRecommendationPrefilled` | `${string}.isClassRecommendationPrefilled` | `${string}.isVendor1099` | `${string}.vendorCategory` | `${string}.vendorClass` | `${string}.vendorCountry` | `${string}.vendorCurrency` | `${string}.vendorOwner` | `${string}.vendorType`; export interface VendorSearchAutoComplete { vendorSearchAutoCompleteData?: AutoCompleteData; loadOptions?: (inputValue: string, callback: (defaultOptions: AutoCompleteOptionType[]) => void) => void; } export type FormDataKeyUniqueNames = ReturnType; export interface VendorDetailsSectionProps extends FormSectionProps { accountsHierarchyList: NestedAccountHierarchyForReport[]; allAccounts: AccountBase[]; allClasses: ClassBase[]; classHierarchyList: NestedClassHierarchyForReport[]; currentVendorOption: CreatableAutoCompleteSingleSelectFieldValue; hasInternationalWireTransfer: boolean; page: string; screenType: "create" | "edit"; selectedVendorDetails: VendorDetails; vendorTypeList: VendorType[]; allOwners?: User[]; isAccountingClassesEnabled?: boolean; isLocalCurrencyEnabled?: boolean; readOnlyMode?: boolean; recommendations?: Recommendation[]; selectedAccountId?: ID; selectedClassId?: ID; selectedOwnerId?: ID; selectedType?: string; selectedVendorId?: ID; selectedVendorName?: string; vendorSearchAutoComplete?: VendorSearchAutoComplete; onFetchAndUpdateVendorRecommendations: (vendorName: string) => void; } export declare const VendorDetailsSection: ({ selectedVendorId, selectedVendorDetails, hasInternationalWireTransfer, currentVendorOption, selectedAccountId, selectedClassId, selectedOwnerId, selectedType, selectedVendorName, vendorSearchAutoComplete, allAccounts, allClasses, vendorTypeList, allOwners, screenType, sectionId, recommendations, page, readOnlyMode, accountsHierarchyList, classHierarchyList, isAccountingClassesEnabled, isLocalCurrencyEnabled, onFetchAndUpdateVendorRecommendations, }: VendorDetailsSectionProps) => import("react/jsx-runtime").JSX.Element; export {};