import { ClientAnalytics } from '@zeniai/client-analytics';
import { AccountingConnectionCreationMode, NewOnboardingCustomerView } from '@zeniai/client-epic-state';
import { MultiSelectWithCheckBoxFieldValue } from '../../../formElements/multiSelectWithCheckBoxField/MultiSelectWithCheckBoxField';
import { Name } from '../../../formElements/nameField/NameField';
import { SingleSelectWithoutClearableFieldValue } from '../../../singleSelectWithoutClearable/SingleSelectWithoutClearableField';
import { CockpitOptionType } from '../../common/cockpitTypes';
declare const companySection = "companySection";
declare const groupSection = "groupSection";
declare const customerSection = "customerSection";
declare const qboConnectionSection = "qboConnectionSection";
export interface CompanyFormData {
    companyDomain: string;
}
export interface GroupFormData {
    groupEmail: string;
    groupName: string;
    groupDescription?: string;
}
export interface CustomerFormData {
    chargebeeId: string;
    company: SingleSelectWithoutClearableFieldValue;
    confirmRealmId: string;
    customerName: Name;
    email: string;
    entityType: SingleSelectWithoutClearableFieldValue;
    hubSpotId: string;
    name: string;
    products: MultiSelectWithCheckBoxFieldValue;
    realmId: string;
}
export interface QBOConnectionFormData {
    accountingConnectionCreationMode?: AccountingConnectionCreationMode;
}
export interface FormData {
    [companySection]: CompanyFormData;
    [customerSection]: CustomerFormData;
    [groupSection]: GroupFormData;
    [qboConnectionSection]: QBOConnectionFormData;
}
export interface OnboardingCustomerPageProps {
    localData: NewOnboardingCustomerView;
    qboConnectClicked: boolean;
    screenType: "create" | "edit";
    analytics?: ClientAnalytics;
    onCloseClick: () => void;
    onCompanyDomainBlurred: (companyEmailDomain: string) => void;
    onOnboardingCustomerDataUpdated: (formData: FormData) => void;
    onQBOConnectClick: () => void;
    onSaveClick: (sendInvite: boolean) => void;
    onViewClick: (selectedCockpitValue?: CockpitOptionType) => void;
    onNavigateToPreOnboarding?: () => void;
}
declare function OnboardingCustomerPage({ localData, screenType, qboConnectClicked, analytics, onOnboardingCustomerDataUpdated, onCloseClick, onSaveClick, onViewClick, onCompanyDomainBlurred, onNavigateToPreOnboarding, onQBOConnectClick, }: Readonly<OnboardingCustomerPageProps>): import("react/jsx-runtime").JSX.Element;
type FormDataKeys = keyof FormData;
export declare const uniqueName: (sectionId: FormDataKeys, key: string) => `companySection.${string}` | `groupSection.${string}` | `customerSection.${string}` | `qboConnectionSection.${string}`;
export type FormDataKeyUniqueNames = ReturnType<typeof uniqueName>;
export default OnboardingCustomerPage;
