import { AddressType, CompanyOfficerLocalData, CompanyOfficerType, ID, NewAddressData } from '@zeniai/client-epic-state';
import { FormSectionProps } from '../../../formElements/common/formSection';
import { Name } from '../../../formElements/nameField/NameField';
/**
 * Component & its Props
 */
export interface AllCompanyOfficersSectionProps extends FormSectionProps {
    companyOfficers: {
        addressStatus?: NewAddressData;
        localData?: CompanyOfficerLocalData;
    }[];
    style?: React.CSSProperties;
    onOfficerAddressClick: (addressType: AddressType) => void;
}
interface CompanyOfficerSectionProps extends FormSectionProps {
    isEmptyCompanyOfficerSection: boolean;
    officer?: CompanyOfficerLocalData;
    officerAddress?: NewAddressData;
    style?: React.CSSProperties;
    onOfficerAddressClick: (addressType: AddressType) => void;
}
export declare function CompanyOfficerSection({ sectionId, isDisabled, style, officer, officerAddress, isEmptyCompanyOfficerSection, onOfficerAddressClick, }: CompanyOfficerSectionProps): import("react/jsx-runtime").JSX.Element;
export declare function AllCompanyOfficersSection({ companyOfficers, sectionId, style, isDisabled, onOfficerAddressClick, }: AllCompanyOfficersSectionProps): import("react/jsx-runtime").JSX.Element;
/**
 * Form Data Type
 */
export interface CompanyOfficerSectionFormData {
    email: string;
    name: Name;
    officerType: CompanyOfficerType;
    phone: string;
    userId?: ID;
}
type FormDataKeys = keyof CompanyOfficerSectionFormData;
export declare const uniqueName: (sectionId: string, key: FormDataKeys) => `${string}.email` | `${string}.phone` | `${string}.userId` | `${string}.officerType` | `${string}.name`;
declare const subFieldUniqueName: (sectionId: string, key: FormDataKeys, subKey: "firstName" | "lastName") => `${string}.email` | `${string}.phone` | `${string}.name.firstName` | `${string}.name.lastName` | `${string}.userId` | `${string}.officerType`;
export type FormDataKeyUniqueNames = ReturnType<typeof subFieldUniqueName>;
export {};
