import { AccountBase, ClassBase, ID, NestedAccountHierarchyForReport, NestedClassHierarchyForReport, Recommendation, RecommendedAccountBase, RecommendedClassBase, User, VendorsTabVendorDetails } from '@zeniai/client-epic-state';
import { DisableMode } from '../formElements/common/common';
import { FormSectionProps } from '../formElements/common/formSection';
import { GroupedSingleSelectFieldValue } from '../formElements/groupedSingleSelectField/GroupedSingleSelectField';
import { UserSingleSelectFieldValue } from '../formElements/labeledUserSingleSelectField/UserSingleSelectField';
export interface VendorDetailsFormData {
    isRecommendedCategorySelected: boolean;
    isRecommendedClassSelected: boolean;
    recommendedCategory: RecommendedAccountBase | undefined;
    recommendedClass: RecommendedClassBase | undefined;
    vendorCategory: GroupedSingleSelectFieldValue;
    vendorClass: GroupedSingleSelectFieldValue;
    vendorName: string;
    vendorOwner: UserSingleSelectFieldValue;
}
export type FormDataKeys = keyof VendorDetailsFormData;
declare const subFieldUniqueName: (sectionId: string, key: FormDataKeys) => `${string}.recommendedCategory` | `${string}.recommendedClass` | `${string}.vendorName` | `${string}.isRecommendedCategorySelected` | `${string}.isRecommendedClassSelected` | `${string}.vendorCategory` | `${string}.vendorClass` | `${string}.vendorOwner`;
export type FormDataKeyUniqueNames = ReturnType<typeof subFieldUniqueName>;
export interface VendorDetailsSectionProps extends FormSectionProps {
    accountsHierarchyList: NestedAccountHierarchyForReport[];
    allAccounts: AccountBase[];
    allClasses: ClassBase[];
    allOwners: User[];
    classHierarchyList: NestedClassHierarchyForReport[];
    enableRecommendationUpdateCheckbox: boolean;
    isAccountingClassesEnabled: boolean;
    readOnlyMode: boolean;
    recommendations: Recommendation[];
    screenType: "create" | "edit";
    selectedVendorDetails: VendorsTabVendorDetails;
    isDisabled?: DisableMode;
    selectedAccountId?: ID;
    selectedClassId?: ID;
    selectedOwnerId?: ID;
    selectedVendorId?: ID;
    selectedVendorName?: string;
    style?: React.CSSProperties;
}
export declare const VendorDetailsSection: ({ accountsHierarchyList, allAccounts, allClasses, allOwners, classHierarchyList, enableRecommendationUpdateCheckbox, isAccountingClassesEnabled, readOnlyMode, isDisabled, recommendations, sectionId, selectedAccountId, selectedClassId, selectedOwnerId, selectedVendorDetails, }: VendorDetailsSectionProps) => import("react/jsx-runtime").JSX.Element;
export {};
