import { default as React } from 'react';
import { ClientAnalytics } from '@zeniai/client-analytics';
import { EntityAutoCompleteView, ID, VendorDetailLocalData, VendorType } from '@zeniai/client-epic-state';
import { AutoCompleteActions, AutoCompleteData } from '../../../../common/autoComplete/autoCompleteProps';
import { FormSectionProps } from '../../../../formElements/common/formSection';
import { OptionType } from '../../../../formElements/creatableAutoCompleteSingleSelectField/CreatableAutoCompleteSingleSelectField';
import { CreatableAutoCompleteSingleSelectFieldValue } from '../../../../formElements/creatableAutoCompleteSingleSelectTitleField/CreatableAutoCompleteSingleSelectTitleField';
import { SingleSelectFieldValue } from '../../../billPay/addOrEditBill/sections/formElements/singleSelect/SingleSelectField';
/**
 * Form Data Type
 */
export interface RecipientDetailsFormData {
    recipient: CreatableAutoCompleteSingleSelectFieldValue;
    recipientEmail: string;
    recipientName: string;
    recipientType: SingleSelectFieldValue;
}
type FormDataKeys = keyof RecipientDetailsFormData;
declare const uniqueName: (sectionId: string, key: FormDataKeys) => `${string}.recipient` | `${string}.recipientEmail` | `${string}.recipientName` | `${string}.recipientType`;
export type RecipientFormKeyUniqueNames = ReturnType<typeof uniqueName>;
/**x
 * Component & its Props
 */
export interface FooterButtons {
    buttonWidth?: number;
    cancelButtonLabel?: string;
    primaryButtonLabel?: string;
    separatorStyle?: React.CSSProperties;
}
export interface RecipientDetailsSectionProps extends FormSectionProps {
    sectionId: string;
    vendorSearchAutoCompleteActions: AutoCompleteActions;
    vendorSearchAutoCompleteData: AutoCompleteData;
    vendorTypeList: VendorType[];
    analytics?: ClientAnalytics;
    formLocalData?: VendorDetailLocalData;
    vendorId?: ID;
}
export declare const RecipientDetailsSection: ({ sectionId, vendorTypeList, formLocalData, vendorSearchAutoCompleteData, vendorSearchAutoCompleteActions, }: Readonly<RecipientDetailsSectionProps>) => import("react/jsx-runtime").JSX.Element;
/**
 * Helper functions
 */
export declare const getDefaultVendorOptions: (selectedVendorId?: ID, selectedVendorName?: string, vendorSearchEntityAutoCompleteView?: EntityAutoCompleteView) => {
    label: string;
    value: string;
}[];
export declare const getVendorOptions: (entityAutoCompleteView?: EntityAutoCompleteView) => OptionType[];
export {};
