import { Control } from 'react-hook-form';
import { ClientAnalytics } from '@zeniai/client-analytics';
import { ClassBase, ID, PeopleLocalData, PeoplePageMode, Person, User } from '@zeniai/client-epic-state';
import { FormSectionProps } from '../../formElements/common/formSection';
import { UserSingleSelectWithSubtitlesFieldValue } from '../../formElements/userSingleSelectWithSubtitlesField/UserSingleSelectWithSubtitlesField';
import { SingleSelectWithoutClearableFieldValue } from '../../singleSelectWithoutClearable/SingleSelectWithoutClearableField';
import { ProductWiseRoleOption } from '../nonZeniRoleConstants';
import { NonZeniRolesFieldValue } from '../rolesDropDown/RolesDropDown';
import { ZeniRolesFieldValue } from '../zeniRolesDropDown/ZeniRolesDropDownField';
export interface UserItemsSectionFormData {
    email: string[];
    userIndex: number;
    department?: SingleSelectWithoutClearableFieldValue;
    manager?: UserSingleSelectWithSubtitlesFieldValue;
    nonZeniRole?: NonZeniRolesFieldValue;
    role?: ZeniRolesFieldValue;
}
export type FormDataKeys = keyof UserItemsSectionFormData;
export declare const uniqueName: (sectionId: string, key: FormDataKeys) => `${string}.email` | `${string}.role` | `${string}.manager` | `${string}.department` | `${string}.nonZeniRole` | `${string}.userIndex`;
export declare const formUniqueName: (formId: ID) => `${string}_form`;
export type FormDataKeyUniqueNames = ReturnType<typeof uniqueName>;
export interface UserItemsSectionProps extends FormSectionProps {
    classList: ClassBase[];
    control: Control;
    controllersList: User[];
    customerRoleOptions: ProductWiseRoleOption[];
    index: number;
    isAccountingClassesEnabled: boolean;
    isBankingOnlyTenant: boolean;
    isCardsOnlyTenant: boolean;
    isZeniTenant: boolean;
    managersList: Person[];
    mode: PeoplePageMode;
    user: PeopleLocalData;
    analytics?: ClientAnalytics;
    isEdit?: boolean;
    person?: Person;
    style?: React.CSSProperties;
}
declare const InvitePeopleUserItemSection: ({ user, sectionId, mode, isZeniTenant, managersList, classList, controllersList, index, customerRoleOptions, isEdit, isAccountingClassesEnabled, isBankingOnlyTenant, isCardsOnlyTenant, }: UserItemsSectionProps) => import("react/jsx-runtime").JSX.Element;
export default InvitePeopleUserItemSection;
