import { FetchState, FetchStateAndError, ID } from '../../../commonStateTypes/common'; import { SelectorView } from '../../../commonStateTypes/viewAndReport/viewAndReport'; import { CompanyWithSchema } from '../../../entity/company/companyState'; import { Company } from '../../../entity/company/companyStateTypes'; import { OnboardingCustomerInfo } from '../../../entity/onboardingCustomer/onboardingCustomerState'; import { TenantExternalConnections } from '../../../entity/tenant/tenantState'; import { User } from '../../../entity/user/userState'; import { ZeniAPIStatus } from '../../../responsePayload'; import { RootState } from '../../../rootStateTypes'; import { CompanyDetails } from '../../spendManagement/commonSetup/setupViewState'; import { OnboardingCustomerListUIState, QBOConnectionPool } from './onboardingCockpitViewState'; import { CustomerCreationStatus } from './types/onboardingCockpitViewTypes'; import { OnboardingCustomer, ProductGroupType, ProductType } from './types/onboardingCockpitViewTypes'; export interface NewOnboardingCustomerLocalData extends OnboardingCustomerInfo { companyDetailsLocalData: CompanyDetails; isCustomerCreated: boolean; isCustomerCreationDisabled: boolean; isEmailGroupCreated: boolean; isOnboardingCompanyDetailsCompleted: boolean; selectedProducts: ProductType[]; hubSpotId?: ID; isOnboardingCompleted?: boolean; tenantId?: string; } export interface ProductInfo { code: ProductType; group: ProductGroupType; name: string; } export interface NewOnboardingCustomerView extends SelectorView { allProductsList: ProductInfo[]; customerLocalStoreInitState: FetchState; emailGroupFetchState: FetchStateAndError; isOnboardingAllowedForUser: boolean; newOnboardingCustomerLocalData: Partial; onboardingCompletedCompanies: { companies: Company[]; fetchState: FetchState; error?: ZeniAPIStatus; }; sendInviteFetchState: FetchStateAndError; uiState: OnboardingCustomerListUIState; companyView?: CompanyWithSchema; externalConnections?: TenantExternalConnections; newOnboardedCustomerId?: ID; } export interface OnboardingCockpitView extends SelectorView { customerCreationStatus: CustomerCreationStatus; downloadFetchState: FetchStateAndError; isOnboardingAllowedForUser: boolean; onboardingCustomers: OnboardingCustomer[]; qboConnectionPool: QBOConnectionPool; retryBankAccountConnectionFetchStateByCompanyId: Record; saveFetchState: FetchStateAndError; sendInviteFetchStateByCompanyId: Record; uiState: OnboardingCustomerListUIState; updateStatus: FetchStateAndError; zeniUsers: { fetchState: FetchState; values: User[]; error?: ZeniAPIStatus; }; } export declare const getNewOnboardingCustomerView: (state: RootState) => NewOnboardingCustomerView; export declare const getOnboardingCockpitView: (state: RootState) => OnboardingCockpitView;