import { AllowedValueWithCode } from '../../../commonStateTypes/allowedValue'; import { FetchStateAndError, ID } from '../../../commonStateTypes/common'; import { AccountingConnectionCreationMode } from '../../../entity/company/companyStateTypes'; import { Country } from '../../../entity/countryList/countryListState'; import { FileState } from '../../../entity/file/fileState'; import { PaymentAccount } from '../../../entity/paymentAccount/paymentAccountState'; import { SubscriptionPaymentAccount } from '../../../entity/subscriptionPaymentAccount/subscriptionPaymentAccountState'; import { TenantExternalConnections, TenantProductSettings } from '../../../entity/tenant/tenantState'; import { User } from '../../../entity/user/userState'; import { UserRole } from '../../../entity/userRole/userRoleState'; import { RootState } from '../../../rootStateTypes'; import { AddressUpdatableInfo } from '../../addressView/addressViewState'; import { CompanyOfficerType } from '../../companyView/types/companyPassport/companyUsersLocalData'; import { CompanyView } from '../../companyView/types/companyView'; import { CompanyDetails, CompanyOfficerLocalData, CompanyOfficersDetails } from '../../spendManagement/commonSetup/setupViewState'; import { PlaidConnectionDetails } from '../../spendManagement/plaidAccount/plaidAccountViewState'; import { AiAgentsActivationCounts, AiAgentsActivationPhase, AiAgentsActivationSubview, OnboardingCustomerViewUIState, OnboardingStep, OnboardingSubStep } from './onboardingCustomerViewState'; export interface OnboardingCustomerView { allNationalityCountries: Country[]; allRequiredStepsCompleted: boolean; allSteps: OnboardingStep[]; allStepsCompleted: boolean; companyIndustries: AllowedValueWithCode[]; companyOfficerLocalData: Record; completedSteps: OnboardingStep[]; currentStep: OnboardingStep; currentSubStep: OnboardingSubStep; fetchStatus: FetchStateAndError; halfCompletedSteps: OnboardingStep[]; isInterimEmailSent: boolean; parsingDocumentFileIds: ID[]; paymentAccountFetchStatus: FetchStateAndError; paymentAccountUpdateStatus: FetchStateAndError; pendingSaveDetails: { companyDetails: boolean; officer: boolean; }; plaidConnectionDetails: PlaidConnectionDetails; qboConnected: boolean; saveStatus: FetchStateAndError; uiState: OnboardingCustomerViewUIState; updateStatus: FetchStateAndError; aiFinanceTeamAcknowledgementStatus?: FetchStateAndError; companyDetailsLocalData?: CompanyDetails; companyView?: CompanyView; externalConnections?: TenantExternalConnections; paymentAccount?: PaymentAccount; paymentAccountStatus?: AllowedValueWithCode; subscriptionBillingAddress?: AddressUpdatableInfo; subscriptionPaymentAccount?: SubscriptionPaymentAccount; } export declare function getOnboardingCustomerView(state: RootState, companyId: ID): OnboardingCustomerView; export declare function isOfficerDetailsCompleted(companyOfficers: User[], companyOfficerRoles: UserRole[], officerDetails: CompanyOfficerLocalData, fileState: FileState): boolean; export declare const onboardingStepsData: (isValidConnection: boolean, productSettings: TenantProductSettings, accountingConnectionCreationMode?: AccountingConnectionCreationMode) => { allStepsData: OnboardingStep[]; requiredStepsData: OnboardingStep[]; }; export declare function isCompanyDetailsSavePending(fileState: FileState, company?: CompanyView, primaryContact?: User, companyDetailsLocalData?: CompanyDetails): boolean; export declare const getProductSettingsString: (productSettings: TenantProductSettings | undefined) => string; export declare const getAiAgentsActivationSubview: (state: RootState) => AiAgentsActivationSubview; export declare const getAiAgentsActivationPhases: (state: RootState) => AiAgentsActivationPhase[]; export declare const getAiAgentsActivationCounts: (state: RootState) => AiAgentsActivationCounts;