import { AddressType, MyProfileSelectorView } from '@zeniai/client-epic-state';
import { AddressValueFieldType } from '../../formElements/addressValueField/AddressValueField';
import { DisableMode } from '../../formElements/common/common';
import { FormSectionProps } from '../../formElements/common/formSection';
import { Name } from '../../formElements/nameField/NameField';
import { UserSingleSelectWithSubtitlesFieldValue } from '../../formElements/userSingleSelectWithSubtitlesField/UserSingleSelectWithSubtitlesField';
import { NonZeniRolesFieldValue } from '../../people/rolesDropDown/RolesDropDown';
import { ZeniRolesFieldValue } from '../../people/zeniRolesDropDown/ZeniRolesDropDownField';
import { SingleSelectWithoutClearableFieldValue } from '../../singleSelectWithoutClearable/SingleSelectWithoutClearableField';
export interface MyProfileUserItemsSectionFormData {
    email: string;
    name: Name;
    dateOfBirth?: Date;
    department?: SingleSelectWithoutClearableFieldValue;
    isPhoneVerified?: boolean;
    mailingAddress?: AddressValueFieldType;
    manager?: UserSingleSelectWithSubtitlesFieldValue;
    nonZeniRole?: NonZeniRolesFieldValue;
    otpChallenge?: string;
    phone?: string;
    role?: ZeniRolesFieldValue;
    syncToken?: string;
}
export type FormDataKeys = keyof MyProfileUserItemsSectionFormData;
export declare const uniqueName: (sectionId: string, key: FormDataKeys) => `${string}.email` | `${string}.phone` | `${string}.isPhoneVerified` | `${string}.syncToken` | `${string}.otpChallenge` | `${string}.dateOfBirth` | `${string}.role` | `${string}.name` | `${string}.mailingAddress` | `${string}.manager` | `${string}.department` | `${string}.nonZeniRole`;
export type FormDataKeyUniqueNames = ReturnType<typeof uniqueName>;
export interface MyProfileUserItemsSectionProps extends FormSectionProps {
    isAccountingClassesEnabled: boolean;
    isBankingOnlyTenant: boolean;
    isCardsOnlyTenant: boolean;
    isChargeCardDisabled: boolean;
    isDisabled: DisableMode;
    isLiteRoleDisabled: boolean;
    isReimbursementDisabled: boolean;
    isTreasuryDisabled: boolean;
    isZeniAccountsDisabled: boolean;
    isZeniFinopsRolesUser: boolean;
    myProfileView: MyProfileSelectorView;
    onAddressClick: (addressType: AddressType) => void;
}
declare const MyProfileSettingsUserItemSection: ({ myProfileView, isZeniFinopsRolesUser, sectionId, isDisabled, isAccountingClassesEnabled, isReimbursementDisabled, isZeniAccountsDisabled, isChargeCardDisabled, isBankingOnlyTenant, isCardsOnlyTenant, isLiteRoleDisabled, isTreasuryDisabled, onAddressClick, }: MyProfileUserItemsSectionProps) => import("react/jsx-runtime").JSX.Element;
export default MyProfileSettingsUserItemSection;
