import { ClientAnalytics } from '@zeniai/client-analytics';
import { AdditionalChurnFactor, AdditionalChurnFactors, CompanyHealthMetricViewSelector, CompanyHealthMetricsLocalData, ID } from '@zeniai/client-epic-state';
import { GroupedMultiSelectFieldValue } from '../../../formElements/groupedMultiSelectField/GroupedMultiSelectField';
import { SingleSelectNumericFieldValue } from '../../../formElements/singleSelectNumericField/SingleSelectNumeric';
import { SingleSelectPickerFieldValue } from '../../../formElements/singleSelectPickerField/SingleSelectPickerField';
type FormDataKeys = keyof CompanyHealthMetricsFormData;
declare const uniqueName: (sectionId: string, key: FormDataKeys) => `${string}.customerSatisfactionScore` | `${string}.externalProductServiceExposure` | `${string}.netPromoterScore` | `${string}.additionalChurnFactors`;
export type FormDataKeyUniqueNames = ReturnType<typeof uniqueName>;
export declare const uniqueFormName: (sectionId: ID) => `${string}_form`;
declare const healthMonitorSectionId = "healthMonitorDetails";
declare const netPromoterScore = "netPromoterScore";
declare const customerSatisfactionScore = "customerSatisfactionScore";
declare const externalProductServiceExposure = "externalProductServiceExposure";
declare const additionalChurnFactors = "additionalChurnFactors";
export interface FormData {
    [healthMonitorSectionId]: CompanyHealthMetricsFormData;
}
export interface CompanyHealthMetricsFormData {
    [additionalChurnFactors]: GroupedMultiSelectFieldValue;
    [customerSatisfactionScore]?: SingleSelectNumericFieldValue;
    [externalProductServiceExposure]?: SingleSelectPickerFieldValue;
    [netPromoterScore]?: SingleSelectNumericFieldValue;
}
export interface Props {
    additionalChurnFactorsOptions: AdditionalChurnFactors;
    analytics: ClientAnalytics;
    companyHealthMetricViewSelector: CompanyHealthMetricViewSelector;
    localData: CompanyHealthMetricsLocalData;
    urlSource: boolean;
    onCloseDrawer: () => void;
    onSaveChangesToLocalStore: (localData: CompanyHealthMetricsLocalData) => void;
    onSaveClick: () => void;
}
declare function HealthMonitorDetailDrawer({ localData, companyHealthMetricViewSelector, additionalChurnFactorsOptions, analytics, urlSource, onCloseDrawer, onSaveChangesToLocalStore, onSaveClick, }: Readonly<Props>): import("react/jsx-runtime").JSX.Element;
export default HealthMonitorDetailDrawer;
export interface AdditionalChurnFactorsOptions {
    allOptions: AdditionalChurnFactor[];
    selectedOptions: string[];
}
